Home

systeemaanroep

Een systeemaanroep (systeemcall) is een mechanisme waarmee een programma in gebruikersmodus diensten van het besturingssysteem kan aanvragen. Voorbeelden zijn bestands-I/O, geheugenbeheer, procesbeheer en netwerkcommunicatie. Systeemaanroepen vormen de interface tussen gebruikersruimte en kernruimte (kernel) en maken het mogelijk dat een programma hardware en systeemresources veilig kan gebruiken zonder directe toegang tot de kernel.

Werkingsprincipe: wanneer een proces een systeemaanroep doet, wordt de uitvoering overgebracht naar de kernel door een

Gebruikersruimte en wrappers: hoge-niveau API’s in programmeertalen (zoals read, write, open, mmap) zijn wrappers rond systeemaanroepen.

Variatie en implementatie: systemen implementeren systeemaanroepen verschillend. Veel Unix-achtige systemen gebruiken een speciale instructie of trap

trap
of
een
speciale
instructie.
De
processor
draait
vervolgens
in
kernelmodus.
De
kernel
identificeert
de
gevraagde
dienst
met
een
nummer
en
parameters,
valideert
de
invoer
en
controleert
de
toegangsrechten
en
beveiligingsbeleid,
en
voert
de
operatie
uit.
Bij
voltooiing
retourneert
de
kernel
een
resultaat
of
foutcode
naar
de
oproeper.
Fouten
worden
meestal
teruggegeven
als
foutcodes
en
worden
in
de
gebruikersruimte
afgehandeld
via
mechanismen
als
errno.
Ze
vertalen
de
parameters
naar
een
systeemaanroepnummer
en
verwerken
de
teruggegeven
status.
Deze
scheiding
draagt
bij
aan
stabiliteit
en
portabiliteit,
omdat
de
kernelinterface
strikt
is
en
bibliotheken
platformafhankelijk
kunnen
blijven.
naar
de
kernel,
terwijl
Windows
en
andere
systemen
eigen
mechanismen
hanteren.
De
exacte
set
systeemaanroepen
varieert
per
besturingssysteem,
maar
systeemaanroepen
blijven
essentieel
voor
I/O,
procesbeheer
en
resource-access.