System call (syscall) to mechanizm, którego program z user space używa, aby zażądać usługi od kernela — otwarcia pliku, wysłania danych sieciowych, alokacji pamięci, utworzenia procesu. Ponieważ te działania dotykają sprzętu lub wpływają na inne procesy, tylko kernel może je wykonać, więc syscall celowo przekracza granicę ochrony.
User mode a kernel mode
CPU działa na jednym z (co najmniej) dwóch poziomów uprzywilejowania:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
