第五十五章:进程控制块与进程状态
复习
- 内核负责创建、装入、结束和回收进程。
TL;DR
- 进程控制块保存内核管理一个进程所需的记录。
- 运行、就绪和阻塞说明进程分别在用 CPU、等 CPU 或等事件。
正文
内核不能把进程的所有信息记在“脑中”。它为每个进程保存一份进程控制块(PCB):其中有进程编号、寄存器现场、状态、调度信息、内存映射和打开资源的索引等。
一个进程可能是运行的,表示它此刻占用 CPU;也可能是就绪的,表示万事具备只等 CPU;还可能是阻塞的,例如正在等待键盘输入或磁盘完成。阻塞不是“没有工作”,而是继续运行也不会取得进展,应该先让出 CPU。
状态和 PCB 让内核可以从一堆进程中挑选下一个。真正换人时,要如何保存一个现场、恢复另一个现场?
思考题
等待磁盘读取的进程为什么不应一直处于运行状态?
小结
- PCB 是内核记录进程状态和资源的档案。
- 运行、就绪、阻塞区分 CPU 与外部事件的等待关系。
思考题答案(仅供参考)
磁盘尚未给出数据时它无法继续计算;让它占着 CPU 只会浪费时间,其他就绪进程可以先运行。
协议
本文采用 CC BY-NC-SA 4.0 协议发布。