Provided by: manpages-de_4.13-4_all 

BEZEICHNUNG
Intro - Einführung in die Systemaufrufe
BESCHREIBUNG
Abschnitt 2 des Handbuches beschreibt die Linux-Systemaufrufe. Ein Systemaufruf ist ein Eintrittspunkt in
den Linux-Kernel. Normalerweise werden Systemaufrufe nicht direkt durchgeführt; stattdessen haben die
meisten Systemaufrufe passende Wrapper-Funktionen in der C-Bibliothek, welche die für einen Systemaufruf
nötigen Schritte ausführen (z. B. Umschalten in den Kernelmodus). Daher sehen Systemaufrufe genauso wie
normale Bibliotheksfunktionen aus.
In vielen Fällen führt die C-Bibliotheks-Wrapper-Funktion nur folgendes aus:
* Kopieren der Argumente und der eindeutigen Systemaufrufnummer in die Register, in denen der Kernel sie
erwartet,
* Verbinden in den Kernelmodus; an diesem Punkt führt der Kernel die eigentliche Arbeit des
Systemaufrufs durch,
* Setzen von errno, falls der Systemaufruf eine Fehlernummer zurückliefert, wenn der Kernel die CPU in
den Benutzermodus zurückbringt.
Allerdings kann in einigen Fällen eine Wrapper-Funktion mehr als das erledigen. Beispielsweise kann sie
einige Argumente vorverarbeiten, bevor die Verbindung zum Kernelmodus hergestellt wird, oder einige vom
Systemaufruf zurückgelieferte Werte nachbearbeiten. Wenn dies der Fall ist, wird üblicherweise auf den
Handbuchseiten in Abschnitt 2 auf Details der C-Bibliotheks-API-Schnittstelle (normalerweise der
GNU-Variante) und des rohen Systemaufrufs hingewiesen. Oft wird sich die BESCHREIBUNG auf die
Schnittstelle der C-Bibliothek konzentrieren und Unterschiede zum Systemaufruf befinden sich im Abschnitt
ANMERKUNGEN.
Eine Liste der Linux-Systemaufrufe finden Sie unter syscalls(2).
RÜCKGABEWERT
Bei Fehlern geben die meisten Systemaufrufe eine negative Zahl zurück (den negativen Wert einer der in
errno(3) beschriebenen Konstanten). Der Wrapper der C-Bibliothek versteckt dieses Detail vor dem
Aufrufenden: Wenn ein Systemaufruf eine negative Zahl ergibt, kopiert der Wrapper den Absolutwert in die
Variable errno und gibt als Rückgabewert -1 aus.
Der Wert, der von einem erfolgreichen Systemaufruf ausgegeben wird, hängt vom Aufruf ab. Viele
Systemaufrufe geben bei Erfolg 0 zurück, aber einige können im selben Fall Werte ungleich Null ausgeben.
Details dazu stehen in den zugehörigen Handbuchseiten beschrieben.
In einigen Fällen muss der Programmierer ein Feature-Test-Makro definieren, um die Deklaration eines
Systemaufrufs aus der im Abschnitt ÜBERSICHT genannten Header-Datei zu erhalten (Dort, wo es erforderlich
ist, müssen diese Feature-Test-Makros vor dem Einbinden irgendeiner Header-Datei definiert werden). Für
solche Fälle ist in der Handbuchseite das benötigte Makro beschrieben. Weitere Infos zu
Feature-Test-Makros liefert Ihnen feature_test_macros(7).
KONFORM ZU
Bestimmte Ausdrücke und Abkürzungen dienen der Kennzeichnung von UNIX-Varianten und -Standards, zu denen
die Aufrufe in diesem Abschnitt konform sind. Siehe auch: standards(7).
ANMERKUNGEN
Direkter Aufruf
Meistens ist es nicht nötig, einen Systemaufruf direkt vorzunehmen, aber manchmal bietet die
Standard-C-Bibliothek keine passende Wrapper-Funktion. Dann muss der Programmierer den Systemaufruf via
syscall(2) per Hand erledigen. Früher war dies auch mit einem der _syscall-Makros aus _syscall(2)
möglich.
Autoren und Copyright-Bedingungen
Den oder die Verfasser und die Copyright-Bedingungen finden Sie im Kopf des Quelltextes der englischen
Ausgabe der Handbuchseite. Beachten Sie, dass sie sich von Seite zu Seite unterscheiden können! Hinweise
zu den Copyright-Bedingungen der Übersetzung finden Sie weiter unten.
SIEHE AUCH
_syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7),
feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7),
shm_overview(7), signal(7), socket(7), standards(7), system_data_types(7), symlink(7), sysvipc(7),
time(7)
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux-man-pages. Eine Beschreibung des
Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Erik Pfannenstein <debianignatz@gmx.de> und 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 1. November 2020 INTRO(2)