system call (syscall) คือกลไกที่โปรแกรมใน user space ใช้ร้องขอบริการจาก kernel — เปิดไฟล์, ส่งข้อมูลผ่านเครือข่าย, จองหน่วยความจำ, สร้างโปรเซส เพราะการกระทำเหล่านี้แตะฮาร์ดแวร์หรือส่งผลกระทบต่อโปรเซสอื่น จึงมีเพียง kernel เท่านั้นที่ได้รับอนุญาตให้ทำ ดังนั้น syscall จึงจงใจข้ามขอบเขตการป้องกัน
user mode กับ kernel mode
CPU ทำงานในระดับสิทธิ์หนึ่งในสอง (อย่างน้อย) ระดับ:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
