【操作系统学习笔记】处理器管理1.3

【操作系统学习笔记】处理器管理1.3

参考书籍: 王道考研

视频地址: Bilibili

进程控制

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

进程控制需要使用原语实现。原语是一种特殊的、原子性的程序,它的执行必须一气呵成,不可中断

可以使用关中断指令和开中断指令这两个特权指令实现原语

进程的创建

流程:

  • 申请空白 PCB
  • 为新进程分配所需资源
  • 初始化 PCB
  • 将 PCB 插入就绪队列

事件:

  • 用户登录: 分时系统中,用户登录成功,系统会为其建立一个新的进程
  • 作业调度: 多道批处理系统中,有新的作业放入内存中,会为其建立一个新的进程
  • 提供服务: 用户向操作系统提出某些请求,会新建一个进程处理这些请求
  • 应用请求: 由用户进程主动请求创建一个子进程

进程的终止

流程:

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

事件:

  • 正常结束: exit 系统调用
  • 异常结束: 分母为零
  • 外界干预

进程的阻塞

流程:

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

因何事被阻塞,就应该由何事来唤醒

进程的唤醒

流程:

  • 在等待队列中找到 PCB
  • 把 PCB 从等待队列移除,设置为就绪态
  • 将 PCB 插入就绪队列,等待被调度

进程的切换

流程:

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

事件:

  • 当前进程时间片到
  • 有更高优先级的进程到达
  • 当前进程主动阻塞
  • 当前进程终止
相关推荐
蒙奇D索大16 小时前
【数据结构】排序算法精讲 | 快速排序全解:高效实现、性能评估、实战剖析
数据结构·笔记·学习·考研·算法·排序算法·改行学it
断剑zou天涯17 小时前
【算法笔记】有序表——AVL树
笔记·算法
Jake_的技能小屋17 小时前
HTTP学习
网络协议·学习·http
山土成旧客17 小时前
【Python学习打卡-Day31】项目架构师之路:告别杂乱脚本,拥抱工程化思维
开发语言·python·学习
智嵌电子17 小时前
【笔记篇】【硬件基础篇】电路 修订第5版 (邱关源) 第六章 储能元件
笔记
xiaoxiaoxiaolll17 小时前
《Nature Communications》:面向工业尾气净化的智能MOF材料,光热再生突破能耗瓶颈
学习
大布布将军17 小时前
⚡部署的通行证:Docker 容器化基础
运维·前端·学习·程序人生·docker·容器·node.js
d111111111d17 小时前
STM32 I2C通信详解:从机地址与寄存器地址的作用
笔记·stm32·单片机·嵌入式硬件·学习
坚持就完事了17 小时前
CMD操作的学习
学习
炽烈小老头17 小时前
【每天学习一点算法 2025/12/30】最大子序和
学习·算法