Often the glibc wrapper function is quite thin, doing little work other than copying arguments to the right registers before invoking the system call, and then setting errno appropriately after the system call has returned. (These are the same steps that are performed by syscall(2), which can be used to invoke system calls for which no wrapper function is provided.) Note: system calls indicate a failure by returning a negative error number to the caller on architectures without a separate error register/flag, as noted in syscall(2); when this happens, the wrapper function negates the returned error number (to make it positive), copies it to errno, and returns -1 to the caller of the wrapper.
しかしながら、時には、ラッパー関数がシステムコールを起動する前に 何らかの追加の処理を行う場合がある。 例えば、現在、 二つの関連するシステムコール truncate(2) と truncate64(2) があり、glibc のラッパー関数 truncate() は、カーネルがこれらのシステムコールのうちどちらを提供しているかをチェックし、 どちらを採用するかを決定する。
カーネル 5.10 で利用可能なシステムコールのリストを以下に示す (それ以前のカーネルでだけ利用可能なものも少数だが含まれる):
System call | Kernel | Notes |
_llseek(2) | 1.2 | |
_newselect(2) | 2.0 | |
_sysctl(2) | 2.0 | Removed in 5.5 |
accept(2) | 2.0 | socketcall(2) の「注意」の節を参照 |
accept4(2) | 2.6.28 | |
access(2) | 1.0 | |
acct(2) | 1.0 | |
add_key(2) | 2.6.10 | |
adjtimex(2) | 1.0 | |
alarm(2) | 1.0 | |
alloc_hugepages(2) | 2.5.36 | 2.5.44 で削除 |
arc_gettls(2) |
3.9 | ARC のみ |
arc_settls(2) |
3.9 | ARC のみ |
arc_usr_cmpxchg(2) |
4.9 | ARC のみ |
arch_prctl(2) |
2.6 | x86_64, x86 since 4.12 |
atomic_barrier(2) |
2.6.34 | m68k のみ |
atomic_cmpxchg_32(2) | 2.6.34 | m68k のみ |
bdflush(2) | 1.2 | 2.6 以降で非推奨 (何もしない) |
bind(2) | 2.0 | socketcall(2) の「注意」の節を参照 |
bpf(2) | 3.18 | |
brk(2) | 1.0 | |
breakpoint(2) |
2.2 | ARM OABI only, defined with __ARM_NR prefix |
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 | |
clone2(2) |
2.4 | IA-64 のみ |
clone(2) | 1.0 | |
clone3(2) |
5.3 | |
close(2) | 1.0 | |
close_range(2) |
5.9 | |
connect(2) | 2.0 | socketcall(2) の「注意」の節を参照 |
copy_file_range(2) |
4.5 | |
creat(2) | 1.0 | |
create_module(2) | 1.0 | 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 | |
execv(2) |
2.0 | SPARC/SPARC64 のみ、 SunOS との互換性のため |
execve(2) | 1.0 | |
execveat(2) | 3.19 | |
exit(2) | 1.0 | |
exit_group(2) | 2.6 | |
faccessat(2) | 2.6.16 | |
faccessat2(2) |
5.8 | |
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 | |
fsconfig(2) |
5.2 | |
fsetxattr(2) | 2.6; 2.4.18 | |
fsmount(2) |
5.2 | |
fsopen(2) |
5.2 | |
fspick(2) |
5.2 | |
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 | |
ftruncate(2) | 1.0 | |
ftruncate64(2) | 2.4 | |
futex(2) | 2.6 | |
futimesat(2) | 2.6.16 | |
get_kernel_syms(2) | 1.0 | 2.6 で削除 |
get_mempolicy(2) | 2.6.6 | |
get_robust_list(2) | 2.6.17 | |
get_thread_area(2) | 2.6 | |
get_tls(2) |
4.15 | ARM OABI only, has __ARM_NR prefix |
getcpu(2) | 2.6.19 | |
getcwd(2) | 2.2 | |
getdents(2) | 2.0 | |
getdents64(2) | 2.4 | |
getdomainname(2) |
2.2 | SPARC, SPARC64; available as osf_getdomainname(2) on Alpha since Linux 2.0 |
getdtablesize(2) |
2.0 | SPARC (2.6.26 で削除), available on Alpha as osf_getdtablesize(2) |
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 | |
gethostname(2) |
2.0 | Alpha, was available on SPARC up to Linux 2.6.26 |
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 | |
getrandom(2) | 3.17 | |
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 | |
getunwind(2) |
2.4.8 | IA-64 only; deprecated |
getxattr(2) | 2.6; 2.4.18 | |
getxgid(2) |
2.0 | Alpha のみ; 「注意」を参照 |
getxpid(2) |
2.0 | Alpha のみ; 「注意」を参照 |
getxuid(2) |
2.0 | Alpha のみ; 「注意」を参照 |
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_pgetevents(2) |
4.18 | |
io_setup(2) | 2.6 | |
io_submit(2) | 2.6 | |
io_uring_enter(2) |
5.1 | |
io_uring_register(2) |
5.1 | |
io_uring_setup(2) |
5.1 | |
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_file_load(2) | 3.17 | |
kexec_load(2) | 2.6.13 | |
keyctl(2) | 2.6.10 | |
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 | |
mbind(2) | 2.6.6 | |
memory_ordering(2) |
2.2 | SPARC64 のみ |
membarrier(2) |
3.17 | |
memfd_create(2) | 3.17 | |
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 | |
mlock2(2) |
4.4 | |
mlockall(2) | 2.0 | |
mmap(2) | 1.0 | |
mmap2(2) | 2.4 | |
modify_ldt(2) | 1.0 | |
mount(2) | 1.0 | |
move_mount(2) |
5.2 | |
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 | |
newfstatat(2) |
2.6.16 | See stat(2) |
nfsservctl(2) | 2.2 | 3.1 で削除 |
nice(2) | 1.0 | |
old_adjtimex(2) |
2.0 | Alpha のみ; 「注意」を参照 |
old_getrlimit(2) |
2.4 | Old variant of getrlimit(2) that used a different value for RLIM_INFINITY |
oldfstat(2) | 1.0 | |
oldlstat(2) | 1.0 | |
oldolduname(2) | 1.0 | |
oldstat(2) | 1.0 | |
oldumount(2) |
2.4.116 | Name of the old umount(2) syscall on Alpha |
olduname(2) | 1.0 | |
open(2) | 1.0 | |
open_by_handle_at(2) | 2.6.39 | |
open_tree(2) |
5.2 | |
openat(2) | 2.6.16 | |
openat2(2) |
5.6 | |
or1k_atomic(2) |
3.1 | OpenRISC 1000 のみ |
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 | IA-64 のみ |
pidfd_getfd(2) |
5.6 | |
pidfd_send_signal(2) |
5.1 | |
pidfd_open(2) |
5.3 | |
pipe(2) | 1.0 | |
pipe2(2) | 2.6.27 | |
pivot_root(2) | 2.4 | |
pkey_alloc(2) |
4.8 | |
pkey_free(2) |
4.8 | |
pkey_mprotect(2) |
4.8 | |
poll(2) | 2.0.36; 2.2 | |
ppoll(2) | 2.6.16 | |
prctl(2) | 2.2 | |
pread64(2) | 2.2 で "pread" として追加; 2.6 で "pread64" に名称変更 |
|
preadv(2) | 2.6.30 | |
preadv2(2) |
4.6 | |
prlimit64(2) | 2.6.36 | |
process_madvise(2) |
5.10 | |
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 | |
pwritev2(2) |
4.6 | |
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 | 3.16 以降では非推奨 |
removexattr(2) | 2.6; 2.4.18 | |
rename(2) | 1.0 | |
renameat(2) | 2.6.16 | |
renameat2(2) | 3.15 | |
request_key(2) | 2.6.10 | |
restart_syscall(2) | 2.6 | |
riscv_flush_icache(2) |
4.15 | RISC-V のみ |
rmdir(2) | 1.0 | |
rseq(2) |
4.18 | |
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 | |
rtas(2) |
2.6.2 | PowerPC/PowerPC64 のみ |
s390_runtime_instr(2) | 3.7 | s390 のみ |
s390_pci_mmio_read(2) | 3.19 | s390 のみ |
s390_pci_mmio_write(2) | 3.19 | s390 のみ |
s390_sthyi(2) |
4.15 | s390 のみ |
s390_guarded_storage(2) |
4.12 | s390 のみ |
sched_get_affinity(2) |
2.6 | Name of sched_getaffinity(2) on SPARC and SPARC64 |
sched_get_priority_max(2) | 2.0 | |
sched_get_priority_min(2) | 2.0 | |
sched_getaffinity(2) | 2.6 | |
sched_getattr(2) | 3.14 | |
sched_getparam(2) | 2.0 | |
sched_getscheduler(2) | 2.0 | |
sched_rr_get_interval(2) | 2.0 | |
sched_set_affinity(2) |
2.6 | Name of sched_setaffinity(2) on SPARC and SPARC64 |
sched_setaffinity(2) | 2.6 | |
sched_setattr(2) | 3.14 | |
sched_setparam(2) | 2.0 | |
sched_setscheduler(2) | 2.0 | |
sched_yield(2) | 2.0 | |
seccomp(2) | 3.17 | |
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 | |
set_tls(2) |
2.6.11 | ARM OABI/EABI only (constant has __ARM_NR prefix) |
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 | |
sethae(2) |
2.0 | Alpha のみ; 「注意」を参照 |
sethostname(2) | 1.0 | |
setitimer(2) | 1.0 | |
setns(2) | 3.0 | |
setpgid(2) | 1.0 | |
setpgrp(2) |
2.0 | Alternative name for setpgid(2) on Alpha |
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) | 1.0 | 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) の「注意」の節を参照 |
spill(2) |
2.6.13 | Xtensa のみ |
splice(2) | 2.6.17 | |
spu_create(2) | 2.6.16 | PowerPC/PowerPC64 のみ |
spu_run(2) | 2.6.16 | PowerPC/PowerPC64 のみ |
ssetmask(2) | 1.0 | |
stat(2) | 1.0 | |
stat64(2) | 2.4 | |
statfs(2) | 1.0 | |
statfs64(2) | 2.6 | |
statx(2) |
4.11 | |
stime(2) | 1.0 | |
subpage_prot(2) | 2.6.25 | PowerPC/PowerPC64 のみ |
swapcontext(2) |
2.6.3 | PowerPC/PowerPC64 のみ |
switch_endian(2) |
4.1 | PowerPC64 のみ |
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 | |
syncfs(2) | 2.6.39 | |
sys_debug_setcontext(2) |
2.6.11 | PowerPC のみ |
syscall(2) |
1.0 | Still available on ARM OABI and MIPS O32 ABI |
sysfs(2) | 1.2 | |
sysinfo(2) | 1.0 | |
syslog(2) | 1.0 | |
sysmips(2) |
2.6.0 | MIPS のみ |
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 | |
userfaultfd(2) |
4.3 | |
usr26(2) |
2.4.8.1 | ARM OABI のみ |
usr32(2) |
2.4.8.1 | ARM OABI のみ |
utime(2) | 1.0 | |
utimensat(2) | 2.6.22 | |
utimes(2) | 2.2 | |
utrap_install(2) | 2.2 | SPARC64 のみ |
vfork(2) | 2.2 | |
vhangup(2) | 1.0 | |
vm86old(2) | 1.0 | Was "vm86"; renamed in 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 | |
xtensa(2) |
2.6.13 | Xtensa のみ |
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 で削除された。このシステムコールがユーザー空間から使える状態になったことはない。
Over time, changes to the interfaces of some system calls have been necessary. One reason for such changes was the need to increase the size of structures or scalar values passed to the system call. Because of these changes, certain architectures (notably, longstanding 32-bit architectures such as i386) now have various groups of related system calls (e.g., truncate(2) and truncate64(2)) which perform similar tasks, but which vary in details such as the size of their arguments. (As noted earlier, applications are generally unaware of this: the glibc wrapper functions do some work to ensure that the right system call is invoked, and that ABI compatibility is preserved for old binaries.) Examples of systems calls that exist in multiple versions are the following:
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]