oracular (2) syscalls.2.gz

Provided by: manpages-de-dev_4.23.1-1_all bug

BEZEICHNUNG

       syscalls - Linux-Systemaufrufe

ÜBERSICHT

       Linux-Systemaufrufe.

BESCHREIBUNG

       Der Systemaufruf ist eine fundamentale Schnittstelle zwischen Anwendungen und dem Linux-Kernel.

   Systemaufrufe und Bibliothek-Wrapper-Funktionen
       Systemaufrufe  werden im Allgemeinen nicht direkt aufgerufen, sondern mittels Wrapper-Funktionen in Glibc
       (oder möglicherweise einer anderen Bibliothek). Zu Details des direkten Aufrufs eines Systemaufrufs siehe
       intro(2).  Oft,  aber  nicht  immer,  ist  der  Name  der  Wrapper-Funktion  identisch  zu  dem Namen des
       Systemaufrufs,  den  sie  aufruft.  Beispielsweise  enthält  Glibc  eine  Funktion   chdir(),   die   den
       zugrundeliegenden Systemaufruf »chdir« aufruft.

       Oft ist die Glibc-Wrapper-Funktion recht dünn und sie macht kaum mehr, als die Argumente in die richtigen
       Register zu kopieren, bevor sie den Systemaufruf aufruft, und anschließend errno entsprechend zu  setzen,
       nachdem  der Systemaufruf zurückkehrte. (Dies sind die gleichen Schritte, die auch syscall(2) durchführt,
       welches  dazu  verwandt  werden  kann,  Systemaufrufe  aufzurufen,   für   die   keine   Wrapper-Funktion
       bereitgestellt  wird.)  Hinweis:  Systemaufrufe  zeigen  einen  Fehlschlag  an,  indem  sie eine negative
       Fehlernummer   an   den   Aufrufenden   auf   Architekturen   zurückliefern,    die    kein    getrenntes
       Fehlerregister/-schalter bereitstellen. Darauf wird in syscall(2) hingewiesen. Wenn dies passiert negiert
       die Wrapper-Funktion die zurückgelieferte Fehlernummer (damit sie positiv wird), kopiert sie  nach  errno
       und liefert -1 an den Aufrufenden des Wrappers zurück.

       Manchmal   erledigt   die  Wrapper-Funktion  vor  dem  Aufruf  des  Systemaufrufs  zusätzliche  Aufgaben.
       Beispielsweise gibt  es  heutzutage  (aus  weiter  unten  beschriebenen  Gründen)  zwei  zusammenhängende
       Systemaufrufe  truncate(2)  und  truncate64(2)  und  die  Glibc-Wrapper-Funktion truncate() prüft, welche
       dieser Systemaufrufe vom Kernel bereitgestellt wird und bestimmt, welcher eingesetzt werden soll.

   Liste der Systemaufrufe
       Nachfolgend  ist  eine  Liste  der  Linux-Systemaufrufe.  In  der  Liste  zeigt  die  Spalte  Kernel  die
       Kernelversion  für  solche  Systemaufrufe  an,  die  in  Linux  2.2  neu  waren  oder  seitdem  in dieser
       Kernelversion erschienen sind. Beachten Sie die folgenden Punkte:

       •  Wo keine Kernelversion angezeigt ist, erschien der Systemaufruf in Linux 1.0 oder früher.

       •  Wo ein Systemaufruf mit »1.2« markiert ist, bedeutet dies, dass  der  Systemaufruf  wahrscheinlich  in
          einer  Linux  1.1.x-Kernelversion  und  erstmalig  in  einem  stabilen  Kernel  mit 1.2 erschien. (Die
          Entwicklung der Linux 1.2er-Kernel erfolgte von  einem  Zweig  von  Linux  1.0.6  über  die  instabile
          Linux-1.1.x-Kernelserie.)

       •  Wo  ein  Systemaufruf  mit  »2.0« markiert ist, bedeutet dies, dass der Systemaufruf wahrscheinlich in
          einer Linux 1.3.x-Kernelversion und erstmalig in einem stabilen Kernel mit Linux  2.0  erschien.  (Die
          Entwicklung  der  Linux  2.0er-Kernel erfolgte von einem Zweig von Linux 1.2.x, irgendwo rund um Linux
          1.2.10, über die instabile Linux-1.3.x-Kernelserie.)

       •  Wo ein Systemaufruf mit »2.2« markiert ist, bedeutet dies, dass  der  Systemaufruf  wahrscheinlich  in
          einer  Linux 2.1.x-Kernelversion und erstmalig in einem stabilen Kernel mit Linux 2.2.0 erschien. (Die
          Entwicklung der Linux 2.2er-Kernel erfolgte von einem  Zweig  von  Linux  2.0.21  über  die  instabile
          Linux-2.1.x-Kernelserie.)

       •  Wo  ein  Systemaufruf  mit  »2.4« markiert ist, bedeutet dies, dass der Systemaufruf wahrscheinlich in
          einer Linux 2.3.x-Kernelversion und erstmalig in einem stabilen Kernel mit Linux 2.4.0 erschien.  (Die
          Entwicklung  der  Linux  2.4er-Kernel  erfolgte  von  einem  Zweig  von Linux 2.2.8 über die instabile
          Linux-2.3.x-Kernelserie.)

       •  Wo ein Systemaufruf mit »2.6« markiert ist, bedeutet dies, dass  der  Systemaufruf  wahrscheinlich  in
          einer  Linux 2.5.x-Kernelversion und erstmalig in einem stabilen Kernel mit Linux 2.6.0 erschien. (Die
          Entwicklung der Linux 2.6er-Kernel erfolgte von einem Zweig des  Kernels  2.4.15  über  die  instabile
          2.5.x-Kernelserie.)

       •  Beginnend mit Linux 2.6.0 wurde das Entwicklungsmodell geändert und neue Systemaufrufe können in jeder
          Linux-2.6.x-er Veröffentlichung erscheinen. In diesem Fall wird die genaue Versionsnummer, bei der der
          Systemaufruf erschien, angezeigt. Diese Konvention gilt auch für die Linux 3.x-er-Kernelserie, die auf
          Linux 2.6.39 folgte und die Linux  4.x-er-Kernelserie,  die  auf  Linux  3.19  folgte  und  die  Linux
          5.x-er-Kernelserie,  die  auf  Linux  4.20  folgte;  und die Linux 6.x-Kernelserie, die auf Linux 5.19
          folgte.

       •  In einigen Fällen wurde ein Systemaufruf zu einer stabilen Kernelserie hinzugefügt,  nachdem  sie  von
          der  vorherigen  stabilen  Kernelversion  abgeleitet wurde, und dieser wurde dann in vorherige stabile
          Kernelserie zurückportiert. Beispielsweise wurden einige Systemaufrufe, die in Linux 2.6.x erschienen,
          auch  in  eine  Linux  2.4.x-Veröffentlichung  nach Linux 2.4.15 rückportiert. Wenn dies der Fall ist,
          werden die Versionen, in denen der Systemaufruf in beiden Haupt-Kernelserien erschien, aufgelistet.

       Die Liste der Systemaufrufe, die in Linux 5.14 verfügbar sind (oder in  einigen  wenigen  Fällen  nur  in
       älteren Kerneln) ist wie folgt:

       Systemaufruf                Kernel        Hinweise
       ───────────────────────────────────────────────────────────────────────
       _llseek(2)                  1.2
       _newselect(2)               2.0
       _sysctl(2)                  2.0           Entfernt in 5.5
       accept(2)                   2.0           Siehe       Hinweise      zu
                                                 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        Entfernt in 2.5.44
       arc_gettls(2)               3.9           Nur ARC
       arc_settls(2)               3.9           Nur ARC
       arc_usr_cmpxchg(2)          4.9           Nur ARC
       arch_prctl(2)               2.6           X86_64, X86 seit 4.12
       atomic_barrier(2)           2.6.34        Nur M68k
       atomic_cmpxchg_32(2)        2.6.34        Nur M68k
       bdflush(2)                  1.2           Veraltet  (bewirkt   nichts)
                                                 seit 2.6
       bind(2)                     2.0           Siehe       Hinweise      zu
                                                 socketcall(2)
       bpf(2)                      3.18
       brk(2)                      1.0
       breakpoint(2)               2.2           Nur ARM OABI, definiert  mit
                                                 Präfix __ARM_NR
       cacheflush(2)               1.2           Nicht auf X86
       capget(2)                   2.2
       capset(2)                   2.2
       chdir(2)                    1.0
       chmod(2)                    1.0
       chown(2)                    2.2           Siehe      chown(2)      für
                                                 Versionsdetails
       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           Nur IA-64
       clone(2)                    1.0
       clone3(2)                   5.3
       close(2)                    1.0
       close_range(2)              5.9

       connect(2)                  2.0           Siehe      Hinweise       zu
                                                 socketcall(2)
       copy_file_range(2)          4.5
       creat(2)                    1.0
       create_module(2)            1.0           Entfernt in 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_pwait2(2)             5.11
       epoll_wait(2)               2.6
       eventfd(2)                  2.6.22
       eventfd2(2)                 2.6.27
       execv(2)                    2.0           Nur    SPARC/SPARC64,    zur
                                                 Kompatibilität mit 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        Entfernt in 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           Entfernt in 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          Nur  ARM  OABI,  hat  Präfix
                                                 __ARM_NR
       getcpu(2)                   2.6.19
       getcwd(2)                   2.2
       getdents(2)                 2.0
       getdents64(2)               2.4
       getdomainname(2)            2.2           SPARC,   SPARC64;  verfügbar
                                                 als osf_getdomainname(2) auf
                                                 Alpha seit Linux 2.0
       getdtablesize(2)            2.0           SPARC  (entfernt in 2.6.26),
                                                 verfügbar  auf   Alpha   als
                                                 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,  war  auf  SPARC  bis
                                                 Linux 2.6.26 verfügbar
       getitimer(2)                1.0
       getpeername(2)              2.0           Siehe      Hinweise       zu
                                                 socketcall(2)
       getpagesize(2)              2.0           Nur Alpha, SPARC/SPARC64
       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           Siehe       Hinweise      zu
                                                 socketcall(2)
       getsockopt(2)               2.0           Siehe      Hinweise       zu
                                                 socketcall(2)
       gettid(2)                   2.4.11
       gettimeofday(2)             1.0
       getuid(2)                   1.0
       getuid32(2)                 2.4
       getunwind(2)                2.4.8         Nur IA-64; veraltet
       getxattr(2)                 2.6; 2.4.18
       getxgid(2)                  2.0           Nur Alpha; siehe HINWEISE
       getxpid(2)                  2.0           Nur Alpha; siehe HINWEISE
       getxuid(2)                  2.0           Nur Alpha; siehe HINWEISE
       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           Nur SPARC64
       kexec_file_load(2)          3.17
       kexec_load(2)               2.6.13
       keyctl(2)                   2.6.10
       kill(2)                     1.0
       landlock_add_rule(2)        5.13
       landlock_create_ruleset(2)  5.13
       landlock_restrict_self(2)   5.13
       lchown(2)                   1.0           Siehe      chown(2)      für
                                                 Versionsdetails
       lchown32(2)                 2.4
       lgetxattr(2)                2.6; 2.4.18
       link(2)                     1.0
       linkat(2)                   2.6.16
       listen(2)                   2.0           Siehe      Hinweise       zu
                                                 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           Nur SPARC64
       membarrier(2)               3.17
       memfd_create(2)             3.17
       memfd_secret(2)             5.14
       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           Siehe Hinweise zu ipc(2)
       msgget(2)                   2.0           Siehe Hinweise zu ipc(2)
       msgrcv(2)                   2.0           Siehe Hinweise zu ipc(2)
       msgsnd(2)                   2.0           Siehe Hinweise zu 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        Siehe stat(2)
       nfsservctl(2)               2.2           Entfernt in 3.1
       nice(2)                     1.0
       old_adjtimex(2)             2.0           Nur Alpha; siehe HINWEISE
       old_getrlimit(2)            2.4           Ältere      Variante     von
                                                 getrlimit(2)    die    einen
                                                 anderen       Wert       für
                                                 RLIM_INFINITY verwandte
       oldfstat(2)                 1.0
       oldlstat(2)                 1.0
       oldolduname(2)              1.0
       oldstat(2)                  1.0
       oldumount(2)                2.4.116       Name des alten Systemaufrufs
                                                 umount(2) auf 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           Nur OpenRISC 1000
       pause(2)                    1.0
       pciconfig_iobase(2)         2.2.15; 2.4   Nicht auf X86
       pciconfig_read(2)           2.0.26; 2.2   Nicht auf X86
       pciconfig_write(2)          2.0.26; 2.2   Nicht auf X86
       perf_event_open(2)          2.6.31        War  perf_counter_open()  in
                                                 2.6.31; umbenannt in 2.6.32
       personality(2)              1.2
       perfctr(2)                  2.2           Nur   SPARC;   entfernt   in
                                                 2.6.34
       perfmonctl(2)               2.4           Nur IA-64; entfernt in 5.10
       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)                                Als     »pread«    in    2.2
                                                 hinzugefügt; in »pread64« in
                                                 2.6 umbenannt
       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)                               Als    »pwrite«    in   2.2.
                                                 hinzugefügt;  in  »pwrite64«
                                                 in 2.6 umbenannt
       pwritev(2)                  2.6.30
       pwritev2(2)                 4.6

       query_module(2)             2.2           Entfernt in 2.6
       quotactl(2)                 1.0
       quotactl_fd(2)              5.14
       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           Siehe       Hinweise      zu
                                                 socketcall(2)
       recvfrom(2)                 2.0           Siehe      Hinweise       zu
                                                 socketcall(2)
       recvmsg(2)                  2.0           Siehe       Hinweise      zu
                                                 socketcall(2)
       recvmmsg(2)                 2.6.33
       remap_file_pages(2)         2.6           Veraltet seit 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          Nur 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         Nur PowerPC/PowerPC64
       s390_runtime_instr(2)       3.7           Nur S390
       s390_pci_mmio_read(2)       3.19          Nur S390
       s390_pci_mmio_write(2)      3.19          Nur S390
       s390_sthyi(2)               4.15          Nur S390
       s390_guarded_storage(2)     4.12          Nur S390
       sched_get_affinity(2)       2.6           Name                     von
                                                 sched_getaffinity(2)     auf
                                                 SPARC und 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                     von
                                                 sched_setaffinity(2)     auf
                                                 SPARC und 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           Siehe Hinweise zu ipc(2)
       semget(2)                   2.0           Siehe Hinweise zu ipc(2)
       semop(2)                    2.0           Siehe Hinweise zu ipc(2)
       semtimedop(2)               2.6; 2.4.22

       send(2)                     2.0           Siehe      Hinweise       zu
                                                 socketcall(2)
       sendfile(2)                 2.2
       sendfile64(2)               2.6; 2.4.19
       sendmmsg(2)                 3.0
       sendmsg(2)                  2.0           Siehe       Hinweise      zu
                                                 socketcall(2)
       sendto(2)                   2.0           Siehe      Hinweise       zu
                                                 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        Nur ARM OABI/EABI (Konstante
                                                 hat Präfix __ARM_NR)
       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           Nur Alpha; siehe HINWEISE
       sethostname(2)              1.0
       setitimer(2)                1.0
       setns(2)                    3.0
       setpgid(2)                  1.0
       setpgrp(2)                  2.0           Alternativer    Name     für
                                                 setpgid(2) auf 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           Siehe       Hinweise      zu
                                                 socketcall(2)
       settimeofday(2)             1.0
       setuid(2)                   1.0
       setuid32(2)                 2.4
       setup(2)                    1.0           Entfernt in 2.2
       setxattr(2)                 2.6; 2.4.18
       sgetmask(2)                 1.0
       shmat(2)                    2.0           Siehe Hinweise zu ipc(2)
       shmctl(2)                   2.0           Siehe Hinweise zu ipc(2)
       shmdt(2)                    2.0           Siehe Hinweise zu ipc(2)
       shmget(2)                   2.0           Siehe Hinweise zu ipc(2)
       shutdown(2)                 2.0           Siehe      Hinweise       zu
                                                 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           Siehe       Hinweise      zu
                                                 socketcall(2)
       socketcall(2)               1.0
       socketpair(2)               2.0           Siehe      Hinweise       zu
                                                 socketcall(2)
       spill(2)                    2.6.13        Nur Xtensa
       splice(2)                   2.6.17
       spu_create(2)               2.6.16        Nur PowerPC/PowerPC64
       spu_run(2)                  2.6.16        Nur 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        Nur PowerPC/PowerPC64
       swapcontext(2)              2.6.3         Nur PowerPC/PowerPC64
       switch_endian(2)            4.1           Nur 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        Nur PowerPC
       syscall(2)                  1.0           Im ARM OABI und MIPS O32 ABI
                                                 immer noch verfügbar
       sysfs(2)                    1.2
       sysinfo(2)                  1.0
       syslog(2)                   1.0
       sysmips(2)                  2.6.0         Nur 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       Nur ARM OABI
       usr32(2)                    2.4.8.1       Nur ARM OABI
       utime(2)                    1.0
       utimensat(2)                2.6.22
       utimes(2)                   2.2

       utrap_install(2)            2.2           Nur SPARC64
       vfork(2)                    2.2
       vhangup(2)                  1.0
       vm86old(2)                  1.0           War   »vm86«;    wurde    in
                                                 2.0.28/2.2 umbenannt
       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        Nur Xtensa

       Auf    vielen    Plattformen,    einschließlich    X86-32,    werden    Socket-Aufrufe    (mittels    der
       Glibc-Wrapper-Funktionen)  über  socketcall(2)  im  Multiplex-Verfahren  behandelt  und   ebenso   werden
       System-V-IPC-Aufrufe mittels ipc(2) im Multiplex-Verfahren behandelt.

       Obwohl  für  sie  in  der Systemaufruftabelle Plätze reserviert sind, sind die folgenden Systemaufrufe im
       Standard-Kernel nicht implementiert: 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) und vserver(2) (siehe auch unimplemented(2)). Allerdings  existieren  ftime(3),  profil(3)  und
       ulimit(3)  als Bibliotheksroutinen. Der Platz für phys(2) wird seit Linux 2.1.116 für umount(2) verwandt;
       phys(2) wird niemals implementiert. Die Aufrufe getpmsg(2) und putpmsg(2) sind für Kernel,  die  auf  die
       Unterstützung von Streams angepasst wurden, reserviert und könnten niemals im Standard-Kernel auftauchen.

       Für  einen  kurzen Zeitraum gab es set_zone_reclaim(2), hinzugefügt in Linux 2.6.13 und entfernt in Linux
       2.6.16. Dieser Systemaufruf stand dem Anwendungsraum niemals zur Verfügung.

   Systemaufrufe auf entfernten Portierungen
       Einige Systemaufrufe existierten ausschließlich auf  Linux-Architekturen,  die  seitdem  aus  dem  Kernel
       entfernt wurden:

       AVR32 (Portierung in Linux 4.12 entfernt)
              •  pread(2)
              •  pwrite(2)

       Blackfin (Portierung in Linux 4.17 entfernt)
              •  bfin_spinlock(2)  (hinzugfügt in Linux 2.6.22)
              •  dma_memcpy(2)  (hinzugefügt in Linux 2.6.22)
              •  pread(2)  (hinzugefügt in Linux 2.6.22)
              •  pwrite(2)  (hinzugefügt in Linux 2.6.22)
              •  sram_alloc(2)  (hinzugefügt in Linux 2.6.22)
              •  sram_free(2)  (hinzugefügt in Linux 2.6.22)

       Metag (Portierung in Linux 4.17 entfernt)
              •  metag_get_tls(2)  (hinzugefügt in Linux 3.9)
              •  metag_set_fpu_flags(2)  (hinzugefügt in Linux 3.9)
              •  metag_set_tls(2)  (hinzugefügt in Linux 3.9)
              •  metag_setglobalbit(2)  (hinzugefügt in Linux 3.9)

       Tile (Portierung in Linux 4.17 entfernt)
              •  cmpxchg_badaddr(2)  (hinzugefügt in Linux 2.6.36)

