操作系统知识整理 - 进程控制块

版权声明: https://blog.csdn.net/Ha1f_Awake/article/details/85344954

前提

系统中需要有描述进程存在和能够反映其变化的物理实体,即进程的静态描述

进程的静态描述由3部分组成:进程控制块(Process Control Block,PCB),有关程序段和该程序段操作的数据结构集

PCB是系统感知进程的唯一实体用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构

程序段以及数据结构集是进程完成所需功能的物质基础

一个进程的PCB全部或部分常驻内存,而程序段和数据结构集存放在外存

进程控制块的内容

PCB集中反映一个进程的动态特征,创建一个进程时,应首先创建其PCB,然后根据PCB中的信息对进程实施有效的管理和控制。当一个进程完成其功能时,系统会通过释放PCB来释放进程所占有的各种资源,进程也随之消亡。

1)进程标识符

内部标识符:对于系统而言,每个进程都有唯一的进程名或进程标识号,用于识别每个进程;

外部标识符:由用户提供的标识符,有利于资源共享和保护;为了描述家族关系的标识符,表示进程之间的关系。

2)处理机状态

通用寄存器:用于暂存信息;

指令计数器:存放下一个指令的地址;

程序状态字PSW:包含状态信息;

用户栈指针:指向与进程相关的系统栈,系统栈用于存放过程和系统调用参数及调用地址。

3)进程调度信息

进程状态;

进程优先级;

与进程调度算法相关的其他信息:如进程已等待CPU的时间、预计执行时间等等;

事件:进程由执行状态转变为阻塞状态后等待的事件,即阻塞原因。(可回顾进程状态转换

4)进程控制信息

进程的程序段数据结构集的地址;

进程同步通信机制;

进程运行所需要的资源清单:包括有关存储器的信息、使用输入输出设备的信息和有关文件系统的信息等。

链接指针:指向下一个进程的PCB的首地址。

5)CPU现场保护区

若进程因等待某个事件而进入阻塞状态或因某个事件发生而被中止在处理机上的执行,为了以后该进程能在被打断出恢复执行,需要设置专门的CPU现场保护区,以存储退出执行时的进程现场数据

由于PCB中包含较多信息,往往要占据较大的存储空间(一般占几百到几千个字节),所以在某些系统中为了减少PCB对内存的占用量,只允许 PCB中最常用的部分保存在内存中,其他部分则存放于外存,待该进程将要执行时,与其他数据一起装入内存。

猜你喜欢

转载自blog.csdn.net/Ha1f_Awake/article/details/85344954