INTRO(2) Linux Programmeurs Handleiding INTRO(2)

intro - introductie van systeem aanroepen

Sectie 2 van de handleiding beschrijft de Linux systeem aanroepen. Een systeem aanroep is een ingang naar de Linux kernel. Normaliter worden systeem aanroepen niet direct gepleegd: in plaats daarvan hebben de meeste systeem aanroepen een overeenkomstige C bibliotheek wrapper functies die de vereiste stappen uitvoeren (b.v. afdalen naar de kernel modus) om zo de systeem aanroep te kunnen doen. Daarom lijkt het doen van een systeem aanroep hetzelfde als het aanroepen van een bibliotheek functie.

In veel gevallen doet de C bibliotheek wrapper functie niet meer dan:

  • kopiëren van argumenten en het unieke systeem aanroep nummer naar de registers waar de kernel ze verwacht.
  • afdalen naar kernel modus, waarna de kernel het echte werk van de systeem aanroep doet;
  • instellen van errno als de systeem aanroep een fout nummer terug geeft wanneer de kernel terug keert naar de gebruikers modus.

In een aantal gevallen zal de wrapper functie meer doen dan dit, bij voorbeeld, voorbewerken van de argumenten voor het afdalen in de kernel, of van nabewerken van de terug gegeven waarden door de systeem aanroep. Indien dit het geval is, zullen de man-pagina´s in het algemeen de details van beiden de (meestal GNU) C bibliotheek API interface en de rauwe systeem aanroep bevatten. In het algemeen zal de algemene BESCHRIJVING zich focusseren op de C bibliotheek interface, en verschillen met de systeem aanroep worden beschreven in de OPMERKINGEN sectie.

Voor de lijst van Linux systeem aanroepen, zie syscalls(2).

Bij fouten, geven de meeste systeem aanroepen een negatieve waarde terug ( m.a.w. de negatieve waarde van een van de constanten beschreven in errno(3). De C bibliotheek wrapper verbergt dit detail voor de aanroeper: als een systeem aanroep een negatieve waarde terug geeft, dan zal de wrapper de absolute waarde in een errno variable kopiëren, en geeft een -1 terug als eind waarde van de wrapper.

De eind waarde na een succesvolle systeem aanroep hangt af van de aanroep. Veel systeem aanroepen geven 0 terug bij succes, maar een aantal geven niet-0 waarde terug bij succes. De details worden beschreven in de individuele man-pagina´s.

In een aantal gevallen moet de programmeur bepaalde feature test macro definiëren om zodoende de declaratie van de functie te verkrijgen waarvan het kop bestand gevonden wordt in de man-pagina SYNOPSIS sectie. (indien nodig moet de feature test macro ´gedefinieerd worden vóór het invoegen van elk kop bestand.) In deze gevallen wordt de benodigde macro beschreven in de man-pagina. Voor verdere informatie over de feature test macro, zie feature_test_macros(7)

Bepaalde termen en afkortingen worden gebruikt om UNIX varianten en standaarden aan te duiden waaraan de aanroepen in deze sectie voldoen. Zie standards(7).

In een aantal gevallen moet de programmeur bepaalde feature test macro definiëren om zodoende de declaratie van de functie te verkrijgen waarvan het kop bestand gevonden wordt in de man-pagina SYNOPSIS sectie. (indien nodig moet de feature test macro ´gedefinieerd worden vóór het invoegen van elk kop bestand.) In deze gevallen wordt de benodigde macro beschreven in de man-pagina. Voor verdere informatie over de feature test macro, zie feature_test_macros(7)

Zie de kop van de man-pagina bron voor de namen van auteur(s) en auteursrechten. Merk op dat deze verschillend kunnen zijn voor verschillende pagina's!

_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), sysvipc(7), time(7)

Deze pagina is onderdeel van release 5.11 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

De Nederlandse vertaling van deze handleiding is geschreven door Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.

1 november 2020 Linux