System calls allow programs to request services from the operating system kernel. They can be invoked from assembly language or C/C++ and switch the CPU between user and kernel mode. Parameters are typically passed through registers, memory blocks, or the stack. Common system calls manage processes, files, devices, system information, and communication between programs.