System call (syscall) on mekanismi, jolla user-space-ohjelma pyytää palvelua kerneliltä — tiedoston avaaminen, verkkodatan lähettäminen, muistin varaaminen, prosessin luominen. Koska nämä toiminnot koskevat laitteistoa tai vaikuttavat muihin prosesseihin, vain kernel saa suorittaa ne, joten syscall ylittää tarkoituksellisesti suojarajan.
User mode vs. kernel mode
CPU ajaa (ainakin) yhdessä kahdesta etuoikeustasosta:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
