System call (syscall) je mechanismus, kterým program v user space žádá kernel o službu — otevření souboru, odeslání síťových dat, alokaci paměti, vytvoření procesu. Protože tyto akce sahají na hardware nebo ovlivňují jiné procesy, smí je provádět jen kernel, takže syscall záměrně překračuje ochrannou hranici.
User mode vs kernel mode
CPU běží na jedné z (alespoň) dvou úrovní oprávnění:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
