简述PCB的含义和作用

为了使参与并发执行的每个程序,包括数据都可以独立运行,必须在操作系统中为其配置一个特殊的数据结构,称为进程控制块(PCB,过程控制块)。 工艺与PCB是一一对应的,用户工艺不能修改。

印刷电路板

过程控制块PCB的作用:

为了便于系统描述和管理进程的运行,在OS-Process Control Block PCB(进程控制块)的核心中为每个进程专门定义了一个数据结构。 PCB作为流程实体的一部分,记录了操作系统需要的所有信息,用于描述流程的当前情况,管理流程的运行。 它是操作系统中最重要的记录数据结构。 PCB的作用是使在多程序环境中不能独立运行的程序(包括数据)成为一个可以独立运行的基本单元,一个可以与其他进程并发执行的进程。

(2)PCB可实现间歇运行模式。 在多程序环境中,程序以走走停停的间歇操作模式运行。 当一个进程因阻塞而被挂起时,它在运行时必须保留CPU站点信息。 有了PCB后,系统可以将CPU站点信息保存在中断进程的PCB中,以备进程再次调度执行时CPU站点恢复时使用。 因此,可以再次明确,在多程序环境下,作为传统意义上的静态程序,由于没有保护或保存自身运行站点的手段,因此无法保证其运行结果的可再现性。 ,从而失去其操作。 意义。

(3) PCB 提供工艺管理所需的信息。 调度器在调度进程运行时,只能根据进程的PCB中记录的程序的起始地址指针和数据,在内存或外存中找到对应的程序和数据; 在运行过程中,当需要访问文件时,系统中的文件或I/O设备,也需要依赖PCB中的信息。 另外,根据PCB中的资源列表,可以了解到该流程所需的所有资源。 可见,在一个流程的整个生命周期中,操作系统始终根据PCB对流程进行控制和管理。

(4) PCB 提供进程调度所需的信息。 只有处于就绪状态的进程才能被调度执行,PCB提供进程处于什么状态的信息。如果进程处于就绪状态,系统将其插入进程就绪队列中,等待调度器调度; 另外,在调度的时候往往需要知道进程的其他信息。 比如在优先级调度算法中,需要知道进程Priority。 在一些更公平的调度算法中,还需要知道进程的等待时间和已经执行的事件。

(5)PCB实现与其他进程的同步和通信。 进程同步机制用于实现各个进程的协同运行。 采用信号量机制时,需要在每个进程中设置相应的同步信号量。 PCB还有一个区域或通信队列指针,用于进程通信。

进程控制块中的信息:

在进程控制块中,主要包括以下信息:

(1)进程标识符:进程标识符用于唯一地指示一个进程。 一个进程通常有两种标识符: ① 外部标识符。 为了方便用户进程访问进程,必须为每个进程设置一个外部标识符。 它由创建者提供,通常由字母和数字组成。 为了描述进程的家族关系,还需要设置父进程ID和子进程ID。 此外,可以设置用户 ID 来指示拥有进程的用户。 ②内部标识符。 为了方便系统对进程的使用,OS中为进程设置了一个内部标识符,即给每个进程一个唯一的数字标识符,通常是一个进程的序列号。

(2)处理器状态:处理器状态信息也称为处理器的上下文,主要由处理器的各种寄存器的内容组成。 这些寄存器包括: ①通用寄存器,也称为用户可见寄存器,可供用户程序访问,用于临时存储信息。 在大多数处理器中,有 8 到 32 个通用寄存器。 在RISC结构的计算机中,可以有100多个; ②指令计数器,存储下一条要访问的指令的地址; ③程序状态字PSW,包含状态信息,如条件码、执行方式、中断屏蔽标志等; ④用户栈指针,表示每个用户进程有一个或多个相关的系统栈,用于存储进程和系统调用参数和调用地址。 栈指针指向栈顶。 当处理器处于执行状态时,大部分正在处理的信息都放在寄存器中。 进程切换时,处理器状态信息必须保存在对应的PCB中,以便进程重新执行时可以从断点处继续执行。

(3)进程调度信息:OS在调度时,需要了解进程的状态和进程调度的信息。 这些信息包括: ①进程状态,表示进程的当前状态,作为进程调度和交换的依据 ②进程优先级是一个整数,用于描述使用处理器的进程的优先级。 优先级高的进程应该先得到处理器; ③进程调度所需的其他信息,与所使用的进程调度算法有关,例如进程等待CPU的时间总和,进程已经执行的时间总和等; ④事件是指等待进程从执行状态变为阻塞状态的事件,即阻塞的原因。

(4)进程控制信息:指进程控制所必需的信息,包括: ①程序和数据的地址,程序和数据在进程实体中的内存或外存地址,以便调度到进程执行时执行。 ,程序和数据可以从PCB上查到; ②进程同步和通信机制,是同步和进程通信的必要机制,如消息队列指针、信号量等,它们可以全部或部分放置在PCB中; ③资源列表,其中列出了进程在运行过程中所需的所有资源(CPU除外),还有一个分配给该进程的资源列表; ④链接指针,给出进程(PCB)队列中下一个进程的PCB的首地址。