目 录CONTENT

文章目录

在进行进程切换时,操作系统需要保存哪些上下文信息?

TalentQ
2025-09-09 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

进程切换,也称为上下文切换(Context Switch),是操作系统内核将CPU从一个正在运行的进程切换到另一个就绪进程的过程。为了保证被切换走的进程将来能毫无差异地恢复执行,内核必须保存其完整的上下文。

上下文信息主要分为两大类:处理器硬件上下文系统资源上下文

其一,处理器硬件上下文,即CPU核心寄存器的状态。这是切换时必须保存的最小、最关键的数据集,包括程序计数器(PC/EIP/RIP)以指示下一条执行指令,栈指针(SP/ESP/RSP)以维护正确的函数调用栈和局部变量空间,帧指针(FP/EBP/RBP),通用寄存器(如EAX, EBX等)中存储的中间计算结果,以及程序状态字(PSW/EFLAGS)中的条件码和状态标志。

其二,系统级管理上下文,它定义了进程的运行环境。主要包括内存管理单元(MMU)的状态,如页表基址寄存器(CR3),它决定了进程的虚拟地址空间;以及进程控制块(PCB)中记录的系统资源信息,如打开的文件描述符表、信号处理状态、进程权限、调度参数和进程间通信(IPC)状态等。

综上所述,上下文切换的本质就是将上述执行状态“现场”保存到当前进程的进程控制块(PCB)中,并将下一个进程的上下文从其PCB中恢复到硬件寄存器及系统管理中,从而实现进程的挂起与恢复。

0

评论区