System call (syscall) je mehanizem, ki ga program v user space uporabi za zahtevo storitve od kernela — odpiranje datoteke, pošiljanje omrežnih podatkov, dodeljevanje pomnilnika, ustvarjanje procesa. Ker se ta dejanja dotikajo strojne opreme ali vplivajo na druge procese, jih sme izvesti le kernel, zato syscall namenoma prečka zaščitno mejo.
User mode proti kernel mode
CPU teče v enem od (vsaj) dveh nivojev privilegijev:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
