Një system call (syscall) është mekanizmi që një program në user-space përdor për të kërkuar një shërbim nga kernel-i — hapja e një file, dërgimi i të dhënave në rrjet, alokimi i memories, krijimi i një process. Meqë këto veprime prekin hardware-in ose ndikojnë procese të tjera, vetëm kernel-i mund t'i kryejë, prandaj një syscall qëllimisht e kalon kufirin e mbrojtjes.
User mode vs kernel mode
CPU-ja ekzekutohet në një nga (të paktën) dy nivele privilegji:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
