intro(2) System Calls Manual intro(2) BEZEICHNUNG Intro - Einfuhrung 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 durchgefuhrt; stattdessen haben die meisten Systemaufrufe passende Wrapper-Funktionen in der C-Bibliothek, welche die fur einen Systemaufruf notigen Schritte ausfuhren (z. B. Umschalten in den Kernelmodus). Daher sehen Systemaufrufe genauso wie normale Bibliotheksfunktionen aus. In vielen Fallen fuhrt die C-Bibliotheks-Wrapper-Funktion nur folgendes aus: o Kopieren der Argumente und der eindeutigen Systemaufrufnummer in die Register, in denen der Kernel sie erwartet, o Verbinden in den Kernelmodus; an diesem Punkt fuhrt der Kernel die eigentliche Arbeit des Systemaufrufs durch, o Setzen von errno, falls der Systemaufruf eine Fehlernummer zuruckliefert, wenn der Kernel die CPU in den Benutzermodus zuruckbringt. Allerdings kann in einigen Fallen eine Wrapper-Funktion mehr als das erledigen. Beispielsweise kann sie einige Argumente vorverarbeiten, bevor die Verbindung zum Kernelmodus hergestellt wird, oder einige vom Systemaufruf zuruckgelieferte Werte nachbearbeiten. Wenn dies der Fall ist, wird ublicherweise 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). RUCKGABEWERT Bei Fehlern geben die meisten Systemaufrufe eine negative Zahl zuruck (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 Ruckgabewert -1 aus. Der Wert, der von einem erfolgreichen Systemaufruf ausgegeben wird, hangt vom Aufruf ab. Viele Systemaufrufe geben bei Erfolg 0 zuruck, aber einige konnen im selben Fall Werte ungleich Null ausgeben. Details dazu stehen in den zugehorigen Handbuchseiten beschrieben. In einigen Fallen muss der Programmierer ein Feature-Test-Makro definieren, um die Deklaration eines Systemaufrufs aus der im Abschnitt UBERSICHT genannten Header-Datei zu erhalten (Dort, wo es erforderlich ist, mussen diese Feature-Test-Makros vor dem Einbinden irgendeiner Header-Datei definiert werden). Fur solche Falle ist in der Handbuchseite das benotigte Makro beschrieben. Weitere Infos zu Feature-Test-Makros liefert Ihnen feature_test_macros(7). STANDARDS Bestimmte Ausdrucke und Abkurzungen 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 notig, 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. Fruher war dies auch mit einem der _syscall-Makros aus _syscall(2) moglich. 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 konnen! Hinweise zu den Copyright-Bedingungen der Ubersetzung 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), symlink(7), system_data_types(7), sysvipc(7), time(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Erik Pfannenstein und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 intro(2)