Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

第五十五章:进程控制块与进程状态

复习

  • 内核负责创建、装入、结束和回收进程。

TL;DR

  • 进程控制块保存内核管理一个进程所需的记录。
  • 运行、就绪和阻塞说明进程分别在用 CPU、等 CPU 或等事件。

正文

  内核不能把进程的所有信息记在“脑中”。它为每个进程保存一份进程控制块(PCB):其中有进程编号、寄存器现场、状态、调度信息、内存映射和打开资源的索引等。

  一个进程可能是运行的,表示它此刻占用 CPU;也可能是就绪的,表示万事具备只等 CPU;还可能是阻塞的,例如正在等待键盘输入或磁盘完成。阻塞不是“没有工作”,而是继续运行也不会取得进展,应该先让出 CPU。

  状态和 PCB 让内核可以从一堆进程中挑选下一个。真正换人时,要如何保存一个现场、恢复另一个现场?

思考题

等待磁盘读取的进程为什么不应一直处于运行状态?

小结

  • PCB 是内核记录进程状态和资源的档案。
  • 运行、就绪、阻塞区分 CPU 与外部事件的等待关系。

思考题答案(仅供参考)

  磁盘尚未给出数据时它无法继续计算;让它占着 CPU 只会浪费时间,其他就绪进程可以先运行。

协议

本文采用 CC BY-NC-SA 4.0 协议发布。