T21 Dec 18, 2025 2 min read

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?”