进程调度的时机、切换与过程、方式

1.时机

1.什么时候需要进程调度?

  1. 主动放弃:(1)进程正常终止 (2)运行过程中发送异常而终止(3)主动阻塞(如 等待I/O)

  2. 被动放弃:(1)分给进程的时间片用完 (2)有更紧急的事情需要处理(如I、O中断)(3)有更高级的进程进入就绪队列

2.什么时候不能进行进程调度?

  1. 在处理中断的过程中
  2. 进程在操作系统内核程序临界区
  3. 原子操作过程中(原语)

2.切换和过程

1.狭义的“调度”和“切换”的区别
2.切换过程
(1)对原来运行进程各种数据的保护
(2)对新的进程各种数据的恢复

3.重要结论:进程调度、切换是有代价的、并不是调度越频繁,并发度就越高

3.方式

非剥夺式方式(非抢占式):只能由当前运行的进程主动放弃CPU
剥夺式方式(抢占式):可由操作系统剥夺当前进程的CPU使用权