이 름
none − 모 든 시 스 템 콜 의 목 록
사 용 법
리 눅 스 2.0 시 스 템 콜
설 명
리 눅 스 2.0.34 의 경 우 , /usr/include/asm/unistd.h에 164개 의 시 스 템 콜 이 나 열 되 어 있 다 . 이 맨 페 이 지 는 그 것 들 을 나 열 한 다 .
_llseek(2), _newselect(2), _sysctl(2), access(2), acct(2), adjtimex(2), afs_syscall, alarm(2), bdflush(2), break, brk(2), chdir(2), chmod(2), chown(2), chroot(2), clone(2), close(2), creat(2), create_module(2), delete_module(2), dup(2), dup2(2), execve(2), exit(2), fchdir(2), fchmod(2), fchown(2), fcntl(2), fdatasync(2), flock(2), fork(2), fstat(2), fstatfs(2), fsync(2), ftime, ftruncate(2), get_kernel_syms(2), getdents(2), getegid(2), geteuid(2), getgid(2), getgroups(2), getitimer(2), getpgid(2), getpgrp(2), getpid(2), getppid(2), getpriority(2), getrlimit(2), getrusage(2), getsid(2), gettimeofday(2), getuid(2), gtty, idle(2), init_module(2), ioctl(2), ioperm(2), iopl(2), ipc(2), kill(2), link(2), lock, lseek(2), lstat(2), mkdir(2), mknod(2), mlock(2), mlockall(2), mmap(2), modify_ldt(2), mount(2), mprotect(2), mpx, mremap(2), msync(2), munlock(2), munlockall(2), munmap(2), nanosleep(2), nice(2), oldfstat, oldlstat, oldolduname, oldstat, olduname, open(2), pause(2), personality(2), phys, pipe(2), prof, profil, ptrace(2), quotactl(2), read(2), readdir(2), readlink(2), readv(2), reboot(2), rename(2), rmdir(2), sched_get_priority_max(2), sched_get_priority_min(2), sched_getparam(2), sched_getscheduler(2), sched_rr_get_interval(2), sched_setparam(2), sched_setscheduler(2), sched_yield(2), select(2), setdomainname(2), setfsgid(2), setfsuid(2), setgid(2), setgroups(2), sethostname(2), setitimer(2), setpgid(2), setpriority(2), setregid(2), setreuid(2), setrlimit(2), setsid(2), settimeofday(2), setuid(2), setup(2), sgetmask(2), sigaction(2), signal(2), sigpending(2), sigprocmask(2), sigreturn(2), sigsuspend(2), socketcall(2), ssetmask(2), stat(2), statfs(2), stime(2), stty, swapoff(2), swapon(2), symlink(2), sync(2), sysfs(2), sysinfo(2), syslog(2), time(2), times(2), truncate(2), ulimit, umask(2), umount(2), uname(2), unlink(2), uselib(2), ustat(2), utime(2), vhangup(2), vm86(2), wait4(2), waitpid(2), write(2), writev(2).
이 상 의 것 에 서 5개 는 더 이 상 사 용 되 지 않 는 것 이 다 . 즉 , oldfstat, oldlstat, oldolduname, oldstat와 olduname (obsolete(2) 참 조 ). 그 리 고 11개 는 구 현 되 지 않 았 다 . 즉 , afs_syscall, break, ftime, gtty, lock, mpx, phys, prof, profil, stty와 ulimit (unimplemented(2) 참 조 ). 그 러 나 , ftime(3), profil(3)과 ulimit(3)는 라 이 브 러 리 루 틴 으 로 존 재 한 다 .
간 단 히 말 해 , /usr/include/asm/unistd.h 파 일 의 __NR_xxx 상 수 로 정 의 된 시 스 템 콜 의 코 드 는 커 널 소 스 의 sys_xxx() 루 틴 이 다 . (i386의 디 스 패 치 (dispatch) 테 이 블 은 /usr/src/linux/arch/i386/kernel/entry.S에 정 의 된 다 .)
그 러 나 이 전 의 시 스 템 콜 이 새 로 운 것 으 로 대 치 되 고 이 를 체 계 적 으 로 정 리 하 지 못 했 기 때 문 에 이 규 칙 에 는 많 은 예 외 가 있 다 . 리 눅 스 2.0.34에 서 의 세 부 적 인 사 항 은 다 음 과 같 다 .
__NR_oldstat와 __NR_stat는 sys_stat()와 sys_newstat() 루 틴 을 가 리 킨 다 . fstat 와 lstat에 대 해 서 도 같 다 . 유 사 하 게 , __NR_oldolduname, __NR_olduname과 __NR_uname은 sys_oldname(), sys_uname()과 sys_newuname() 루 틴 을 가 리 킨 다 . 따 라 서 , __NR_stat와 __NR_uname은 항 상 최 신 버 전 의 시 스 템 콜 을 가 리 키 고 , 이 전 의 것 은 호 환 성 을 위 해 둔 다 .
select와 mmap는 다 르 다 . 이 는 5개 이 상 의 인 자 를 사 용 하 여 i386에 서 는 인 자 전 달 하 는 방 법 이 문 제 를 일 으 킨 다 . 그 래 서 다 른 아 키 텍 쳐 에 서 는 __NR_select와 __NR_mmap에 해 당 하 는 sys_select()와 sys_mmap()이 있 지 만 , i386에 는 대 신 old_select()와 old_mmap()을 (인 자 블 럭 의 포 인 터 를 사 용 하 는 함 수 들 이 다 ) 가 리 킨 다 . 요 즘 은 5개 의 인 자 를 넘 기 는 것 이 더 이 상 문 제 되 지 않 아 , sys_select()를 바 로 가 리 키 는 __NR_newselect가 (libc 6에 서 사 용 된 다 ) 존 재 한 다 .
두 개 의 시 스 템 콜 번 호 , __NR__llseek와 __NR__sysctl은 sys_llseek()와 sys_sysctl()에 는 없 는 언 더 스 코 어 (_)가 더 붙 는 다 .
old_reddir()에 해 당 하 는 __NR_readdir이 있 다 . 이 는 한 번 에 최 대 한 개 의 디 렉 토 리 항 목 밖 에 는 읽 어 올 수 없 다 . 이 는 sys_getdents()로 대 치 된 다 .
마 지 막 으 로 , 166 시 스 템 콜 , sys_vm86()에 대 해 서 는 해 당 매 크 로 가 정 의 되 지 않 는 다 . 이 는 __NR_vm86의 sys_vm86old()를 대 치 한 다 .
역 자
임 종 균 <hermes44 [AT] secsm.org>, 2000년 4월 19일