Home

syscallsinstructie

Een syscallsinstructie is een gespecialiseerde processorinstructie waarmee een gebruikersprogramma een dienst van het besturingssysteem aanvraagt. Door deze instructie vindt er een overgang plaats van de gebruikersmodus naar de kernelmodus, zodat de kernel de gevraagde service kan uitvoeren. De kernel bepaalt vervolgens, aan de hand van het systeemoproepnummer, welke functie aangeroepen moet worden en voert deze uit.

Tijdens een syscallsinstructie worden parameters doorgaans via registers of via de stack doorgegeven, afhankelijk van de

Architektuurafhankelijk bestaan er verschillende implementaties van syscallsinstructies. Voor x86-32 werd vaak gebruikgemaakt van een softwareinterrupt zoals

Beveiliging en prestaties zijn belangrijke overwegingen bij syscalls. Elke oproep brengt een contextswitch met zich mee

---

architectuur
en
de
beoogde
Application
Binary
Interface
(ABI).
Na
voltooiing
keert
de
kernel
terug
naar
de
aanroepende
taak
en
levert
een
terugwaarde
op
een
afgesproken
wijze
terug
aan
de
gebruiker.
Het
systeemoproepmechanisme
vormt
een
gecontroleerde
interface
tussen
gebruikerstoepassingen
en
de
kern
van
het
operating
system,
met
beveiliging
en
stabiliteit
als
belangrijkste
doelen.
int
0x80;
nieuwere
manieren
zoals
sysenter/sysexit
boden
betere
prestaties.
Op
x86-64
is
de
syscall-instructie
bedoeld
voor
snelle
systeemoproepen.
ARM
gebruikt
doorgaans
de
svc-
(voorheen
swi)
instructie,
en
andere
architekturen
hebben
vergelijkbare
mechanismen
met
hun
eigen
naamgeving
en
conventies.
Veelvoorkomende
systeemoproepen
zijn
onder
meer
read,
write,
open,
close,
exit,
mmap
en
fork/execve.
en
vereist
strikte
validatie
van
argumenten.
Moderne
systemen
ondersteunen
mechanismen
zoals
sandboxing
en
filtering
(bijv.
seccomp)
om
misbruik
te
voorkomen
en
de
attack
surface
te
verkleinen.