3、假定在一台处理机上执行5道作业,假定这些作业在时刻0以1、2、3、4、5的书序到达。其中,作业1执行时间为10个时间单位,优先级为3,作业2的执行时间为1个时间单位,优先级为1,作业3的执行时间为2个时间单位,优先级为3,作业4的执行时间为1个时间单位,优先级为4,作业5的执行时间为5个时间单位,优先级为2。请说明分别采用FCFS、RR(时间片为1)、SJF及非抢占式优先级调度算法时,这些作业的执行情况(优先级的高低顺序依次为1到5)。针对上述每种调度算法,给出平均周转时间和带权周转时间。
时间: 2024-01-24 19:19:08 浏览: 113
首先,给出每个作业的到达时间、执行时间和优先级,如下表所示:
| 作业编号 | 到达时间 | 执行时间 | 优先级 |
| -------- | -------- | -------- | ------ |
| 1 | 1 | 10 | 3 |
| 2 | 2 | 1 | 1 |
| 3 | 3 | 2 | 3 |
| 4 | 4 | 1 | 4 |
| 5 | 5 | 5 | 2 |
采用 FCFS 调度算法时,作业按照到达的顺序依次执行,因此作业的执行顺序为 1-2-3-4-5。相应的平均周转时间为 $(0+10+11+12+13)/5=9.2$,带权周转时间为 $(0+10+3.67+4+2.6)/5=4.054$。
采用 RR(时间片为1)调度算法时,每个作业分配到的时间片为1个时间单位,每个作业轮流执行,在每个时间片结束时,如果该作业还未执行完,则将其加入就绪队列末尾,等待下一次轮转。因此,作业的执行顺序为 1-2-3-4-5-1-3-5-1-5-5。相应的平均周转时间为 $(0+10+14+14+15)/5=10.6$,带权周转时间为 $(0+10+4.67+3.5+2.8)/5=4.194$。
采用 SJF 调度算法时,每次从就绪队列中选取执行时间最短的作业进行执行。因此,作业的执行顺序为 2-4-3-5-1。相应的平均周转时间为 $(1+2+4+11+16)/5=6.8$,带权周转时间为 $(1+2+2+3.67+3.2)/5=2.494$。
采用非抢占式优先级调度算法时,每次从就绪队列中选取优先级最高的作业进行执行。因此,作业的执行顺序为 4-2-5-3-1。相应的平均周转时间为 $(3+3+8+9+19)/5=8.4$,带权周转时间为 $(3+3+4+4.5+6.8)/5=4.12$。
综上,不同的调度算法会对作业的执行顺序和周转时间产生不同的影响。需要根据实际情况选择合适的调度算法。
阅读全文