进程调度的时机、切换与过程、方式
1.时机
1.什么时候需要进程调度?
-
主动放弃:(1)进程正常终止 (2)运行过程中发送异常而终止(3)主动阻塞(如 等待I/O)
-
被动放弃:(1)分给进程的时间片用完 (2)有更紧急的事情需要处理(如I、O中断)(3)有更高级的进程进入就绪队列
2.什么时候不能进行进程调度?
- 在处理中断的过程中
- 进程在操作系统内核程序临界区
- 原子操作过程中(原语)
2.切换和过程
1.狭义的“调度”和“切换”的区别
2.切换过程
(1)对原来运行进程各种数据的保护
(2)对新的进程各种数据的恢复
3.重要结论:进程调度、切换是有代价的、并不是调度越频繁,并发度就越高
3.方式
非剥夺式方式(非抢占式):只能由当前运行的进程主动放弃CPU
剥夺式方式(抢占式):可由操作系统剥夺当前进程的CPU使用权