当进程状态发生变化时,PCB 会发生什么?
进程控制块 (PCB) 用于操作系统存储有关进程的不同信息,包括进程状态、寄存器、程序计数器、寄存器等。它在发生上下文切换(当前进程被另一个具有更高优先级的进程抢占)时起着重要作用。
PCB 中存储的重要信息包括以下内容:
进程号 (PID) - 用于唯一标识每个进程。
程序计数器 - 它存储要执行的下一条指令的地址。
寄存器信息 - 包括不同的 CPU 寄存器,例如基址寄存器、累加器和通用寄存器。
状态 - 当前正在执行的进程生命周期中的状态。
下面是一个 PCB 的示例:
进程状态 |
进程号 |
程序计数器 |
寄存器 |
内存限制 |
打开的文件列表 |
---------- |
让我们看看 CPU 如何在进程之间切换。
这里,
在上下文切换期间,操作系统必须保存当前正在执行的进程的 PCB 内容,然后为新进程创建一个新的 PCB,
如果新进程已经存在,它将简单地恢复其 PCB。操作系统有一个 PCB 队列,每个进程都有自己的 PCB。
所有进程及其 PCB 地址都存储在一个称为进程表的单独数据结构中。
PCB 拥有操作系统恢复进程执行所需的所有必要信息,这是它的主要目的。
广告