1.什么是进程控制

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

2.如何实现进程控制

LaGOvd.png

进程之间的状态切换中间都需要对 PCB 进行修改并且放入相应的队列中。假如说某一进程把 PCB 从某一队列放入另一个队列中,但 PCB 中状态标志并未被修改,这种情况会导致系统错误,因为 PCB 所处的队列与 PCB 中存储的状态标志位数据不一致。于是引入原语来实现进程控制。原语的特点是执行过程中不允许被中断。这种不可被中断的操作即原子操作。原语使用关中断指令开中断指令实现。

当原语开始执行时会先执行关中断指令,此时外部中断信号会被忽略。这样保证原语的操作不会被中断。当原语执行完毕后会执行开中断指令,这样外部中断信号又会被响应了,如下图:

LaY3Y8.png

由此可见,开/关中断指令的权限非常大,必须只允许在核心态下执行的 特权指令 。

3.进程控制相关原语

四种原语:

  • 创建原语
  • 撤销原语
  • 阻塞原语
  • 唤醒原语
  • 切换原语

LatY4K.png


LatN9O.png


LatdjH.png


LatDHI.png


4.知识回顾

LatoEq.png


分割线


这章疑问有点多,应该看看书。