System call
A controlled request from user space into the kernel to perform a privileged operation like I/O, process management, or memory mapping.
Definition
A system call is a controlled entry point from user space into the kernel to request a privileged operation.
It’s how programs ask the operating system to do real-world work: I/O, process creation, timers, networking, and more.
What counts as a “privileged operation”
Common categories of syscalls include:
- filesystem: open/read/write/close, stat, chmod
- processes: fork/exec/spawn, wait, signals
- networking: network socket, bind, connect, send/recv
- memory: mmap/munmap, page protection changes
- time: sleep, timers, get time
In many languages you don’t call syscalls directly. You call a library, which calls the OS on your behalf.
Why syscalls matter for debugging
Syscalls are where OS policy becomes visible:
- “permission denied” means the kernel rejected the request
- timeouts and stalls often involve scheduling or I/O behavior
- resource exhaustion shows up as syscall failures (too many open files, out of memory)
Thinking “which syscall is failing?” is often a faster path than thinking “which line of business logic is broken?”