2.3 进程控制块及其作用、组织方式

进程控制块中的信息

1) 进程标识符

(1) 内部标识符
    操作系统为每一个进程赋予的唯一数字标识符,系统使用
(2) 外部标识符
    有创建者提供,通常有字母与数字组成,往往是由用户(进程)在访问该进程时使用。
    描述进程的家族关系,设置父进程标识及子进程标识,还可设置用户标识,以指示拥有该进程的用户。

2) 处理机状态(处理机状态信息)

主要是由处理机的各种寄存器中的内容组成的,处理机被中断时,所有这些信息都必须保存在PCB中,
以便在该进程重新执行时,能从断点继续执行。
通用寄存器、指令计数器、程序状态字PSW、用户栈指针

3) 进程调度信息(与进程调度和进程对换有关的信息)

进程状态
进程优先级
进程调度所需的其它信息:与进程调度算法有关事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因

4) 进程控制信息

程序和数据的地址
进程同步和通信机制
资源清单:除CPU以外的、进程所需的全部资源及已经分配到该进程的资源
链接指针:了本进程(PCB)所在队列中 的下一个进程的 PCB的首地址

作用

    PCB 可以被操作系统中的多个模块读或修改,如被调度程序、资源分配 程序、中断处理程序以及监督
    和分析程序等读或修改。
    OS是根据 PCB来对 并发执行的进程进行控制和管理
    是操作系统中最重要的记录型数据结构
    Linux 系统中用 task_struct 数据结构,
    Windows:执行体进程块(EPROCESS)
    使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,
    一个能与其它进程并发执行的进程
        (第四版)
        1、作为独立运行基本单位的标志
        2、能实现间断性运行方式
        3、提供进程管理所需要的信息
        4、提供进程调度所需要的信息
        5、实现与其他进程的同步与通信

组织方式

(PCB通常是系统内存占用区中的一个连续存区)

1线性方式

把所有PCB组织在一张线性表中,将该表的首地址存放在内存的一个专用区域中,每次查找是需要扫描全表,
适用于系统中进程数目不多的情况。

2链接方式

把具有同一状态的 PCB,用其中 的链接字链接成一个队列,PCB存储在一个连续的存区。

3索引方式

各个索引表在内存单元中的首地址也记录在内存中的专用单元中,
用添加索引表的方式记录具有相应状态下的某个PCB在PCB表中的地址。

- 下一页