SYSCALLS(2)

名前
none - システム・コールのリスト

書式
Linux 2.0 システム・コール

説明
Linux 2.0.34 において以下の 164 のシステム・コールが /usr/include/asm/unistd.h にリストされている。 このマニュアル・ページはそれらをリストにしている。 (もしこれをブラウザーで見ている場合にはそれらへのハイパーリンクが 提供される。) _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). 上記のうち oldfstat, oldlstat, oldolduname, oldstat, olduname の 5個は廃止(obsolete)されている(obsolete(2) も参照)。 afs_syscall, break, ftime, gtty, lock, mpx, phys, prof, profil, stty, ulimit の 11 個は実際には実装されていない(unimplemented(2) も参照)、 しかし ftime(3), profil(3), ulimit(3) はライブラリ・ルーチンとして 存在している。 phys のための場所は 2.1.116 以降は umount2 のために使用されている; 将来においても phys は実装されない。 /usr/include/asm/unistd.h に定義されている__NR_xxx という名前を持つシステム・コールに 属するコードは、たいていはカーネル・ソースの sys_xxx() というルーチンとして見つけることができる。 ( i386 における実行テーブルは /usr/src/linux/arch/i386/kernel/entry.S に見つけるこができる。) しかしこれには多くの例外が存在する。古いシステム・コールは新しいものに 置き換えられつつあり、これはそれほど系統的には扱われていないためである。 以下は Linux 2.0.34 における詳細である。 __NR_oldstat と __NR_stat という定義ははそれぞれ sys_stat() と sys_newstat() というルーチンを参照しており、同様に fstat と lstat を参照している。 同様に __NR_oldolduname, __NR_olduname, __NR_uname という定義は sys_olduname(), sys_uname(), sys_newuname() というルーチンを参照している。 このように __NR_stat と __NR_uname は常にそのシステム・コールの 最新バージョンを参照しており、下位互換性のために古いバージョンの ものもある。 これは select と mmapでは異っている。 これらは五つ以上のパラメーターを使用し、i386 で使用される パラメーターの受け渡しに問題が生じる。それで、他のアーキテクチャーでは sys_select() と sys_mmap() に対応する __NR_select と __NR_mmap を 持っているが、i386 では代りに old_select() と old_mmap() という 名前で見つけることができる(これらのルーチンはパラメーター・ブロック へのポインターを使用する。) 現在では五つのパラメーターを渡すことは もはや問題ではなく、(libc 6 で使用される) __NR__newselect では 直接 sys_select() に対応している。 他の二つのシステム・コール__NR__llseek と __NR__sysctl は sys_llseek() と sys_sysctl() には存在しない 追加のアンダースコアを持っている。 old_readdir() に対応する __NR_readdir が存在する。 これは一回につき一つのディレクトリしか読み込めない。 これは sys_getdents() によって置き換えられた。 最後に、sys_vm86() というエントリを持つ 166番のシステム・コールは シンボリック名を持たない。このバージョンは __NR_vm86 という名前を 持つ sys_vm86old() を置き換える。