进程控制块PCB(Process Control Block):作为进程实体的一部分,纪录操作系统所需的、用于描述进程的当前情况及管理进程运行的全部信息,是OS中最重要的纪录型数据结构。
一、功能
1.作为独立运行基本单位的标志
当系统创建一个新进程时,就建立了一个PCB,进程结束时又收回其PCB,系统通过PCB感知进程的存在,即PCB为进程存在于系统中的唯一标志。
2.实现间断性运行方式
多道程序环境下,作为传统意义上的静态程序,并不具有保护或保存自己运行现场的手段,无法保证其运行结果的可再现性,从而失去运行的意义。而PCB的存在,系统可将CPU现场信息保存在被中断进程的PCB中,供该进程再次被调度执行时恢复CPU现场时使用。
3.提供进程管理所需的信息
在进程的整个生命期中,操作系统总是根据PCB实施对进程的控制和管理。
4.提供进程调度所需的信息
补充:只有处于就绪状态的进程才能被调度执行。
5.实现与其他进程的同步与通信
进程同步机制用于实现诸进程的协调运行,在采用信号量机制时,要求在每个进程中都设置有相应用于同步得信号量,在PCB中还具有用于实现进程通信的区域或通信队列指针等。
二、存储信息
1.进程标识符:外部标识符(字母数字—用户)+内部标识符(唯一的数字标识符—系统)
2.处理机状态:处理机的状态信息也称为处理机的上下文,主要由处理机的各种寄存器中的内容组成;处理机处于执行状态时,正在处理的信息一般放于寄存器中,当进程被切换时,处理机状态信息都必须保存在相应的PCB中,以便在该进程重新执行时能再从断点继续执行。
3.进程调度信息:
1)进程状态
4.进程控制信息
三、组织方式