进程控制块(PCB):
用于描述进程的数据结构,描述了一个进程和其他进程以及系统资源的关系,记录了进程在各个不同时期所处的状态。
PCB至少包含如下信息:
- 进程ID:用于唯一标识每一个进程
- 进程优先级:处于就绪队列的进程被选为运行进程的优先指标
- 用户名:要求建立该进程的用户
- 设备名:建立该用户进程的终端进程所处的位置
- 进程状态
- 程序指针:进程所对应的程序的内存地址
- 程序大小:完成该进程功能的程序所需存储空间数
- 数据区指针
- 数据区大小
- CPU时间:该进程已使用的CPU时间
- 等待时间:该进程从上一次放弃CPU时间到目前的时间
- 家族:建立该进程的进程
PCB记录了进程的描述信息和控制信息,能够反映进程的动态特征,是系统感知进程存在的依据,所以PCB是进程存在的唯一标识。
进程实体由三部分组成:
- PCB
- 程序段
- 数据段
PCB的组织
为了统一管理、控制和调度进程,操作系统往往将PCB集中组织,典型的形式有表和队列。
- PCB表
- 进程队列:不同状态进程分别组成队列
PCB组织方式:
- 链接方式:将PCB用链表的形式组成队列,提高内存利用率
- 索引方式:建立一个索引表,通过索引表来找到PCB,索引方式下可以比链接方式更快地找到PCB