进程控制块¶
来源:
操作系统 / note/进程管理/进程/进程控制块.md
PCB:Process Control Block
又称进程描述符、进程属性
操作系统用于管理控制进程的一个专门数据结构,记录进程的各种属性,描述进程的动态变化过程
PCB 是操作系统为每个进程维护的一张“档案表”。
里面可能记录:
操作系统靠 PCB 来管理进程。
比如进程 A 正在运行,突然时间片到了,操作系统要切换到进程 B。它会先把 A 当前的寄存器、PC 等信息保存到 A 的 PCB 中,然后从 B 的 PCB 中恢复 B 的运行状态。
PCB是系统感知进程存在的唯一标志
进程与PCB是一一对应的
进程表:所有进程的PCB集合
链表
多个链表:
• 所有的进程、就绪态的进程、阻塞态的进程….
进程控制块包含的信息¶

进程描述信息¶
- 进程标识符(pid)
- 进程名
- 用户标识符(user ID)
- 进程组关系
CPU现场信息¶
- 寄存器值
- 指向该进程页表的指针
所拥有的资源和使用情况¶
- 虚拟地址空间的状况
- 打开文件列表
进程控制信息¶
- 当前状态
- 优先级(priority)
- 代码执行入口地址
- 程序的磁盘地址
- 运行统计信息
- 进程间同步与通信
- 进程的队列指针
- 进程的消息队列指针
进程控制操作¶
原语:完成某种特定功能的一段程序,具有不可分割性或不可中断性,即原语的执行必须是连续的,在执行过程中不允许被打断