雪月书韵茶香 雪月书韵茶香

专心做可以提升自己的事情
学习并拥有更好的技能
成为一个值得交往的人


目录
PCB (Process Control Block)--进程的高级管家
/  

PCB (Process Control Block)--进程的高级管家

PCB (Process Control Block)--进程的高级管家

大纲导图

PCB 是何物?

进程控制块(PCB,Process Control Block)

——中国大陆译作“进程控制块”,台湾译作“过程控制块”,香港译作“行程控制表”;亦有译作任务控制表——是操作系统核心中一种数据结构,主要表示行程状态。
为了方便对计算机中的各种资源的使用和管理,操作系统将其抽象为各种数据结构:内存表、设备表、文件表、进程控制块(PCB)
存放进程的管理和控制信息的数据结构称为进程控制块(PCB)

PCB 从哪里来又要到哪里去?

来———创建新进程

系统出现创建新进程的请求后,操作系统调用创建原语 Creat 按照如下流程创建一个新的进程
1.申请空白 PCB:为新进程申请获得唯一的数字标识符并从 PCB 集合中索取一个空白的 PCB
2.为新进程分配运行所需资源(物理资源和逻辑资源)
3.初始化 PCB:初始化标识信息、初始化处理机状态信息、初始化处理机控制信息、初始化调度信息(默认优先级最低)
4.如果进程就绪队列可以接纳新进程,新进程插入就绪队列

去———进程的终止过程

系统中发生要求终止进程的某事件,操作系统调用进程终止原语执行 如下操作
1.根据被终止的标识符,从 PCB 集合中检索出该进程的 PCB,从中读出该进程的状态
2.如果被终止进程处于执行状态,立即终止此进程执行,唤起调度把 CPU 重新分配下一个进程
3.如果该进程还有子进程,将下属所有子进程终止
4.如果该进程是子进程,将该进程所拥有的全部资源归还给父进程
5.如果该进程没有父进程,将该进程拥有资源归还给系统
6.将该被终止进程 PCB 从所在队列(链表)中移除,等待其他程序来搜集信息

PCB 里面有什么?

在 PCB 中主要包括四方面的信息

进程标识符

进程标识符用于唯一的标识一个进程。主要有内部标识符和外部标识符

外部标识符

外部标识符 是由进程创建者提供,一般是数字或者字母组成。在 Unix 操作系统中是一个整数,系统允许用户通过这个整数来 kill 这个外部标识符所对应的进程。

内部标识符

内部标识符 是为了方便系统对进程的使用,通常是一个进程的序号。

处理机状态

处理机状态信息也被成为处理机的上下文。主要是由处理机各种寄存器的内容组成的。
1.通用寄存器:用户程序可以访问的,用来暂时存放信息
2.指令寄存器:存放下一条指令的地址
3.程序状态字 PSW:例如条件码、执行方式、中断屏蔽标志等
4.用户栈指针:每个用户进程都有一个或者若干个与之相关的系统栈,存放过程和系统调用参数以及调用地址
当进程被切换时候,处理机状态信息必须都保存在相应的 PCB 中,以便在该进程重新执行时能够再从断点继续执行

进程调度信息

操作系统进行调度时候,必须要了解进程的状态以及有关进程调度的信息
1.进程状态:进程当前的状态 ready、running、waiting、blocked 中的一种
2.进程优先级:优先级高的优先获得处理机
3.进程调度所需要其他信息:如进程已等待 CPU 时间总和,进程已经执行时间总和
4.事件 :进程状态转换原因 如等待 I/O

进程控制信息

1.程序和数据的地址 :进程实体所需要的程序和数据的内外存地址
2.进程同步和通信机制:如消息队列指针、信号量等
3.资源清单:进程在运行期间所需要的所有资源清单(CPU 除外),还有已经分配到该进程的资源清单
4.链接指针:本进程 PCB 所在队列中的下一个进程的 PCB 首地址

PCB 有什么作用?

PCB 是进程的一部分,记录了操作系统所需要的用于描述进程的当前情况以及管理进程运行所需要的全部信息。

PCB 是独立运行基本单位的标志

程序 + 数据 +PCB=可独立运行的合法的基本单位,具有取得操作系统服务的权利。进程创建时候分配 PCB,进程消亡时候回收 PCB,在系统看来 PCB 是感知进程存在的唯一标志。

PCB 能实现间断性的运行方式

在多道程序环境下,程序是通过 CPU 时间片轮转来运行的。也就是停停走走间断式运行。当一个进程因为阻塞或者时间片用完转为就绪状态时候,该进程的 PCB 必须把当前所有的环境信息全部存起来,来保证下次运行时候的 CPU 现场恢复。
如果没有 PCB 存放这些信息,将无法保证运行结果的可再现性质。

PCB 能提供进程管理所需要的信息

操作系统要根据 PCB 中存放的程序和数据的内外存地址找到该进程对应的程序和数据,还有要根据 PCB 存放的资源清单找到该进程所需要的所有资源。PCB 对于操作系统对进程的管理和控制起到了至关重要的作用。

PCB 能提供进程调度所需要的信息

操作系统要根据 PCB 存放的进程优先级和进程状态等信息来进行进程的调度管理

PCB 能实现与其他进程的同步和通信


标题:PCB (Process Control Block)--进程的高级管家
作者:shuaibing90
版权声明:本站所有文章除特别声明外,均采用 CC BY-SA 4.0转载请于文章明显位置附上原文出处链接和本声明
地址:https://www.xysycx.cn/articles/2019/10/08/1570544185891.html
欢迎加入博主QQ群点击加入群聊:验证www.xysycx.cn