进程控制【操作系统学习笔记】

编程入门 行业动态 更新时间:2024-10-23 16:16:25

进程控制【操作系统<a href=https://www.elefans.com/category/jswz/34/1770117.html style=学习笔记】"/>

进程控制【操作系统学习笔记】

9.进程控制

🍅基本概念

  • (概念)进程控制就是要实现进程状态的转换
  • 进程控制用原语实现
    • 原语用开/关中断来实现
      • 开/关中断指令的权限非常大,是只允许在核心态下执行的特权指令
      • 故原语运行在核心态
    • 原语是一种特殊的程序
    • 原语的执行必须一气呵成,不可中断(原语的特点)
      • 这种不可被中断的操作即为原子操作

🍅相关原语

无论哪个原语,无非做这三件事情

  1. 更新PCB中的信息(如进程状态标志,从PCB恢复运行环境)
  2. 将PCB插入合适的队列
  3. 分配/回收资源

而相关的原语有:

  • 进程的创建

    • 创建原语
      • 申请空白PCB
      • 为新进程分配所需资源
      • 初始化PCB
      • 将PCB插入就绪队列
  • 进程的终止

    • 撤销原语
      • 从PCB集合中找到终止进程的PCB
      • 若进程在运行,则立刻剥夺CPU,将CPU分配给其他进程
      • 终止其所有子进程
      • 将该进程拥有的所有资源归还给父进程或操作系统
      • 删除PCB
  • 进程的阻塞

    • 阻塞原语
      • 找到要阻塞的进程对应的PCB
      • 保护进程运行现场,将PCB状态信息设置为阻塞态,暂时暂停进程运行
      • 将PCB插入相应事件的等待队列
  • 进程的唤醒

    • 唤醒原语
      • 在事件等待队列中找到PCB
      • 将PCB从等待队列移除,设置进程为就绪态
      • 将PCB插入就绪队列,等待被调度
  • 进程的切换

    • 切换原语
      • 将运行环境信息存入PCB
      • PCB移入相应队列
      • 选择另一个进程执行,并更新其PCB
      • 根据PCB恢复新进程所需的运行环境

其中,阻塞和唤醒要 成对 出现

各个原语做了哪些事,理解便可了,并不需要死记硬背

更多推荐

进程控制【操作系统学习笔记】

本文发布于:2024-02-12 22:23:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689634.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记   进程   操作系统

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!