进程控制块是操作系统中最重要的数据结构,每个进程控制块包含了操作系统在调度、资源分配、中断处理、性能监控和分析所需的关于进程的所有信息。
进程控制块信息可以分为三类:进程标识信息、处理器状态信息、进程控制信息。
进程标识信息
进程标识符主要包括:当前进程的标识符(Process ID,pID)、创建这个进程的父进程的标识符、用户标识符(User ID)。
操作系统的许多其他表可以使用进程标识符来交叉引用进程表,如内存表可以使用进程标识符来标明每个区域分给了哪个进程。
处理器状态信息
处理器状态信息包括处理器寄存器的内容。具体寄存器的种类和数目取决于处理器的设计,通常包括用户可见寄存器、控制和状态寄存器(如程序计数器PC、程序状态字PSW等)和栈指针。
进程控制信息
进程控制信息是操作系统调度进程所需的额外信息,可能包括以下内容。
- 调度和状态信息调度和状态信息包括:
- 当前进程状态:运行态、就绪态等;
- 优先级:当前进程调度优先级、最高优先权等;
- 调度相关信息:根据具体的调度算法所决定,如进程的CPU时间、等待时间等。
- 数据结构
- 进程间通信:与进程通信相关的各种标记、信号和信息。
- 进程特权:
- 存储管理:包括描述分配给进程的虚拟内存空间的段表、页表的指针。
- 资源所有权和使用情况:处理器、文件和其他资源的使用信息。