2.1.3原语对进程的控制

  • Post author:
  • Post category:其他



全知识整理目录


操作系统整理的目录

,包括了整理的所有操作系统的知识。



概述

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

即,控制几种进程状态的转换。


进程控制原语

进程控制会导致进程状态的转换。无论是那个原语,都会做以下事情。

  1. 更新PCB中的信息(修改进程状态标志,将运行环境保存到PCB,从PCB恢复运行环境)
  • 所有进程原语,一定会修改进程状态标志。
  • 剥夺当前运行进程的CPU使用权,必然需要保存其运行环境。
  • 某进程开始运行前必然要恢复期运行环境。

2.将PCB插入合适的队列。

3.分配/回收资源。


进程创建原语


状态:

无–>创建态–>就绪态


执行:

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


进程的终止原语


状态:

就绪态/阻塞态/运行态–>终止态–>无


执行:

从PCB集合中找到终止进程PCB–>进程正在运行,就剥夺CPU将CPU分配给其他进程–>终止其所有子进程–>删除PCB


进程的唤醒和阻塞原语

  • 进程的阻塞和唤醒原语是成对存在的,且必须成对使用。
  • 阻塞原语:是由被阻塞进程自我调用实现的。
  • 唤醒原语:是由一个被唤醒进程合作或被其他相关进程调用实现的。


唤醒


状态:

运行态–>阻塞态


执行:

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


阻塞


状态:

阻塞态–>就绪态


执行:

在事件等待队列中找到PCB–>将PCB从等待队列移除,设置进程为就绪态–>将PCB插入就绪队列,等待被调度。


进程的切换原语


状态:

运行态–>阻塞态/就绪态(或者,就绪态–>运行态)


执行:

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



版权声明:本文为Y920036515原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。