C 8:20 8:40 9:15 9:35 75 100K作业 (1) 作业执行次序是:A, B, D, E, C (3分)
(2) 各作业的周转时间分别是:25, 25, 30,
40, 75 (每个1分,共5分)
(3) 作业平均周转时间是:
(25+25+30+40+75)/5=39 (2分)
2、首次适应算法(5分)(用阴影表示空闲)
(图2分)
150K作业 40K作业 60K作业 (指出空闲分区大小和始址,每个1分)
分区 大小 起始地址 0 30K 150K 1 20K 280K 2 112K 400K (6) 最佳适应算法(5分)(用阴影表示空
闲)
(图2分)
0
150K作业 150K
60K作业 180K
220K
100K作业 280K
300K
40K作业 (指出空闲分区大小和始址,每个1分)
分)?
512K-1
(可以用图表示)
分区 大小 起始地址 平均寻道长度:
0 30K 400K 1 42K 470K 2 90K 210K 3.
(1)最短寻道时间优先算法(5分)
响应的次序为:132、190、205、61、40、29、23、19、18、4、376、398。? (3分)
(可以用图表示)
平均寻道长度
: (2分)
(2)电梯调度算法(5分)
响应的次序为:132、190、205、376、398、61、40、29、23、19、18、4。 (3
(2分)
十五、 综合分析题(每题10分,共20分)
1、(1)(5分)
系统中资源总量为(9,3,6) (1分)
各进程对资源的需求量为: (每个1分,共4分)
2,2,2 2,0,2 1,0,3
4,2,0
(2)(5分)
若此时P1发出资源请求request1(1,0,1),按银行家算法进行检查:
request1(1,0,1)<= need1(2,2,2) request1(1,0,1)<= available(2,1,2)
试分配并修改相应数据结构,资源分配情况如下:
进allocation need available 程 P1 2, 0, 1 1, 2, 1, 1, 1 1P2 4, 1, 1 P3 2, 1, 1 2, 0, 2 P4 0, 0, 2 1, 0, 3 4, 2, 0 再利用安全性算法检查系统是否安全,可用资源Available(1,1,1)已不能满足任何进程,故系统进入不安全状
态,此时系统不能将资源分配给P1。 (2分)
若此时P2发出资源请求request2(1,0,1),按银行家算法进行检查: Request2(1,0,1)<= need2(2,0,2) Request2(1,0,1)<= available(2,1,2)
试分配并修改相应数据结构,资源分配情况如下:
进allocation need available 程 P1 1, 0, 0 2, 2, 1, 1, 1 P2 5, 1, 2 2 1, 0, P3 2, 1, 1 1 P4 0, 0, 2 1, 0, 3 4, 2, 0 再利用安全性算法检查系统是否安
全,可得此时刻的安全性分析情况:
(分) 进Work Need Allocation Work+Allocation 1Finish 程 Full1=full2=0;
6, 2, 3 8, 3, 4 8, 3, 6 9, 3, 6 (1True分) Main() True(1分) True { true P2 1, 1, 1, 0, 5, 1, 2 P3 P4 P1 8, 3, 4, 2, 4 0 1 1 2, 1, 1 0, 0, 2 1, 0, 0 6, 2, 1, 0, 3 3 Cobegin PA(); 8, 3, 2, 2, 6 2 PB(); PC(); coend;
从上述分析中可以看出,此时存在一个安全序列(P2,P3,P4,P1),故该状态是安全的,可以立即将P2所申请的资
源
分
配
给
它
}
。
(3分) 2、
PA() (2分)
{
Empty1,empty2,full1,full2:semaphore; (1分)
While(1)
Empty1=empty2=1;
{
从磁盘读一个记录; P(empty1);
将记录存入缓冲区1; V(full1); } }
PB() (2分) {
While(1) { P(full1);
从缓冲区1中取出记录; V(empty1); P(empty2);
将记录存入缓冲区2; V(full2); }}
PC() (2分) {
While(1)
{
P(full2);
从缓冲区2中取出记录; V(empty2); 打印记录; } }
相关推荐: