进程和处理机管理中的进程控制

举报
Regan Yue 发表于 2021/09/24 20:26:55 2021/09/24
【摘要】 进程和处理机管理中的进程控制在进程管理中我们会经常提到原语,那么原语是什么呢?根据资料:一般来说,我们把系统态下执行的某些具有特定功能的程序称为原语。在操作系统中,通常把进程控制程序段做成原语。有两类原语,一类是执行时不允许中断的原语,另一类是不允许并发执行的原语。创建原语创建原语负责添加PCB将程序变为进程。创建原语先查PCB链表看有无空PCB,如果没有就创建失败,如果有空PCB就取空表P...

进程和处理机管理中的进程控制

在进程管理中我们会经常提到原语,那么原语是什么呢?根据资料:

一般来说,我们把系统态下执行的某些具有特定功能的程序称为原语。在操作系统中,通常把进程控制程序段做成原语。

有两类原语,一类是执行时不允许中断的原语,另一类是不允许并发执行的原语。

创建原语

创建原语负责添加PCB将程序变为进程。创建原语先查PCB链表看有无空PCB,如果没有就创建失败,如果有空PCB就取空表PCB(i),将调用者的有关参数填入PCB(i)的相应项,然后将PCB(i)调入就绪队列,最后PCB(i)入进程家族或进程链。最后返回。

其中的有关参数包括进程名、进程优先级、进程正文段起始地址等。

撤销原语

当进程完成任务终止、遇到错误非正常终止以及父进程要求kill子进程时,进程要被撤销。此时就要用到撤销原语。

撤销原语会查进程链表或进程家族并会查之中有无PCB以及PCB中有无子进程,如果有子进程就去子进程查进程链表或进程家族并会查之中有无PCB以及PCB中有无子进程。如果没有子进程了,就释放该进程所占用的资源,并会释放该PCB结构本身。最后返回。

阻塞原语

阻塞原语完成进程的执行态到阻塞态的转变。阻塞原语是被进程自己调用来阻塞自己。阻塞原语被调用时,会保存当前进程的CPU现场,然后置该进程的状态,然后被阻塞的进程入等待队列,最后转进程调度。这里转进程调度是十分重要的,不然,CPU会因为空转而浪费资源。

唤醒原语

唤醒原语是不能由一个被阻塞的进程调用来唤醒自己的。为什么呢?因为处于阻塞态的进程是不能调用CPU的。唤醒一个进程有两种方式,第一章是由系统进程唤醒,另一种是由事件发生进程唤醒。唤醒原语被调用时,从等待队列中摘下被唤醒的进程,将被唤醒的进程设置为就绪状态,然后将唤醒进程送入就绪队列,最后转进程调度或返回。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。