ANMERKUNGEN

       Grob  gesagt  kann  der  Code,  der  zu dem Systemaufruf mit der in /usr/include/asm/unistd.h definierten
       Nummer __NR_xxx gehört in den Linux-Kernelquellen in der Routine sys_xxx()  gefunden  werden.  Allerdings
       gibt  es  viele  Ausnahmen,  da  hauptsächlich ältere Systemaufrufe durch neuere ersetzt wurden und dabei
       nicht immer systematisch vorgegangen wurde. Auf Plattformen mit proprietären  Betriebssystem-Emulationen,
       wie  Sparc,  Sparc64  und  Alpha,  gibt  es  viele  zusätzliche  Systemaufrufe; Mips64 enthält auch einen
       kompletten Satz an 32-bit-Systemaufrufen.

       Im Laufe der Zeit wurden Änderungen an einigen Schnittstellen der Systemaufrufe notwendig. Ein Grund  für
       solche  Änderungen  war  die  Notwendigkeit,  die  Größe  von Strukturen oder skalaren Werten, die an den
       Systemaufruf übergeben werden, zu erhöhen. Aufgrund dieser Änderungen haben jetzt bestimmte Architekturen
       (insbesondere   die   langexistierenden   32-bit-Architekturen   wie   I386)   verschiedene  Gruppen  von
       zusammengehörigen Systemaufrufen (z.B. truncate(2) und truncate64(2)), die ähnliche  Aufgaben  erledigen,
       aber  sich  in  Details wie der Größe ihrer Argumente unterscheiden. (Wie weiter oben angemerkt, bekommen
       das  Anwendungen  im  Allgemeinen  nicht   mit:   Die   Glibc-Wrapperfunktion   haben   Vorkehrungen   um
       sicherzustellen,  dass  der  richtige  Systemaufruf  aufgerufen  wird und dass die ABI-Kompatibilität für
       ältere Programme gewährt wird). Folgende Systemaufrufe sind Beispiele,  die  in  verschiedenen  Versionen
       existieren:

       •  Es  gibt jetzt drei verschiedene Versionen von stat(2): sys_stat() (Platz __NR_oldstat), sys_newstat()
          (Platz __NR_stat) und sys_stat64() (Platz __NR_stat64), wobei letzterer der neuste ist. Eine  ähnliche
          Geschichte existiert für lstat(2) und fstat(2).

       •  Ähnlich beziehen sich die Definitionen __NR_oldolduname, __NR_olduname und __NR_uname auf die Routinen
          sys_olduname(), sys_uname() und sys_newuname().

       •  In Linux 2.0 erschien eine neue Version von vm86(2), wobei die alte und  die  neue  Kernelroutine  als
          sys_vm86old() und sys_vm86() benannt wurden.

       •  In  Linux  2.4 erschien eine neue Version von getrlimit(2) , wobei die alte und die neue Kernelroutine
          als sys_old_getrlimit() (Platz __NR_getrlimit) und  sys_getrlimit()  (Platz  __NR_ugetrlimit)  benannt
          wurden.

       •  Linux 2.4 erhöhte die Größe der Benutzer- und Gruppenkennungen von 16 auf 32 bit. Um diese Änderung zu
          unterstützen,  wurden  eine  Reihe  von  Systemaufrufen  hinzugefügt  (z.B.  chown32(2),  getuid32(2),
          getgroups32(2),  setresuid32(2)),  die  ältere  Aufrufe  mit  dem  gleichen Namen ohne die Endung »32«
          ersetzen.

       •  Linux 2.4 fügte Unterstützungen  zum  Zugriff  auf  große  Dateien  (d.h.  Dateien,  deren  Größe  und
          Dateiversatz  nicht in 32 bit dargestellt werden kann) für Anwendungen auf 32-bit-Architekturen hinzu.
          Um diese Änderung zu unterstützen, wurden  für  Systemaufrufe,  die  mit  Dateiversätzen  und  -größen
          umgehen,  Ersetzungen  notwendig.  Daher  wurden  die folgenden Systemaufrufe hinzugefügt: fcntl64(2),
          getdents64(2),   stat64(2),   statfs64(2),   truncate64(2)   und   ihre   Entsprechungen,   die    mit
          Dateideskriptoren   und   symbolischen  Links  arbeiten.  Diese  Systemaufrufe  ersetzen  die  älteren
          Systemaufrufe, die bis auf den Fall der »stat«-Systemaufrufe die gleichen Namen ohne die  Endung  »64«
          haben.

          Auf  neueren Plattformen, die nur über 64-bit-Zugriff und 32-bit UIDs/GIDs verfügen (z.B. Alpha, Ia64,
          S390x, X86-64) gibt es nur eine einzige Version  der  UID/GID-  und  Dateizugriffs-Systemaufrufe.  Auf
          Plattformen  (typischerweise  32-bit-Plattformen), bei denen die *64- und *32-Aufrufe existieren, sind
          die anderen Versionen veraltet.

       •  Die Aufrufe rt_sig* wurden in Linux 2.2 hinzugefügt, um die Hinzufügung  von  Echtzeitsignalen  (siehe
          signal(7))  zu  unterstützen.  Diese Systemaufrufe ersetzen die älteren Systemaufrufe mit dem gleichen
          Namen ohne den Präfix »rt_«.

       •  Die Systemaufrufe select(2) und mmap(2) verwenden fünf oder mehr Argumente, was zu Problemen  mit  der
          Art,  wie  die Argumentenübergabe auf I386 eingerichtet war, führte. Während andere Architekturen über
          sys_select() und sys_mmap()  entsprechend  zu  __NR_select  und  __NR_mmap  verfügen,  kann  auf  I386
          stattdessen  old_select()  und  old_mmap()  (Routinen,  die  einen  Zeiger  auf  einen Argumentenblock
          verwenden) gefunden werden. Heutzutage ist die Übergabe von fünf oder  mehr  Argumenten  kein  Problem
          mehr und es gibt ein __NR__newselect, das direkt sys_select() entspricht und ähnlich __NR_mmap2. S390x
          ist die einzige 64-bit-Architektur, die über old_mmap() verfügt.

   Architektur-spezifische Details: Alpha
       getxgid(2)
              Liefert ein Paar an GID- und effektiver GID mittels der  Register  r0  und  r20  zurück;  er  wird
              anstelle von getgid(2) und getegid(2) bereitgestellt.

       getxpid(2)
              Liefert  ein  Paar  an PID und Eltern-PID mittels der Register r0 und r20 zurück; er wird anstelle
              von getpid(2) und getppid(2) bereitgestellt.

       old_adjtimex(2)
              Ist eine Variante von adjtimex(2), die zur Kompatibilität mit OSF/1 struct timeval32 verwendet.

       getxuid(2)
              Liefert ein Paar an GID und effektiver GID mittels  der  Register  r0  und  r20  zurück;  er  wird
              anstelle von getuid(2) und geteuid(2) bereitgestellt.

       sethae(2)
              Wird  für die Konfiguration der Rechneradressen-Erweiterungsregister in günstigen Alphas verwandt,
              damit auf den Adressraum jenseits der ersten 27 bit zugegriffen werden kann.

SIEHE AUCH

       ausyscall(1), intro(2), syscall(2), unimplemented(2), errno(3), libc(7), vdso(7)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die  GNU  General  Public  License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE
       HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte  eine  E-Mail  an  die
       Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.