没有合适的资源?快使用搜索试试~ 我知道了~
第 2 章 习题答案2-9.2-12.计算采用 FCFS、SJN、RHN 的平均周转时间和平均带权周转时间:2.05/3.307 1.65/1.875 1.87
资源详情
资源评论
资源推荐
第 2 章 习题答案
2-9.
(1) x<=3 运行顺序为 Px,P3,P5,P6,P9
T=(x+(x+3)+(x+3+5)+(x+3+5+6)+(x+3+5+6+9))/5=x+9.6
(2) 3<x<=5 运行顺序为 P3,Px,P5,P6,P9
T=(3+(3+x)+(3+x+5)+(3+x+5+6)+(3+x+5+6+9))/5=0.8x+10.2
(3) 5<x<=6 T=0.6x+11.2
(4) 6<x<=9 T=0.4x+12.4
(5) 9<x T=0.2x+14.2
2-12.计算采用 FCFS、SJN、RHN 的平均周转时间和平均带权周转时间:
2.05/3.307 1.65/1.875 1.875/2.8125
1) FCFS 作业运行顺序:1,2,3,4
各作业的周转时间 Ti 和平均周转时间 T:
T1=10.0-8.00=2.0 T2=11.2-9.00=2.2
T3=11.7-9.5=2.2 T4=12.0-10.2=1.8
T=(T1+T2+T3+T4)/4=(2.0+2.2+2.2+1.8)/4=8.2/4=2.05
各个作业的平均带权周转时间 W 计算如下:
W=(2/2+2.2/1.2+2.2/0.5+1.8/0.3)/4=(1+1.83+4.4+6)/4=3.307
2) SJN 作业运行顺序:1,3,4,2
T1=10.0-8.00=2.0 T2=12-9.00=3
T3=10.5-9.5=1.0 T4=10.8-10.2=0.6
T=(T1+T2+T3+T4)/4=(2.0+3.0+1.0+0.6)/4=6.6/4=1.65
各个作业的平均带权周转时间 W 计算如下:
W=(2/2+3/1.2+1/0.5+0.6/0.3)/4=1.875
作业号 提交时刻 估计运行 开始运行时刻 完成时刻
时间 FCFS SJN RHN FCFS SJN RHN
1 8.00 2.0 8.0 8.0 8.0 10.0 10.0 10.0
2 9.00 1.2 10.0 10.8 10.5 11.2 12.0 11.7
3 9.50 0.5 11.2 10.0 10.0 11.7 10.5 10.5
4 10.20 0.3 11.7 10.5 11.7 12.0 10.8 12.0
3) HRN 作业运行顺序:1,3,2,4
先选择作业 1 从 8.00-------10.00。当作业 1 完成时,究竟选谁运行,
只有通过计算,选择响应比高者运行:
作业 2 的响应比=((10-9.0) +1.2)/1.2=1.83
作业 3 的响应比=((10-9.5)+0.5) /0.5=2.0
作业 4 还未到,只能选作业 3 运行。
作业 3 运行到 10.5 结束,再计算剩余的作业 2 和 4:
作业 2 的响应比=(( 10.5-9.0)+1.2)/1.2=2.25
作业 4 的响应比=((10.5-10.2)+0.3) /0.3=2 选作业 2 运行。
作业 2 到 11.7 完成。最后运行作业 4。运行到 12.0,全部结束。
各个作业的周转时间计算如下:
t1=2 t2=11.7-9=2.7 t3=10.5-9.5=1 t4=12-10.2=1.8
各个作业的平均周转时间计算如下:
T==(2+2.7+1+1.8)/4=1.875
各个作业的平均带权周转时间计算如下:
W=(2/2+2.7/1.2+1/0.5+1.8/0.3)/4=2.8125
2-13. 已知作业 A,B,C,D,E 需要的运行时间分别为 10,6,2,4,8 分钟,优
先级分别为 3,5,2,1,4。
(1)轮转法(假定时间片=2 分钟)
作业完成的顺序为 C,D,B,E,A
开始作业轮转一周需 10 分钟,
作业 C 的周转时间:Tc=10 分钟 (6 分)
C 完成后,剩下四个作业,轮转一周需 8 分钟,
作业 D 的周转时间:Td=10+8×(4-2)/2=18 分钟(16 分)
D 完成后,剩下三个作业,轮转一周需 6 分钟,
作业 B 的周转时间:Tb=18+6×(6-2-2)/2=24 分钟(22 分)
B 完成后,剩下两个作业,轮转一周需 4 分钟,
作业 E 的周转时间:Te=24+4=28 分钟(28 分)
E 完成后,只剩下作业 A,
作业 A 的周转时间:Ta=28+2=30 分钟(30 分)
平均周转时间: T=(10+18+24+28+30)/5=22 分(20.4 分)
正确答案:
第一次轮转时作业 C 可完成,且顺序为 ABCDE,所以 Tc=6 分钟,
轮转一周需要 10 分钟;
C 完成后,剩余四个作业,ABDE 剩余时间分别为 8,4,2,6 分钟,第
二次轮转时 D 可完成,且轮转顺序为 ABDE,所以 Td=10+6=16 分钟,
轮转一周需要 8 分钟;
D 完成后,剩余三个作业,ABE 剩余时间分别为 6,2,4 分钟,第三
次轮转时 B 可完成,且轮转顺序为 ABE,所以 Tb=10+8+4=22 分钟,轮
转一周需要 6 分钟;
B 完成后,剩余两个作业,AE 剩余时间分别为 4,2 分钟,第四次轮
转时 E 可完成,且轮转顺序为 AE,所以 Te=10+8+6+4=28 分钟,轮转一
周需要 4 分钟;
E 完成后,只剩余 A,A 剩余时间为 2 分钟,所以 Ta=10+8+6+4+2=30
分钟
平均周转时间:T=(6+16+22+28+30)/5=20.4 分钟
(2)优先级调度法
作业完成顺序为:B,E,A,C,D
Tb=6 分,Te=6+8=14 分,Ta=14+10=24 分,Tc=24+2=26 分,
Td=26+4=30 分。
平均周转时间: T=(6+14+24+26+30)/5=20 分
第 3 章 答案
3-7. 系统中有 n+1 个进程。其中 A1、A2、…、An 分别通过缓冲区向
进程 B 发送消息。相互之间的制约关系为:发送进程 A1、A2、…、An
要互斥地向 BUF 中送消息,当接收进程 B 还未将消息接收完之前,任何
一个发送不能再送。同样,B 不能重复接收同一个消息。 为此,应设置
两个信号量 s1 和 s2。设系统只有容纳一个消息的缓冲区,用信号量 s1
表示,其初值为 1,它用来制约发送进程。信号量 s2 用来制约接收进程,
其初值为 0。
现可用 PV 操作描述如下:
进程 A1、…、An 执行的过程为: 进程 B 执行的过程为:
begin begin
准备消息 P(S2)
BUF
A1
A2
An
B
P(s1) 从缓冲区 BUF 取消息
将消息送入 BUF V(s1)
V(s2) 消耗消息
end end
若缓冲区容量为 m 个,这个问题就变为生产者和消费者问题。
3-8. 首先这里的 IN 和 OUT 分别表示读写指针,而不是信号量。在系
统初启时,环行缓冲区为空,此时 IN 和 OUT 都初始化为 0。当并发进
程通过环行缓冲区通信时,写进程不断地写,读进程不断地读,使得读
写指针不断变化。写进程的速度太快,缓冲区会满;读进程的速度太快,
缓冲区会空。
已知循环缓冲区的容量为 100。则
当(IN+1)%100 = OUT 时,说明缓冲区已满。
当 IN = OUT 时,说明缓冲区已空。
初始化时,IN=OUT=0。一段时间以后:
OUT IN
3-9. 为描述阅览室,用一个登记表来记录使用情况。表中共有 100 项。
每当有读者进入阅览室时,为了正确地登记,各读者应互斥使用。为此
设两个信号量。mutex:互斥信号量,用来制约各读者互斥地进行登记,
其初值为 1;empty 同步信号量,用来制约各读者能同时进入阅览室的数
量,初值为 100。下面用两个过程描述对表格应执行的动作:
登记过程: 擦除过程:
begin begin
p(empty) p(mutex)
p(mutex) 找到自己的登记项擦除
找到一个登记项登记 v(mutex)
v(mutex) v(empty)
end end
为了正确地描述读者的动作,我们可以将读者看成进程。若干读者
希望进入阅览室时,调用登记过程,退出阅览室时,调用擦除过程。可
B1 B2 B3 B4
剩余16页未读,继续阅读
书看不完了
- 粉丝: 21
- 资源: 364
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0