Provided by: manpages-de-dev_4.21.0-2_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 1.2er-Kernel erfolgte von einem Zweig des
          Kernels 1.0.6 über die instabile 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 des Linux-Kernels 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.

       •  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           Nicht auf 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           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⟩.