首页 > 系统服务 > 详细

进程管理之进程控制

时间:2021-05-19 16:36:04      阅读:13      评论:0      收藏:0      [点我收藏+]

进程控制

什么是进程控制?

进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程,撤销已有进程,实现进程状态转换等功能

简化理解:进程控制就是要实现进程状态的转换。

怎么实现进程控制?

使用“原语”来实现进程控制。
原语是一种特殊的程序,它的执行具有原子性。也就是说,这段程序的运行必须是一气呵成的,不可中断。 
可以使用开中断指令关中断指令这两个特权指令实现原子性。

关中断指令和开中断指令之间的指令序列是不可被中断的。这就实现了“原子性”。

进程控制相关的原语

  • 创建原语:
    • 申请空白PCB
    • 为新进程分配所需资源
    • 初始化PCB
    • 将PCB插入到就绪队列
  • 撤销原语:
    • 从PCB集合中找到终止进程的PCB
    • 若进程正在运行,立即剥夺CPU,将CPU分配给其他进程
    • 终止其所有子进程
    • 将该进程拥有的所有资源归还给父进程或操作系统
    • 删除PCB
  • 阻塞原语:
    • 找到要阻塞的进程的PCB
    • 保护进程运行现场,将PCB状态信息设置为阻塞态,暂时停止进程运行
    • 将PCB插入到相应事件的等待队列。
  • 唤醒原语:
    • 在事件等待队列中找到PCB
    • 将PCB从等待队列中一处,设置进程为就绪态
    • 将PCB插入就绪队列,等待被调度
    • 一个进程被什么事件阻塞就应该被什么事件唤醒,阻塞与唤醒原语是成对使用的
  • 切换原语:
    • 将运行环境信息存入PCB
    • PCB移入相应队列
    • 选择另一个进程执行,并更新其PCB
    • 根据PCB恢复新进程所需的运行环境
    • 在进程切换时先在PCB中保存这个进程的运行环境(保存一些必要的寄存器信息)

总结

无论是哪个进程控制原语,要做的无非是三件事情:

    1. 更新 PCB中的信息(修改进程状态,保存/回复运行环境)
    2. 将PCB插入到合适的队列
    3. 分配/回收资源

进程管理之进程控制

原文:https://www.cnblogs.com/zhang-gongStudy/p/14784388.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!