A system call (syscall) is the mechanism a user-space program uses to request a service from the kernel — opening a file, sending network data, allocating memory, creating a process. Because these actions touch hardware or affect other processes, only the kernel may perform them, so a syscall deliberately crosses the protection boundary.
User mode vs kernel mode
The CPU runs in one of (at least) two privilege levels:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
