一、作业调度和进程调度结合
有一个内存中只能装入两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。有如表3-3所示的作业序列,表中所列的优先数是指进程调度的优先数,且优先数越小优先级越高。
(1)列出所有作业进入内存的时刻以及结束的时刻。
(2)计算作业的平均周转时间。
正确答案
根据题意作业的调度和运行情况如图3.3所示从图中可以看出
参考答案:题中的每个作业运行将经历两级调度:作业调度和进程调度。作业调度采用短作业优先调度算法;而进程调度采用基于优先级的抢占式调度算法,即高优先级的进程可以抢处理机。此外,只有作业调度程序将作业装入内存后,在内存的作业才能参与进程调度,井且,本题中的批处理系统是两道作业系统,即内存中最多允许有两道作业。
- 10 : 00,作业 A 到达并投入运行.
- 2 . 10 : 20 ,作业 B 到达且优先级高于作业 A ,故作业 B 投入运行而作业 A 进入就绪队列。
- 3 .10 : 30 ,作业 C 到达,因内存中已经有两道作业,故作业 C 进入后备作业队列等待调度进入内存。
- 4 . 10 : 50 ,作业 B 运行结束,作业 D 到达,因按照短作业优先调度策略,作业 D 被装入内存进入就绪队列,而作业 A 优先级高 于作业D,故作业 A 投入运行。
- 5 . 11 : 10 ,作业 A 运行结束,作业 C 被调入内存, 且 作业 C 优先级高于作业 D ,故作业 C 投入运行。
- 6 . 12 : 00 ,作业 C 运行结束,作业 D 投入运行。
- 7 . 12 : 20 ,作业 D 运行结束。
(1)A、B、C、D各作业进入内存的时刻分别是10:00、10:20、11:10、10:50;它们完成的时刻分别是11:10、10:50、12:00、12:20。
内存的时刻 | 完成的时刻 |
---|---|
10:00 | 11:10 |
10:20 | 10:50 |
11:10 | 12:00 |
10:50 | 12:20 |
(2)A、B、C、D的周转时间分别是70分钟、30分钟、90分钟、90分钟故它们的平均周转时间为70分钟。
二、综合
问题描述
假设一个系统中有5个进程,它们的到达时间和服务时间如表3-1所示,忽略I/O以及其他开销时间,若分别按先来先服务(FCFS)、非抢占及抢占的短进程优先(SPF)、高响应比优先(HRRN)、时间片轮转(RR,时间片=1)、多级反馈队列调度算法(FB,第i级队列的时间片=2i-1)以及立即抢占的多级反馈队列调度算法(FB,第i级队列的时间片=2i-1) 进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时问和平均带权周转时间。
正确答案
对上述5个进程按各种调度算法调度的结果如图3-2所示从中可以计算出各进程的完成时间、周转时间和平均周转时间(如表3-2所示)。
进程调度的关键是理解和掌握调度所采用的算法。FCFS算法选择最早进入就绪队列的进程投入执行;SPF算法选择估计运行时间最短的进程投入执行(采用抢占方式时,若新就绪的进程运行时间比正在执行的进程的剩余运行时间短,则新进程将抢占CPU);HRRN算法选择响应比()最高的进程投入执行;RR算法中,就绪进程按FIFO方式排队,CPU总是分配给队首的进程,并只能执行一个时间片;FB算法将就绪进程排成多个不同优先权及时间片的队列,新就绪进程总是按FIFO方式先进入优先权最高的队列,CPU也总是分配给较高优先权队列上的队首进程,若执行一个时间片仍未完成,则转入下一级队列的末尾,最后一级队列则采用时间片轮转方式进行调度。