システムコールとライブラリのラッパー関数
システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ) 経由で起動される。システムコールの直接起動については、詳細は
intro(2) を参照のこと。いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起動するシステムコールの名前と同じである。例えば、glibc には
truncate() という関数があり、この関数は "truncate"システムコールを起動する。
たいていの場合、glibc のラッパー関数はかなり簡単なもので、システムコールを起動する前に引き数を適切なレジスタにコピーし、システムコールが返った後は
errno を適切に設定する以外は、ほとんど処理を行わない (これらは、ラッパー関数が提供されていない場合にシステムコールを起動するのに使用する
syscall(2) により実行される処理と同じである)。 [注意] システムコールは失敗を示すのに負のエラー番号を呼び出し元に返す。失敗が起こった際には、ラッパー関数は返されたエラー番号を反転して (正の値に変換し)、それを
errno にコピーし、ラッパー関数の呼び出し元に-1 を返す。
しかしながら、時には、ラッパー関数がシステムコールを起動する前に何らかの追加の処理を行う場合がある。例えば、現在、二つの関連するシステムコール
truncate(2) と
truncate64(2) があり、glibc のラッパー関数
truncate() は、カーネルがこれらのシステムコールのうちどちらを提供しているかをチェックし、どちらを採用するかを決定する。
システムコールのリスト
以下は Linux のシステムコールのリストである。このリストで、
Kernel の列は、Linux 2.2 以降で登場したシステムコールが登場したカーネルバージョンを示す。以下に詳細な説明を記す。
-
*
-
カーネルバージョンがない場合、そのシステムコールはカーネル 1.0 もしくはそれ以前に登場した。
-
*
-
システムコールに "1.2"と書かれている場合、そのシステムコールがおそらくバージョン 1.1.x のカーネルで登場し、安定版のカーネルでは 1.2 で初めて登場したことを意味する。 (バージョン 1.2 のカーネルは、カーネル 1.0.6 から分岐し、バージョン 1.1.x の不安定版のカーネル系列として開発された。)
-
*
-
システムコールに "2.0"と書かれている場合、そのシステムコールがおそらくバージョン 1.3.x のカーネルで登場し、安定版のカーネルでは 2.0 で初めて登場したことを意味する。 (バージョン 2.0 のカーネルは、バージョン 1.2.10 あたりのカーネル 1.2.x から分岐し、バージョン 1.3.x の不安定版のカーネル系列として開発された。)
-
*
-
システムコールに "2.2"と書かれている場合、そのシステムコールがおそらくバージョン 2.1.x のカーネルで登場し、安定版のカーネルでは 2.2.0 で初めて登場したことを意味する。 (バージョン 2.2 のカーネルは、カーネル 2.0.21 から分岐し、バージョン 2.1.x の不安定版のカーネル系列として開発された。)
-
*
-
システムコールに "2.4"と書かれている場合、そのシステムコールがおそらくバージョン 2.3.x のカーネルで登場し、安定版のカーネルでは 2.4.0 で初めて登場したことを意味する。 (バージョン 2.4 のカーネルは、カーネル 2.2.8 から分岐し、バージョン 2.3.x の不安定版のカーネル系列として開発された。)
-
*
-
システムコールに "2.6"と書かれている場合、そのシステムコールがおそらくバージョン 2.5.x のカーネルで登場し、安定版のカーネルでは 2.6.0 で初めて登場したことを意味する。 (バージョン 2.6 のカーネルは、カーネル 2.4.15 から分岐し、バージョン 2.5.x の不安定版のカーネル系列として開発された。)
-
*
-
カーネル 2.6.0 から開発モデルは変更され、新しいシステムコールが個々の 2.6.x のリリースでも登場するようになった。その場合、このリストでは、システムコールが登場した厳密なバージョン番号が記載されている。この慣習は、カーネル 2.6.39 の後継となるバージョン 3.x 系列のカーネルでも継続されている。
-
*
-
前の安定版カーネル系列から分岐した後に安定版カーネル系列にシステムコールが追加された場合、以前の安定版カーネル系列にそのシステムコールが移植 (backport) されることがある。例えば、2.6.x で登場したシステムコールのいくつかは、 2.4.15 以降の 2.4.x リリースにも backport された。この場合、システムコールが登場したバージョンとして、両方の安定版系列のバージョンが記載されている。
カーネル 3.9 で利用可能なシステムコールのリストを以下に示す (それ以前のカーネルでだけ利用可能なものも少数だが含まれる):
| System call |
Kernel |
Notes |
| |
| _llseek(2) |
1.2 |
|
| _newselect(2) |
2.0 |
|
| _sysctl(2) |
2.0 |
|
| accept(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| accept4(2) |
2.6.28 |
|
| access(2) |
1.0 |
|
| acct(2) |
1.0 |
|
| add_key(2) |
2.6.11 |
|
| adjtimex(2) |
1.0 |
|
| alarm(2) |
1.0 |
|
| alloc_hugepages(2) |
2.5.36 |
2.5.44 で削除 |
| bdflush(2) |
1.2 |
2.6 以降では非推奨 (何もしない) |
| bind(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| brk(2) |
1.0 |
|
| cacheflush(2) |
1.2 |
x86 にはない |
| capget(2) |
2.2 |
|
| capset(2) |
2.2 |
|
| chdir(2) |
1.0 |
|
| chmod(2) |
1.0 |
|
| chown(2) |
2.2 |
バージョン毎の詳細は chown(2) を参照。 |
| chown32(2) |
2.4 |
|
| chroot(2) |
1.0 |
|
| clock_adjtime(2) |
2.6.39 |
|
| clock_getres(2) |
2.6 |
|
| clock_gettime(2) |
2.6 |
|
| clock_nanosleep(2) |
2.6 |
|
| clock_settime(2) |
2.6 |
|
| clone(2) |
1.0 |
|
| close(2) |
1.0 |
|
| connect(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| creat(2) |
1.0 |
|
| create_module(2) |
|
2.6 で削除 |
| delete_module(2) |
1.0 |
|
| dup(2) |
1.0 |
|
| dup2(2) |
1.0 |
|
| dup3(2) |
2.6.27 |
|
| epoll_create(2) |
2.6 |
|
| epoll_create1(2) |
2.6.27 |
|
| epoll_ctl(2) |
2.6 |
|
| epoll_pwait(2) |
2.6.19 |
|
| epoll_wait(2) |
2.6 |
|
| eventfd(2) |
2.6.22 |
|
| eventfd2(2) |
2.6.27 |
|
| execve(2) |
1.0 |
|
| exit(2) |
1.0 |
|
| exit_group(2) |
2.6 |
|
| faccessat(2) |
2.6.16 |
|
| fadvise64(2) |
2.6 |
|
| fadvise64_64(2) |
2.6 |
|
| fallocate(2) |
2.6.23 |
|
| fanotify_init(2) |
2.6.37 |
|
| fanotify_mark(2) |
2.6.37 |
|
| fchdir(2) |
1.0 |
|
| fchmod(2) |
1.0 |
|
| fchmodat(2) |
2.6.16 |
|
| fchown(2) |
1.0 |
|
| fchown32(2) |
2.4 |
|
| fchownat(2) |
2.6.16 |
|
| fcntl(2) |
1.0 |
|
| fcntl64(2) |
2.4 |
|
| fdatasync(2) |
2.0 |
|
| fgetxattr(2) |
2.6; 2.4.18 |
|
| finit_module(2) |
3.8 |
|
| flistxattr(2) |
2.6; 2.4.18 |
|
| flock(2) |
2.0 |
|
| fork(2) |
1.0 |
|
| free_hugepages(2) |
2.5.36 |
2.5.44 で削除 |
| fremovexattr(2) |
2.6; 2.4.18 |
|
| fsetxattr(2) |
2.6; 2.4.18 |
|
| fstat(2) |
1.0 |
|
| fstat64(2) |
2.4 |
|
| fstatat64(2) |
2.6.16 |
|
| fstatfs(2) |
1.0 |
|
| fstatfs64(2) |
2.6 |
|
| fsync(2) |
1.0 |
1.0 |
| ftruncate(2) |
1.0 |
|
| ftruncate64(2) |
2.4 |
|
| futex(2) |
2.6 |
|
| futimesat(2) |
2.6.16 |
|
| get_kernel_syms(2) |
|
2.6 で削除 |
| get_mempolicy(2) |
2.6.6 |
|
| get_robust_list(2) |
2.6.17 |
|
| get_thread_area(2) |
2.6 |
|
| getcpu(2) |
2.6.19 |
|
| getcwd(2) |
2.2 |
|
| getdents(2) |
2.0 |
|
| getdents64(2) |
2.4 |
|
| getegid(2) |
1.0 |
|
| getegid32(2) |
2.4 |
|
| geteuid(2) |
1.0 |
|
| geteuid32(2) |
2.4 |
|
| getgid(2) |
1.0 |
|
| getgid32(2) |
2.4 |
|
| getgroups(2) |
1.0 |
|
| getgroups32(2) |
2.4 |
|
| getitimer(2) |
1.0 |
|
| getpeername(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| getpagesize(2) |
2.0 |
x86 にはない |
| getpgid(2) |
1.0 |
|
| getpgrp(2) |
1.0 |
|
| getpid(2) |
1.0 |
|
| getppid(2) |
1.0 |
|
| getpriority(2) |
1.0 |
|
| getresgid(2) |
2.2 |
|
| getresgid32(2) |
2.4 |
|
| getresuid(2) |
2.2 |
|
| getresuid32(2) |
2.4 |
|
| getrlimit(2) |
1.0 |
|
| getrusage(2) |
1.0 |
|
| getsid(2) |
2.0 |
|
| getsockname(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| getsockopt(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| gettid(2) |
2.4.11 |
|
| gettimeofday(2) |
1.0 |
|
| getuid(2) |
1.0 |
|
| getuid32(2) |
2.4 |
|
| getxattr(2) |
2.6; 2.4.18 |
|
| init_module(2) |
1.0 |
|
| inotify_add_watch(2) |
2.6.13 |
|
| inotify_init(2) |
2.6.13 |
|
| inotify_init1(2) |
2.6.27 |
|
| inotify_rm_watch(2) |
2.6.13 |
|
| io_cancel(2) |
2.6 |
|
| io_destroy(2) |
2.6 |
|
| io_getevents(2) |
2.6 |
|
| io_setup(2) |
2.6 |
|
| io_submit(2) |
2.6 |
|
| ioctl(2) |
1.0 |
|
| ioperm(2) |
1.0 |
|
| iopl(2) |
1.0 |
|
| ioprio_get(2) |
2.6.13 |
|
| ioprio_set(2) |
2.6.13 |
|
| ipc(2) |
1.0 |
|
| kcmp(2) |
3.5 |
|
| kern_features(2) |
3.7 |
Sparc64 |
| kexec_load(2) |
2.6.13 |
|
| keyctl(2) |
2.6.11 |
|
| kill(2) |
1.0 |
|
| lchown(2) |
1.0 |
バージョン毎の詳細は chown(2) を参照。 |
| lchown32(2) |
2.4 |
|
| lgetxattr(2) |
2.6; 2.4.18 |
|
| link(2) |
1.0 |
|
| linkat(2) |
2.6.16 |
|
| listen(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| listxattr(2) |
2.6; 2.4.18 |
|
| llistxattr(2) |
2.6; 2.4.18 |
|
| lookup_dcookie(2) |
2.6 |
|
| lremovexattr(2) |
2.6; 2.4.18 |
|
| lseek(2) |
1.0 |
|
| lsetxattr(2) |
2.6; 2.4.18 |
|
| lstat(2) |
1.0 |
|
| lstat64(2) |
2.4 |
|
| madvise(2) |
2.4 |
|
| madvise1(2) |
2.4 |
|
| mbind(2) |
2.6.6 |
|
| migrate_pages(2) |
2.6.16 |
|
| mincore(2) |
2.4 |
|
| mkdir(2) |
1.0 |
|
| mkdirat(2) |
2.6.16 |
|
| mknod(2) |
1.0 |
|
| mknodat(2) |
2.6.16 |
|
| mlock(2) |
2.0 |
|
| mlockall(2) |
2.0 |
|
| mmap(2) |
1.0 |
|
| mmap2(2) |
2.4 |
|
| modify_ldt(2) |
1.0 |
|
| mount(2) |
1.0 |
|
| move_pages(2) |
2.6.18 |
|
| mprotect(2) |
1.0 |
|
| mq_getsetattr(2) |
2.6.6 |
|
| mq_notify(2) |
2.6.6 |
|
| mq_open(2) |
2.6.6 |
|
| mq_timedreceive(2) |
2.6.6 |
|
| mq_timedsend(2) |
2.6.6 |
|
| mq_unlink(2) |
2.6.6 |
|
| mremap(2) |
2.0 |
|
| msgctl(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| msgget(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| msgrcv(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| msgsnd(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| msync(2) |
2.0 |
|
| munlock(2) |
2.0 |
|
| munlockall(2) |
2.0 |
|
| munmap(2) |
1.0 |
|
| name_to_handle_at(2) |
2.6.39 |
|
| nanosleep(2) |
2.0 |
|
| nfsservctl(2) |
2.2 |
3.1 で削除 |
| nice(2) |
1.0 |
|
| oldfstat(2) |
1.0 |
|
| oldlstat(2) |
1.0 |
|
| oldolduname(2) |
1.0 |
|
| oldstat(2) |
1.0 |
|
| olduname(2) |
1.0 |
|
| open(2) |
1.0 |
|
| open_by_handle_at(2) |
2.6.39 |
|
| openat(2) |
2.6.16 |
|
| pause(2) |
1.0 |
|
| pciconfig_iobase(2) |
2.2.15; 2.4 |
x86 にはない |
| pciconfig_read(2) |
2.0.26; 2.2 |
x86 にはない |
| pciconfig_write(2) |
2.0.26; 2.2 |
x86 にはない |
| perf_event_open(2) |
2.6.31 |
2.6.31 では perf_counter_open() という名前であった; 2.6.32 で名称変更 |
| personality(2) |
1.2 |
|
| perfctr(2) |
2.2 |
Sparc; 2.6.34 で削除 |
| perfmonctl(2) |
2.4 |
ia64 |
| pipe(2) |
1.0 |
|
| pipe2(2) |
2.6.27 |
|
| pivot_root(2) |
2.4 |
|
| poll(2) |
2.0.36; 2.2 |
|
| ppc_rtas(2) |
|
PowerPC のみ |
| ppoll(2) |
2.6.16 |
|
| prctl(2) |
2.2 |
|
| pread64(2) |
|
2.2 で "pread"として追加; 2.6 で "pread64"に名称変更 |
| preadv(2) |
2.6.30 |
|
| prlimit(2) |
2.6.36 |
|
| process_vm_readv(2) |
3.2 |
|
| process_vm_writev(2) |
3.2 |
|
| pselect6(2) |
2.6.16 |
|
| ptrace(2) |
1.0 |
|
| pwrite64(2) |
|
2.2 で "pwrite"として追加; 2.6 で "pwrite64"に名称変更 |
| pwritev(2) |
2.6.30 |
|
| query_module(2) |
2.2 |
2.6 で削除 |
| quotactl(2) |
1.0 |
|
| read(2) |
1.0 |
|
| readahead(2) |
2.4.13 |
|
| readdir(2) |
1.0 |
|
| readlink(2) |
1.0 |
|
| readlinkat(2) |
2.6.16 |
|
| readv(2) |
2.0 |
|
| reboot(2) |
1.0 |
|
| recv(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| recvfrom(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| recvmsg(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| recvmmsg(2) |
2.6.33 |
|
| remap_file_pages(2) |
2.6 |
|
| removexattr(2) |
2.6; 2.4.18 |
|
| rename(2) |
1.0 |
|
| renameat(2) |
2.6.16 |
|
| request_key(2) |
2.6.11 |
|
| restart_syscall(2) |
2.6 |
|
| rmdir(2) |
1.0 |
|
| rt_sigaction(2) |
2.2 |
|
| rt_sigpending(2) |
2.2 |
|
| rt_sigprocmask(2) |
2.2 |
|
| rt_sigqueueinfo(2) |
2.2 |
|
| rt_sigreturn(2) |
2.2 |
|
| rt_sigsuspend(2) |
2.2 |
|
| rt_sigtimedwait(2) |
2.2 |
|
| rt_tgsigqueueinfo(2) |
2.6.31 |
|
| s390_runtime_instr(2) |
3.7 |
s390 のみ |
| sched_get_priority_max(2) |
2.0 |
|
| sched_get_priority_min(2) |
2.0 |
|
| sched_getaffinity(2) |
2.6 |
|
| sched_getparam(2) |
2.0 |
|
| sched_getscheduler(2) |
2.0 |
|
| sched_rr_get_interval(2) |
2.0 |
|
| sched_setaffinity(2) |
2.6 |
|
| sched_setparam(2) |
2.0 |
|
| sched_setscheduler(2) |
2.0 |
|
| sched_yield(2) |
2.0 |
|
| select(2) |
1.0 |
|
| semctl(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| semget(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| semop(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| semtimedop(2) |
2.6; 2.4.22 |
|
| send(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| sendfile(2) |
2.2 |
|
| sendfile64(2) |
2.6; 2.4.19 |
|
| sendmmsg(2) |
3.0 |
|
| sendmsg(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| sendto(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| set_mempolicy(2) |
2.6.6 |
|
| set_robust_list(2) |
2.6.17 |
|
| set_thread_area(2) |
2.6 |
|
| set_tid_address(2) |
2.6 |
|
| setdomainname(2) |
1.0 |
|
| setfsgid(2) |
1.2 |
|
| setfsgid32(2) |
2.4 |
|
| setfsuid(2) |
1.2 |
|
| setfsuid32(2) |
2.4 |
|
| setgid(2) |
1.0 |
|
| setgid32(2) |
2.4 |
|
| setgroups(2) |
1.0 |
|
| setgroups32(2) |
2.4 |
|
| sethostname(2) |
1.0 |
|
| setitimer(2) |
1.0 |
|
| setns(2) |
3.0 |
|
| setpgid(2) |
1.0 |
|
| setpriority(2) |
1.0 |
|
| setregid(2) |
1.0 |
|
| setregid32(2) |
2.4 |
|
| setresgid(2) |
2.2 |
|
| setresgid32(2) |
2.4 |
|
| setresuid(2) |
2.2 |
|
| setresuid32(2) |
2.4 |
|
| setreuid(2) |
1.0 |
|
| setreuid32(2) |
2.4 |
|
| setrlimit(2) |
1.0 |
|
| setsid(2) |
1.0 |
|
| setsockopt(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| settimeofday(2) |
1.0 |
|
| setuid(2) |
1.0 |
|
| setuid32(2) |
2.4 |
|
| setup(2) |
|
2.2 で削除 |
| setxattr(2) |
2.6; 2.4.18 |
|
| sgetmask(2) |
1.0 |
|
| shmat(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| shmctl(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| shmdt(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| shmget(2) |
2.0 |
ipc(2) の「注意」の節を参照 |
| shutdown(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| sigaction(2) |
1.0 |
|
| sigaltstack(2) |
2.2 |
|
| signal(2) |
1.0 |
|
| signalfd(2) |
2.6.22 |
|
| signalfd4(2) |
2.6.27 |
|
| sigpending(2) |
1.0 |
|
| sigprocmask(2) |
1.0 |
|
| sigreturn(2) |
1.0 |
|
| sigsuspend(2) |
1.0 |
|
| socket(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| socketcall(2) |
1.0 |
|
| socketpair(2) |
2.0 |
socketcall(2) の「注意」の節を参照 |
| splice(2) |
2.6.17 |
|
| spu_create(2) |
2.6.16 |
PowerPC のみ |
| spu_run(2) |
2.6.16 |
PowerPC のみ |
| ssetmask(2) |
1.0 |
|
| stat(2) |
1.0 |
|
| stat64(2) |
2.4 |
|
| statfs(2) |
1.0 |
|
| statfs64(2) |
2.6 |
|
| stime(2) |
1.0 |
|
| subpage_prot(2) |
2.6.25 |
PowerPC で |
| |
|
CONFIG_PPC_64K_PAGES の場合 |
| swapoff(2) |
1.0 |
|
| swapon(2) |
1.0 |
|
| symlink(2) |
1.0 |
|
| symlinkat(2) |
2.6.16 |
|
| sync(2) |
1.0 |
|
| sync_file_range(2) |
2.6.17 |
|
| sync_file_range2(2) |
2.6.22 |
アーキテクチャ固有の sync_file_range(2) の一種 |
| syncfs(2) |
2.6.39 |
|
| sysfs(2) |
1.2 |
|
| sysinfo(2) |
1.0 |
|
| syslog(2) |
1.0 |
|
| tee(2) |
2.6.17 |
|
| tgkill(2) |
2.6 |
|
| time(2) |
1.0 |
|
| timer_create(2) |
2.6 |
|
| timer_delete(2) |
2.6 |
|
| timer_getoverrun(2) |
2.6 |
|
| timer_gettime(2) |
2.6 |
|
| timer_settime(2) |
2.6 |
|
| timerfd_create(2) |
2.6.25 |
|
| timerfd_gettime(2) |
2.6.25 |
|
| timerfd_settime(2) |
2.6.25 |
|
| times(2) |
1.0 |
|
| tkill(2) |
2.6; 2.4.22 |
|
| truncate(2) |
1.0 |
|
| truncate64(2) |
2.4 |
|
| ugetrlimit(2) |
2.4 |
|
| umask(2) |
1.0 |
|
| umount(2) |
1.0 |
|
| umount2(2) |
2.2 |
|
| uname(2) |
1.0 |
|
| unlink(2) |
1.0 |
|
| unlinkat(2) |
2.6.16 |
|
| unshare(2) |
2.6.16 |
|
| uselib(2) |
1.0 |
|
| ustat(2) |
1.0 |
|
| utime(2) |
1.0 |
|
| utimensat(2) |
2.6.22 |
|
| utimes(2) |
2.2 |
|
| utrap_install(2) |
2.2 |
Sparc |
| vfork(2) |
2.2 |
|
| vhangup(2) |
1.0 |
|
| vm86old(2) |
1.0 |
以前は "vm86"; 2.0.28/2.2 で改名された |
| vm86(2) |
2.0.28; 2.2 |
|
| vmsplice(2) |
2.6.17 |
|
| wait4(2) |
1.0 |
|
| waitid(2) |
2.6.10 |
|
| waitpid(2) |
1.0 |
|
| write(2) |
1.0 |
|
| writev(2) |
2.0 |
|
x86-32 を含む多くのプラットフォームでは、ソケット関連のシステムコールは (glibc のラッパー関数を介してだが) すべて socketcall(2) 経由に多重されている。同様に、System V IPC 関連のシステムコールは ipc(2) 経由に多重されている。
以下のシステムコールは、システムコール・テーブルにスロットが予約されているが、標準のカーネルには実装されていない: afs_syscall(2), break(2), ftime(2), getpmsg(2), gtty(2), idle(2), lock(2), madvise1(2), mpx(2), phys(2), prof(2), profil(2), putpmsg(2), security(2), stty(2), tuxcall(2), ulimit(2), vserver(2) ( unimplemented(2) も参照)。しかし、 ftime(3), profil(3), ulimit(3) はライブラリ・ルーチンとして実装されている。 phys(2) 用の場所は 2.1.116 以降では umount(2) 用に使用されている;将来においても phys(2) は実装されない。 getpmsg(2) と putpmsg(2) は STREAMS 対応のパッチが適用されたカーネル用であり、標準のカーネルに登場することはないかもしれない。
set_zone_reclaim(2) は少しの間だけ存在した。 Linux 2.6.13 で追加され、2.6.16 で削除された。このシステムコールがユーザ空間から使える状態になったことはない。