设有5个进程进程名 P1、P2、P3、P4、P5,提交时间为 10.1时 10.3时 10.5时 10.6时 10.7时运行时间为0.3小时 0.6小时 0.5小时 0.3小时 0.2小时 试分别给出下面3种调度算法,进程的执行顺序和平均周转时间,并画出它们的时序图。 (1)先来先服务调度算法; (2)短进程优先调度算法; (3)时间片轮转调度算法(假设时间片大小为0.1小时)
时间: 2024-01-07 11:04:20 浏览: 380
好的,我会回答你的问题。
(1) 先来先服务调度算法:
进程名 | 提交时间 | 运行时间 | 开始时间 | 完成时间 | 周转时间
-------|--------|--------|--------|--------|--------
P1 | 10.1 | 0.3 | 10.1 | 10.4 | 0.3
P2 | 10.3 | 0.6 | 10.4 | 11.0 | 0.7
P3 | 10.5 | 0.5 | 11.0 | 11.5 | 1.0
P4 | 10.6 | 0.3 | 11.5 | 11.8 | 0.2
P5 | 10.7 | 0.2 | 11.8 | 12.0 | 0.3
平均周转时间 = (0.3 + 0.7 + 1.0 + 0.2 + 0.3) / 5 = 0.5 小时
时序图如下:
```
P1: ================>
P2: ===============>
P3: ======>
P4: ====>
P5: ==>
10.1 10.4 11.0 11.5 11.8 12.0
```
(2) 短进程优先调度算法:
进程名 | 提交时间 | 运行时间 | 开始时间 | 完成时间 | 周转时间
-------|--------|--------|--------|--------|--------
P1 | 10.1 | 0.3 | 10.1 | 10.4 | 0.3
P4 | 10.6 | 0.3 | 10.4 | 10.7 | 0.1
P5 | 10.7 | 0.2 | 10.7 | 10.9 | 0.2
P3 | 10.5 | 0.5 | 10.9 | 11.4 | 0.9
P2 | 10.3 | 0.6 | 11.4 | 12.0 | 1.7
平均周转时间 = (0.3 + 0.1 + 0.2 + 0.9 + 1.7) / 5 = 0.44 小时
时序图如下:
```
P1: ================>
P4: ====>
P5: ==>
P3: ======>
P2: ===============>
10.1 10.4 10.7 10.9 11.4 12.0
```
(3) 时间片轮转调度算法(时间片大小为0.1小时):
进程名 | 提交时间 | 运行时间 | 开始时间 | 完成时间 | 周转时间
-------|--------|--------|--------|--------|--------
P1 | 10.1 | 0.3 | 10.1 | 10.4 | 0.3
P2 | 10.3 | 0.6 | 10.4 | 11.0 | 0.7
P3 | 10.5 | 0.5 | 11.0 | 11.5 | 1.0
P4 | 10.6 | 0.3 | 11.5 | 11.8 | 0.2
P5 | 10.7 | 0.2 | 11.8 | 12.0 | 0.3
平均周转时间 = (0.3 + 0.7 + 1.0 + 0.2 + 0.3) / 5 = 0.5 小时
时序图如下:
```
P1: ================>
P2: ===============>
P3: ======>
P4: ====>
P5: ==>
10.1 10.4 11.0 11.5 11.8 12.0
```
希望我的回答能够帮助到你。
阅读全文