。
图4-7所有作业都在队列中,并都处于等待状态
图4-8其中一个作业执行完毕
图4-9所有进程执行完毕
三.测试分析
1.先来先服务算法比较有利于长作业(进程),而不利于短作业(进程)。因为短作业运
行时间很短,如果让它等待较长时间才得到服务,那么,它的带权周转时间就会很高;先来先服务调度算法有利于CPU繁忙型的作业,不利于I/O繁忙型的作业,而目前大多数事务处理都属于I/O繁忙型作业。
2.短作业优先调度算法能有效地降低作业的平均等待时间,提高系统吞吐量。然而该算法对长作业不利,因为调度程序总是优先调度那些短作业,将导致长作业长期不被调度,该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业会被及时处理,由于作业的长短只是根据用户提供的估计执行时间而定的,而用户又可能有意无意地缩短其作业的估计运行时间,致使该算法不能真正做到短作业优先调度;
3.优先级调度算法则保证了紧迫进程,而那些优先级较低的则可能长时间得不到调度;静态优先级调度算法简单易行,系统开销小,但是不太灵活,很可能出现低优先级的作业,长期得不到调度而等待的情况;静态优先级法仅适合于实现要求不太高的系统。动态优先级调度算法比较灵活科学,可防止有一些进程一直得不到调度,也可防止有些进程长期垄断处理机,但是需要花费相当多的执行程序时间,因而花费的系统开销比较大。
4.时间片轮转算法则算是对每个进程都是公平的,减少了进程的等待时间,但是时间片设得太短会导致过多的进程切换,降低了CPU效率;而设得太长又可能引起对短的交互请求的响应变差。将时间片设为100毫秒通常是一个比较合理的折衷 ;
5.多级反馈队列调度算法则是综合先来先服务,短作业优先,时间片轮转和优先级调度算法的优点,故多级反馈队列调度对大多数进程调度来说是一种最佳的调度算法,但具体算法则应根据实际需求选择。