5个进程P1、P2、P3、P4、P5几乎同时到达,预期运行时间分别为10、6、2、4、8个时间单位。各进程的优先级分别为3、5、2、1、4(数值越大,优先级越高)。请按下列调度算法计算任务的平均周转时间(进程切换开销可忽略不计)。 (1)先来先服务(按P1、P2、P3、P4、P5顺序)算法。 (2)时间片轮转算法,假定时间片大小为2个时间单位。 (3)优先权调度算法。
时间: 2023-08-31 16:48:10 浏览: 398
好的,我会根据你的要求回答你的问题。首先,我来回答第一个问题:
首先来先服务算法(FCFS):
按照进程到达的顺序依次执行,计算出每个进程的周转时间,再求平均值。
进程 预期运行时间 到达时间 完成时间 周转时间
P1 10 0 10 10
P2 6 0 16 16
P3 2 0 18 18
P4 4 0 22 22
P5 8 0 30 30
平均周转时间 = (10 + 16 + 18 + 22 + 30) / 5 = 19.2
因此,先来先服务算法的平均周转时间为19.2个时间单位。
接下来是第二个问题:
时间片轮转算法:
每个进程分配一个时间片,按照P1、P2、P3、P4、P5的顺序执行,每个进程执行2个时间单位,如果还没有完成,则将其放到队列的末尾。
进程 预期运行时间 到达时间 完成时间 周转时间
P1 10 0 16 16
P2 6 0 22 22
P3 2 0 24 24
P4 4 0 26 26
P5 8 0 30 30
平均周转时间 = (16 + 22 + 24 + 26 + 30) / 5 = 23.6
因此,时间片轮转算法的平均周转时间为23.6个时间单位。
最后是第三个问题:
优先权调度算法:
根据进程的优先级进行调度,优先级高的进程先执行,如果有多个进程的优先级相同,则按照先来先服务的原则进行调度。
进程 预期运行时间 到达时间 完成时间 周转时间
P2 6 0 6 6
P5 8 0 14 14
P1 10 0 24 24
P4 4 0 28 28
P3 2 0 30 30
平均周转时间 = (6 + 14 + 24 + 28 + 30) / 5 = 20.4
因此,优先权调度算法的平均周转时间为20.4个时间单位。
阅读全文