当进程状态发生变化时,PCB 会发生什么?


进程控制块 (PCB) 用于操作系统存储有关进程的不同信息,包括进程状态、寄存器、程序计数器、寄存器等。它在发生上下文切换(当前进程被另一个具有更高优先级的进程抢占)时起着重要作用。

PCB 中存储的重要信息包括以下内容:

  • 进程号 (PID) - 用于唯一标识每个进程。

  • 程序计数器 - 它存储要执行的下一条指令的地址。

  • 寄存器信息 - 包括不同的 CPU 寄存器,例如基址寄存器、累加器和通用寄存器。

  • 状态 - 当前正在执行的进程生命周期中的状态。

下面是一个 PCB 的示例:

进程状态
进程号
程序计数器
寄存器
内存限制
打开的文件列表
----------

让我们看看 CPU 如何在进程之间切换。

这里,

  • 在上下文切换期间,操作系统必须保存当前正在执行的进程的 PCB 内容,然后为新进程创建一个新的 PCB,

  • 如果新进程已经存在,它将简单地恢复其 PCB。操作系统有一个 PCB 队列,每个进程都有自己的 PCB。

  • 所有进程及其 PCB 地址都存储在一个称为进程表的单独数据结构中。

  • PCB 拥有操作系统恢复进程执行所需的所有必要信息,这是它的主要目的。

更新于: 2021 年 12 月 1 日

1K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告