时间片轮转调度 优先级调度 多级队列 最短作业优先 保证调度算法 策略与机制 两级调度法
调度算法应考虑的问题
公平——确保每个进程获得合理的CPU份额 效率——使CPU百分之百地忙碌 响应时间——使交互用户的响应时间尽可能短 周转时间——使批处理用户等待输出的时间尽可能短 吞吐量——使每小时处理的作业数量多
时间片轮转调度
每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间; 如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程; 如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。
该方法中唯一有趣的问题是时间片的长度; 结论可以归结为:时间片设得太短会导致过多的进程切换,降低了CPU效率;而设得太长又可能引起对短的交互请求的响应时间变长; 通常将时间片设为100ms,是一个比较合理的折衷。
优先级调度
基本思想:每个进程被赋予一个优先级,优先级最高的就绪进程被率先执行;
优先级可以为静态或动态;
将一组进程按优先级分成若干类,在各类之间采用优先级调度,而各类进程内部采用时间片轮转调度。
多级队列
为CPU密集的进程设置较长的时间片,比频繁地分给它们很短的时间片要高效(因为减少了交换的次数);
进程的长时间片又会影响响应时间,因此设立优先级类,属于最高级类的进程运行一个时间片,属于次高优先级类的进程运行2个时间片,再次一级运行4个时间片,依此类推,当一个进程用完分配的时间片后,它被移到下一类。
最短作业优先

(a)平均作业时间为14分钟
(b)平均作业时间为11分钟