学习笔记】"/>
进程控制【操作系统学习笔记】
9.进程控制
🍅基本概念
- (概念)进程控制就是要实现进程状态的转换
- 进程控制用原语实现
- 原语用开/关中断来实现
- 开/关中断指令的权限非常大,是只允许在核心态下执行的特权指令
- 故原语运行在核心态
- 原语是一种特殊的程序
- 原语的执行必须一气呵成,不可中断(原语的特点)
- 这种不可被中断的操作即为原子操作
- 原语用开/关中断来实现
🍅相关原语
无论哪个原语,无非做这三件事情
- 更新PCB中的信息(如进程状态标志,从PCB恢复运行环境)
- 将PCB插入合适的队列
- 分配/回收资源
而相关的原语有:
-
进程的创建
- 创建原语
- 申请空白PCB
- 为新进程分配所需资源
- 初始化PCB
- 将PCB插入就绪队列
- 创建原语
-
进程的终止
- 撤销原语
- 从PCB集合中找到终止进程的PCB
- 若进程在运行,则立刻剥夺CPU,将CPU分配给其他进程
- 终止其所有子进程
- 将该进程拥有的所有资源归还给父进程或操作系统
- 删除PCB
- 撤销原语
-
进程的阻塞
- 阻塞原语
- 找到要阻塞的进程对应的PCB
- 保护进程运行现场,将PCB状态信息设置为阻塞态,暂时暂停进程运行
- 将PCB插入相应事件的等待队列
- 阻塞原语
-
进程的唤醒
- 唤醒原语
- 在事件等待队列中找到PCB
- 将PCB从等待队列移除,设置进程为就绪态
- 将PCB插入就绪队列,等待被调度
- 唤醒原语
-
进程的切换
- 切换原语
- 将运行环境信息存入PCB
- PCB移入相应队列
- 选择另一个进程执行,并更新其PCB
- 根据PCB恢复新进程所需的运行环境
- 切换原语
其中,阻塞和唤醒要 成对 出现
各个原语做了哪些事,理解便可了,并不需要死记硬背
更多推荐
进程控制【操作系统学习笔记】
发布评论