PCB进程的创建和终止过程

描述

  PCB进程控制块

  独立运行基本单位的标志:创建进程时创建PCB,进程结束时回PCB,进程随之消亡。系统是通过PCB,感知进程的存在。PCB已成为,进程存在于系统中的唯一标志。

  实现间断性运行方式:进程暂停运行时,必须保留,运行时的CPU等相关信息。进程被再次运行时,需恢复CPU等相关信息。

  提供进程管理需要的信息:当进程开始运行时,根据该进程PCB中,记录的程序和数据,在内存或外存中起始地址指针,找到相应的程序和数据。

  提供进程调度需要的信息:只有处于就绪状态的进程,才能被调度。而进程的状态就记录在PCB中、以及优先级、等待时间、已执行时间等其他信息。

  实现与其他进程的同步与通信:进程同步机制,用于实现多进程协调运行。在PCB中,具有实现进程通信的区域或通信队列指针等。

  PCB进程控制块中的信息:PCB中的信息大致上可分为4类,分别是:进程标识符、CPU状态、调度信息、控制信息。

  进程标识符:分外部标识符和内部标识符,外部标识符即进程名称,可由父进程指定,通常包括字符和数字的组成。内部标识符,由操作系统提供的,具有唯一性的进程ID。

  CPU状态:主要由各种寄存器中内容组成,如通用寄存器、指令计数器(下一条指令的地址)、程序状态(状态信息、条件码、执行方式、屏蔽中断等标志)和栈指针(指向用于存放过程和系统调用参数及调用地址的系统栈的栈顶)构成。

  调度信息:包含进程状态、进程优先级、其他信息、事件(阻塞原因)。

  进程状态,是进程调度和对换时的依据,优先级高的进程,应优先获得CPU执行。

  控制进程所必须的信息,包括程序和数据的存储地址,以便调度该进程执行时,能从PCB中找到其程序和数据,进程同步和通信机制,如消息队列、信号量等。

  进程的创建和终止过程

  创建进程过程:向操作系统申请空白PCB及进程ID、分配运行所需的资源、初始化PCB、等待插入进程调度就绪队列。

  相关资源或从操作系统或从父进程获得,资源需求需提前告知,操作系统或父进程好为其分配资源。

  PCB至少有2种信息需要初始化

  1.标识信息,即将本进程ID和父进程ID填入PCB控制块中

  2.状态信息,指令计数器指向程序的入口地址、栈指针指向栈顶控制信息。

  进程的终止分为:读取进程状态、终止进程、终止子孙进程、释放资源、移出PCB队列。

  操作系统通过进程ID从PCB集合中检索出该进程的PCB,从中读出该进程的状态。

  如果该进程状态为执行态,则终止进程的执行,并重置调度标志位真。

  如果该进程拥有子孙进程,则一并将所有子孙进程终止,防止子孙进程成为僵尸进程等不可控的进程。

  接着释放资源,将资源归还给操作系统或父进程。最后就是移出PCB队列了,等待其他进程搜集信息。

  进程阻塞和唤醒的事件

  1.请求系统服务而得不到满足时,如问系统请求打印。

  2.启动的操作需同步时:如该操作和请求该操作的进程需同步运行。

  3.新数据尚未到达:如进程A写,进程B读,则A未写,完B不能读。

  4.无新工作可做。

  进程的挂起和激活

  1.进程的挂起过程,由进程自己,或其父进程suspend原语完成。将该进程PCB移到指定区域,注意状态的改变,有可能要重新调度。

  2.进程的激活过程,激活active原语激活进程。激活原语将进程从外存调入内存,检查该进程的现行状态并进行相应操作。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分