Process of storing the system state for one task, so that task can be paused and another task resumed.
There are three potential triggers for a context switch:
User and Kernel mode switching
Programmatic way in which a computer program requests a service from the kernel. System calls provide an essential interface between a process and the operating system.
System calls are generally not invoked directly, but rather via wrapper functions in glibc.