处理器调度算法

1. P117页,练习15:最高响应比

HRRF:

作业

提交时刻

运行时刻

开始时刻

完成时刻

周转时间/min

带权周转时间/min

1

10:00

2:00

10:00

12:00

120

120/120

2

10:10

1:00

12:25

13:25

195

195/60

3

10:25

0:25

12:00

12:25

120

120/25

 

 

 

 

 

 

 

 

 

 

 

平均作业周转时间T=2.41

平均作业带权周转时间w=3.02

 

2. P119页,练习22(2):时间片轮转

 

各个进程的调度次序:1、2、3、4、1、2、3、4、1、3、4、1、3、4、1、4

平均作业周转时间T=23.5ms

平均作业带权周转时间w=3.01

 

3. 现设定采用三级反馈队列调度算法,三个队列分别为0、1和2,对应时间片为2、4、8。现有四个进程A、B、C、D,到达时刻分别为0、5、7、12,执行时间分别为7、4、13、2。请写出整个进程调度过程,包括每个时间段,执行的进程,执行后进程状态,各个队列内进程的变化。

 

 

 

4. 从以下几个方面比较各个调度算法的优缺点:

1.资源利用率

2.吞吐率

3.周转率

4.响应时间

5.公平性

6.适用范围

答:

1.先来先服务优先算法(FCFS):这是一种非剥夺式调度算法,只顾及了作业等候的时间,未考虑作业要求的服务时间的长短,不利于短作业而又优待了长作业.短作业的平均周转时间和平均带权周转时间变大.所以FCFS资源利用率高,但是吞吐率低,周转率低,响应时间长,公平性不好.

2.最短作业优先算法(SJF):这也是一种非剥夺式调度算法,能够克服FCFS算法偏爱长作业的缺点,但是效率也不高.

SJF算法的主要弱点:

(一)是要预先知道作业所需的CPU时间,很难精确估算.

(二)是忽视作业的等待时间.

所以,,吞吐率高,周转率高,响应时间短,公平性较好.

3.最短剩余时间优先算法(SRTF):从队列中选出一个估计运行时间最短的作业优先调度,即可用于作业调度,也可用于进程调度,但SJF调度算法也存在不容忽视的缺点:

(1) 对长作业不利。严重的是,若一长作业(进程)进入系统的后备队列(就绪队列),由于调度程序总是优先调度那些(即使是后进来的)短作业(进程),将导致长作业(进程)长期不被调度——饥饿

(2)完全未考虑作业(进程)的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理

4.高响应比优先调度算法(HRRF): 高响应比优先调度算法:根据“响应比=(进程执行时间+进程等待时间)/进程执行时间”这个公式得到的响应比来进行调度。高响应比优先算法在等待时间相同的情况下,作业执行的时间越短,响应比越高,满足段任务优先,同时响应比会随着等待时间增加而变大,优先级会提高,能够避免饥饿现象。优点是兼顾长短作业,缺点是计算响应比开销大,适用于批处理系统。

5.优先级调度算法(HPF):在进程等待队列中选择优先级最高的来执行。常被用于批处理系统中,还可用于实时系统中。

6.时间片轮转调度算法(RR):给每个进程固定的执行时间,根据进程到达的先后顺序让进程在单位时间片内执行,执行完成后便调度下一个进程执行,时间片轮转调度不考虑进程等待时间和执行时间,属于抢占式调度。优点是兼顾长短作业;缺点是平均等待时间较长,上下文切换较费时。适用于分时系统。

 

posted @ 2019-04-02 20:53  陈振铭  阅读(217)  评论(0编辑  收藏  举报