Provided by: manpages-de-dev_4.26.0-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 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.

Linux man-pages 6.9.1                              2. Mai 2024                                       syscalls(2)