Syscall
ELI5 - The Vibe Check
A syscall is your program raising its hand and asking the operating system kernel to do something it isn't allowed to do itself, like reading a file, opening a network connection, or allocating memory. Your program can't touch hardware directly for safety reasons, so it has to ask the kernel to do it on its behalf, and that ask-and-wait round trip isn't free, it's one of the reasons doing less I/O is such a common performance tip.
Real Talk
A system call (syscall) is a controlled entry point that lets a user-space program request a service from the operating system kernel, such as file I/O, memory allocation, or process management, since user-space code doesn't have direct hardware access. Each syscall involves a context switch into kernel mode and back, which carries measurable overhead, so I/O-heavy programs often try to batch or reduce the number of syscalls they make.
When You'll Hear This
"strace showed thousands of tiny read syscalls, that's why it's slow." / "Batching those writes cut our syscall count by 90%."
Related Terms
Context Switch
A context switch is the CPU pausing whatever thread it's running, carefully saving all its progress like a bookmark, and loading up a completely different...
io_uring
io_uring is a modern Linux way of asking the kernel to do I/O work that skips almost all the usual back-and-forth.
Page Fault
A page fault happens when your program reaches for a piece of memory that isn't actually sitting in physical RAM yet, maybe it was swapped out, maybe it's...
Zero-Copy
Normally, sending a file over the network means the OS copies its bytes from disk into your program's memory, then your program hands it to the OS again to...