计算机操作系统_期末考试_复习习题集(含答案).(DOC) 下载本文

begin P(Sr) rc:=rc+1; if rc=1 then P(S); V(Sr); reAd file; P(Sr); rc:=rc-1 if rc=0 thenV(S); V(Sr); end ;

PROCESS Writer j (j=1,2…) begin P(S); Write file; V(S) end; coend ; end;

请回答:(1)信号量 Sr的作用;(2)程序中什么语句用于读写互斥,写写互斥;(3)若规定仅允许5个进程同时读怎样修改程序?

19、 问题:用P.V操作解决下面问题 司机进程: REPEAT 启动车辆 正常驾驶 到站停车 UNTIL … 售票员进程: REPEAT 关门 售票 开门 UNTIL …

同步要求:先关门,后开车;

先停车,后开门

解答: 信号量:

S_Door, {初值为0} S_Stop; {初值为0}

司机进程: Begin RepeAt P(S_Door); 启动;

驾驶; 停车; V(S_Stop); Until fAlse; End 乘务员进程: Begin RepeAt 关门; V(S_Door); 售票; P(S_Stop); 开门; Until fAlse; End

20、 桌上有一空盘,允许存放一只水果.爸爸只可向盘中放苹果,妈妈只可向盘中放橘子,儿子专等吃盘中的橘子,女儿专等吃盘中的苹果.规定当盘空时一次只能放一只水果供吃者取用,请用P,V原语实现爸爸, 妈妈,儿子,女儿三个并发进程的同步. 爸爸, 妈妈,儿子,女儿 PArbegin

PlAnt,Apple,orAnge:semphAer:=1,0,0; DAd;begin repeAt WAit(plAnt); PlAce An Apple; SingAl(Apple); Until fAlse; end DAughter: begin reApt WAit(Apple); SingAl(plAnt); EAt Apple; Until fAlse End mum;begin repeAt WAit(plAnt); PlAce An orAnge; SngAl(orAnge); Until fAlse; end son: begin reApt

WAit(orAnge); SingAl(plAnt); EAt orAnge; Until fAlse end pArend;

21、 桌上有一空盘,允许存放一只水果.爸爸可向盘中放苹果,也可向盘中放橘子,儿子专等吃盘中的橘子,女儿专等吃盘中的苹果.规定当盘空时一次只能放一只水果供吃者取用,请用P,V原语实现爸爸,儿子,女儿三个并发进程的同步.

22、 银行业务模拟:5个窗口,20个座位, 总共有20个椅子 begin pArbegin vAr:

cusnum,chAirnum:semAphore:= 0,20; clenum,mutex:semAphore:= 5,1; clerk : begin

customer : begin

wAit(chAirnum); wAit(mutex); quhAo ; singAl(cusnum); singAl(mutex); wAit(clenum); singAl(chAirnum); 接受服务; 离开; repeAt wAit(cusnum); 干活; 打铃铛;

singAl(clenum); until 下班时间到 ;

end

end pArend; end.

第三章处理机调度与死锁

1、

在分时操作系统环境下运行的作业通常称为(C)。

A.后台作业 B.长作业 C.终端型作业 D.批量型作业 2、

当作业进入完成状态,操作系统(B)。

A.将删除该作业并收回其所占资源,同时输出结果

B.将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果 C.将收回该作业所占资源并输出结果 D.将输出结果并删除内存中的作业 3、

在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是(D)。

A.先来先服务 B.优先数

C.最高响应比优先 D.短作业优先 4、

既考虑作业等待时间,又考虑作业执行时间的调度算法是(A)

A.响应比高者优先 B.短作业优先 C.优先级调度 D.先来先服务 5、 A.运行 B.提交 C.完成 D.后备 6、

(A)是指从作业提交给系统到作业完成的时间间隔。

A.周转时间 B.响应时间 C.等待时间 D.运行时间 7、

作业从进入就绪队列到被调度程序选中的时间间隔称为(B)

A.周转时间 B.响应时间 C.等待时间 D.触发时间 8、

作业调度算法的选择常考虑因素之一是使系统有最高的吞吐率,为此应(B)。 作业调度程序从处于(D)状态的队列中选取适当的作业投入运行。