system call
also: syscall, system trap
A system call is a request from a user-space program to the Linux kernel to perform a privileged operation that the program cannot do directly, such as reading files, allocating memory, or creating processes.
A system call is the primary interface between user-level applications and the Linux kernel. When a program needs to perform operations that require special privileges—like accessing hardware, managing memory, or performing I/O—it makes a system call, which transitions the CPU from user mode to kernel mode to execute the operation safely.
Common examples include open() to access files, fork() to create new processes, read() and write() for I/O, and malloc() for memory allocation. Each system call has a number; for instance, on x86-64 Linux, open() is syscall #2.
You can trace system calls using strace, which shows exactly what syscalls a program makes. For example, strace ls reveals all the file operations and kernel interactions that the ls command performs.