1. process switching: to control the execution of processes, the kernel must be able to suspend processes running on the CPU and resume a previously suspended process, this capability is called process switching, task switching, or context switching.
2. hardware context:
Although each process can have its own address space, all processes must share the CPU register. Therefore, before resuming a process, the kernel must ensure that each register is loaded with the value of the suspended process.
The group of data in the register must be loaded into the hardware context before the process resumes execution.
Process switching can be expressed as follows: Save the hardware context of the process to be switched, and replace it with the hardware context of the process to be switched in. Linux2.6 use the software for process switching.
Process switching only occurs in the kernel state.