复习题_问答题部分New(2).
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
1、已知一个求值公式(3A+2B)/(A+5B2+C),若A、B、C已赋值,试画出该公式求值过程的前趋图。
解:令 S1:X1 = 3A;
S2:X2 = 2B;
S3:X3 = X1+X2;
S4:X4 = 5B2;
S5:X5 = A+X4+C;
S6:X6 = X3/X5
则求值过程的前趋图为:
2、已知一个求值公式(B2+AB)/(5B+A),若A、B已赋值,试画出该公式求值过程的前趋图。
解:令 S1:X1 = B2;
S2:X2 = AB;
S3:X3 = X1 + X2;
S4:X4 = 5B;
S5:X5 = X4 + A;
S6:X6 = X3 / X5。
则求值过程的前趋图为: (自己画出)
3、写出实现两个进程单向同步问题的伪码。(参考讲义)
3、写出通过信号量实现生产进程和消费进程(单缓冲区)双向同步的伪码。(参考讲义)
解:
定义信号量:
var
生产进程伪码:
Process P:
begin
while(true) do
begin
生产一个产品;
//P操作,等待可以生产的信号量将产品放入缓冲区。。。。。。//其他操作singal(s2); //V操作,发送可以消费的信号量 end
end
消费进程伪码:
Process C:
begin
while(true) do
begin
//P操作,等待可以消费的信号量从缓冲区中取出产品进行消费。。。。。。//其他操作 singal(s1); //V操作,发送可以生产的信号量 end
end
4、写出通过信号量实现进程1和进程2互斥访问共享资源(临界资源)的伪码。(参考讲义)
解:定义信号量:
访问资源进程1伪码:
Process P1:
begin
while(true) do
begin
//P操作,申请访问资源权限的的信号量临界区代码; //其他访问资源操作
//V操作,释放访问资源权限的信号量 end
end
访问资源进程2伪码:(同P1类似)
Process P2:
begin
while(true) do
begin
wait(s); //P操作,申请访问资源权限的的信号量临界区代码; //其他访问资源操作singal(s); //V操作,释放访问资源权限的信号量 end
end
5、写出具有缓冲池(n个缓冲区)的生产者-消费者问题的伪码。(参考讲义、教材)
6、写出公共汽车司机和售票员同步问题的伪码。(参考讲义)解:信号量定义var s1,s2:semaphore:=0,0;
//s1为控制能否行车的信号量
//s2为控制能否开门的信号量
司机进程:
Process Driver:
begin
while(true) do
begin
wait(s1);
加油行车;
到站停车;
singal(s2);
end
end
售票员进程:
Process Conductor:
begin
while(true) do begin
关车门; singal(s1); 售票; wait(s2); 开车门; end end
7、读者-写者同步问题(参考讲义和教材)
第三章
1、系统有5个进程,其就绪时刻(指在该时刻已经在就绪队列中就绪)、服务时间如下表所示。当分别采用先来先服务(FCFS)和短进程优先(SPF)算法时,画出调度过程,并计算平均周转时间和平均带权周转时间。(
平均周转时间= 平均带权周转时间=
平均周转时间= 平均带权周转时间=
2、系统中有5个进程,每个进程的运行时间和到达时刻如下表所示。若采用时间片轮转调度算法(时间片为1),画出进程执行过程,P95)
解:进程执行过程如下:
P1P2P3P4P5
时间:
平均周转时间:(11+1+6+2+8)/5 = 5.6 平均带权周转时间:
(11/5+1/1+6/2+2/1+8/3)/5≈2.17
3、系统中有5个进程,每个进程的运行时间、优先级和到达时
刻如下表所示。若采用抢占式优先级调度算法(优先级越大越优先执行)
4、假定系统中有三个进程P1、 P2和P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和9台。假设在T0时刻,进程P1、P2和P3已分别获得5台、2台和2台磁带机,如下表所示:
(1) 该状态是否是安全状态?请说明理由。
解:T0时刻,系统是处于安全状态,因为此时的空闲磁带机资源为3,存在一个安全序列
(2) 若到达一新进程P4,请求1台磁带机,其最大需求为4台,是否可以分配?请说明理由。(参考P108)
解:可以进行资源分配。因为将1台磁带机分配给P4后,尚有2台空闲磁带机,存在一个安全序列
5、设系统中有
3种类型的资源(A,B,C)和5个进程P1、P2、P3、P4、P5,A资源的数量为17,B资源的数量为5,C资源的数量为20,在T0时刻系统状态如下表所示。系统采用银行家算法实施死锁避免策略。(参考P110)
(1) T0时刻是否为安全状态?若是,请给出安全序列;
T0时刻是安全状态。
存在安全序列
(2) 若在T0时刻进程P2请求资源(0, 3, 4),是否能实施资源分配?为什么?