System calls allow programs to request services from the operating system kernel. They are generally implemented as assembly instructions and can be invoked from C/C++. Parameters can be passed via registers, memory blocks, or pushing to the stack. System calls are categorized as process control, file management, device management, information maintenance, and communication. Examples provided include creating and terminating processes, opening and closing files, reading/writing devices, getting time/date, and sending/receiving messages.