Una system call (syscall) è il meccanismo con cui un programma in user space richiede un servizio al kernel — aprire un file, inviare dati di rete, allocare memoria, creare un processo. Poiché queste azioni toccano l'hardware o influenzano altri processi, solo il kernel può eseguirle, quindi una syscall attraversa deliberatamente il confine di protezione.
User mode e kernel mode
La CPU gira in uno di (almeno) due livelli di privilegio:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
