上下文切换就是CPU在切换时,恢复之前的状态。
以进程的上下文切换为例
一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。
- 用户级上下文: 正文、数据、用户堆栈以及共享存储区;
- 寄存器上下文: 通用寄存器、程序寄存器(IP)、处理器状态寄存器(EFLAGS)、栈指针(ESP);
- 系统级上下文: 进程控制块task_struct、内存管理信息(mm_struct、vm_area_struct、pgd、pte)、内核栈。
上下文切换就是CPU在切换时,恢复之前的状态。
一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。