进程控制块

为实现进程模型,操作系统维护一张进程表,每个进程占用一个进程表项,即进程控制块。

PCB包含了进程状态的重要信息。包括状态(运行、就绪、阻塞)、进程优先级、进程ID、父进程、进程组、文件描述符等。

在不同的操作系统中对进程的控制和管理机制不同,PCB中的信息多少也

不一样,通常PCB应包含如下一些信息。

1、进程标识符name:

每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数

字。

2、进程当前状态 status:

说明进程当前所处的状态。为了管理的方便,系统设计时会将相

同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等

待的事件组成多个等待队列,如等待打印机队列、等待磁盘I/O完成队列

等等。

3、进程相应的程序和数据地址,以便把PCB与其程序和数据联系起来。

4、进程资源清单。列出所拥有的除CPU外的资源记录,如拥有的I/O设备

,打开的文件列表等。

5、进程优先级priority:

进程的优先级反映进程的紧迫程度,通常由用户指定和系统设置。

6、CPU现场保护区cpustatus:

当进程因某种原因不能继续占用CPU时(如等待打印机),释放CPU

,这时就要将CPU的各种状态信息保护起来,为将来再次得到处理机恢复

CPU的各种状态,继续运行。

7、进程同步与通信机制 用于实现进程间互斥、同步和通信所需的信号

量等。

8、进程所在队列PCB的链接字 根据进程所处的现行状态,进程相应

的PCB参加到不同队列中。PCB链接字指出该进程所在队列中下一个进程

PCB的首地址。

9、与进程有关的其他信息。 如进程记账信息,进程占用CPU的时间等

原文地址:https://www.cnblogs.com/helloweworld/p/3107128.html