Un system call (syscall) est le mécanisme qu'un programme user-space utilise pour demander un service au kernel — ouvrir un fichier, envoyer des données réseau, allouer de la mémoire, créer un processus. Comme ces actions touchent au matériel ou affectent d'autres processus, seul le kernel peut les effectuer, donc un syscall franchit délibérément la frontière de protection.
User mode vs kernel mode
Le CPU s'exécute dans l'un d'(au moins) deux niveaux de privilège :
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
