os-进程控制

进程控制是通过进程控制原话实现的。用于进程控制的隐语主要包括:创建 j京语、阻塞原 语、撤销原语、唤醒原语、优先级!以语和 l调皮!反语。在中,结束语是一个不可分割的基 本单位。它们可以被系统本身调用,有的也以软中断形式供用户进程调用。

通常中设置气种队列:执行队列、就绪队列和阻塞队列,队列的类型与状态机的 状态设置有关。在单处理器系统中执行队列只有一个成员。一般阻塞队列的个数取决于等待事 件(原因)的个数。新创建的进程处于就绪队列。

(1)创建原语。用来创建一个新进程。即当前运行进程从空白 PCB 队列中申请一个空白 PCB ,同时获得该进程的内部标识:然后将有关参数(如进程的优先级、 CPU 的初始状态、内 存大小和资源清单等)填入新创建进程 PCB 中,并置这个新进程的状态为“就绪”:最后,把这 个填好的 PCB 插入到进程的就绪队列中,新进程即随之产生。新建立的进程开始处于就绪状 态。大多数进程是在系统运行过程中动态地产生的。常用建立进程的方法有两种:一种是创建法,对外提供一条创建进程的原语,该原语的功能是为调用者动态地建立一个所需的 进程,所有的时户进程和许多的系统进程均是用这种方法创建的:另 种方法是生成法,在系统生成的同时,就建立一些系统进程,并永久地常驻在系统内部。创建进程的重要工作是建立 PCB ,井装配进程的实体。

(2 )阻塞原语。当运行进程所期待的某一事件,尚未出现时,运行进程就调用阻塞原语把自 己阻塞起来。因运行进程正处于运行状态,故先中断 CPU 停止该进程的运行,并把 CPU 现场 信息保存到 PCB 中:然后该进程为“阻塞”状态,并将其 PCB 插入到进程的阻塞队列中,最后 执行进程调度程序,战照某种调度从进程的就绪队列中i主取一个就结进程投入运行。阻塞 原 吾也可将指定的进程变为阻塞状态。

(3 )唤醒原语。当被阻塞的进程所期待的事件出现时,由当前运行进程执行唤醒原语来唤 醒被阻塞的进程。即将期待该事件的阻塞进程从阻塞队列中摘下米,再将其置为“就绪”状态 后插入就绪队列中。运行进程继续执打。

(4)撤销原语。当一个进程完成其规定的任务后应予以撤销。即通过调用者提供的进程标

志符作为索引,到 PCB 集合中寻找对应的 PCB ,并获得该进程的内部标识及状态。若该进程 处于运行状态,则中断 CPU 停止该进程的执行,并设置重新进行进程调度的标志,同时撤销 该进程及其子孙进程,并回收被撤销进程的所有资源及 PCB 。若重新调度的标志为真,则执行 进程调度程序重新选择一个就绪进程投入运行。

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《os-进程控制
本文地址:https://www.zhiletu.com/archives-5411.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!