Un system call (syscall) este mecanismul prin care un program din user-space cere un serviciu de la kernel — deschiderea unui fișier, trimiterea de date pe rețea, alocarea de memorie, crearea unui proces. Pentru că aceste acțiuni ating hardware-ul sau afectează alte procese, doar kernel-ul le poate efectua, așa că un syscall traversează în mod deliberat granița de protecție.
User mode vs kernel mode
CPU-ul rulează într-unul din (cel puțin) două niveluri de privilegiu:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
