1、处理机调度
多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。
2、高级调度(外存进内存)
又称作业调度或长程调度、接纳调度
- 决定外存后备队列中的哪些作业调入内存;
- 为它们创建进程、分配必要的资源;
- 将新创建的进程排在就绪队列上,准备执行。
系统运行并不一定存在高级调度
批处理系统:作业进入系统后先驻留外存,故需要有作业调度。
分时系统:为及时响应,作业由终端直接送入内存,故不需作业调度。
实时系统中,通常也不需作业调度。
3、低级调度 (运行频率最高!)
也称为进程调度、微观调度、短程调度
进程调度方式比较:
进程调度方式 | 调度的时机 | 特点 |
非抢占方式 | 程序完成; 发生某事件阻塞; | 实现简单、系统开销小; 功能也简单,适用于大多数批处理OS,但在要求较严格的实时系统,不宜采用该方式 |
抢占方式 | 程序完成; 发生某事件阻塞; 新进程就绪; | 抢占的原则有很多种:优先权高的可以抢占优先级低的进程的处理机。短作业(进程)可以抢占长作业(进程)的处理机。各进程按时间片运行,一个时间片用完时重新进行调度。 |
4、中级调度 (转成挂起状态 / 转外存)
又称交换调度、中程调度
5、三级调度比较
调度类型 | 运行频率 | 运行时间 | 算法复杂性 |
进程调度 | 高 | 短 | 低 |
中程调度 | 中等 | 较短 | 中等 |
作业调度 | 低 | 长 | 高 |
6、从这三种方式中体验调度的过程:
仅有进程调度的调度队列模型:
- 完成工作,释放处理机进入完成状态
- 未完成,将该任务再放入就绪队列末尾
- 因某事件而被阻塞,被OS放入阻塞队列
7、 选择调度方式和调度算法的若干准则
* 面向用户的准则 :
1)周转时间短:
周转时间 T=Ts+Tw
(总的等待时间Tw = 在后备队列中等待 + 就绪队列上等待 + 阻塞队列中等待(等待I/O操作用时)
CPU执行用时Ts)
带权周转时间 W= T/Ts
2)响应时间快
3)均衡性
4)截止时间的保证
5)优先权准则
* 面向系统的准则:
1)系统吞吐量高
2)处理机利用率好(主要针对大中型主机)
3)各类资源的平衡利用(主要针对大中型主机)