1、操作系统测试题第一次测试1、设有三个进程Pa,Pb和Pc。进程Pa负责把数据块输入缓冲区S,进程Pb负责从S中提取数据并复制到缓冲区T中,进程Pc负责从T中取出数据并打印,如图4.1所示。试利用PV操作描述进程Pa,Pb和Pc协同工作的过程。提示:设Pa的私用信号量为Sa=1,Pb的私用信号量为Sb1=0,Sb2=1,Pc的私用信号量为Sc=0。0段号 段长 主存地址0 1k 6k1 500 8k2 2k 9200 2k 2、 有一个盘子只能放一个水果。父亲会把一个苹果或桔子在盘子里。儿子只能吃苹果,但他不能吃盘子里德橙子。女儿只能吃橘子,但她不能吃盘子里的苹果。请用P和V操作描述父亲、儿子、
2、女儿的动作。假设这个盘子最初是空的。自定义信号量及信号量的初值,完成上述的同步操作。3、有三个用户进程A、B和C在运行过程中都要使用系统中的一台打印机输出计算结果。(1)试说明A、B、C进程之间存在什么样的制约关系?(2)为保证这三个进程能正确地打印出各自的结果,请用信号量和P、V 操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。4、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(1) 用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以
3、及信号量各种取值的含义。(2) 根据所定义的信号量,把应执行的P-V操作填入下面的下划线中,以保证进程能够正确地并发执行。 COBEGINPROCESSPi (i=1,2,) begin ;进入售票厅;购票;退出; ; end;COEND(3) 若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。1. 答:Semaphore Sa=1, Sb1=0, Sb2=1, Sc=0Pa:Begin P(Sa) 把数据写入缓冲区S中V(Sb1)EndPb: Begin P(Sb1) P(Sb2) 把数据从缓冲区S中提取到缓冲区T中 V(Sa) V(Sc) End Pc: BeginP(S
4、c)从T中取走数据打印V(Sb2)End 4. 解:(1) 定义信号量为S,其初始值为20。信号量的初值以及信号量各种取值的含义:S0,S的值表示可继续进入售票厅的人数S=0,表示售票厅中已有20名顾客(购票者)S=TL,则表示段号太大,是访问越界(段号越界),产生越界中断,若未越界,则根据段表的起始地址和段号,计算出该段对应段表项的位置,从中读出该段在内存中的起始位置和段长SL,再检查段内地址D是否超过该面的段长SL。若超过,即D=SL,则同样发出越界中断信号(段内地址越界); 若未越界,则将该段的起始地址与段内地址D相加,即得到要访问的内存物理地址。(2) 0, 430的物理地址是:219
5、+430=649 1, 10 的物理地址是:3330+10=3340, 2,500 因为,500100,所以2,500越界(段内地址越界) 3,400 的物理地址是:1237+400=1637 4, 20 物理地址是:1952+20=1972 5,100 因为,54,所以5,100越界(段号越界)(3)存取主存中的一条指令或数据至少要访问2次主存,一次是访问段表,另一次是访问需要的指令和数据。【解答】(1)访问顺序,如表3-10所示。表3-10 页面的访问顺序101110417073309185245246434458364001103122443(2)采用FIFO算法的情况如表3-11所示。表3-11 采用FIFO算 法的情况001103122443块号0001113322443块号10001133224淘汰页号0132缺页中断采用FIFO算法产生的缺页中断为6次。(3)采用LRU算法的情况如表3-12所示。表3-12 采用LRU算 法的情况001103122443块号0001103122443块号10010311224淘汰页号10312缺页中断采用LRU算法产生的缺页中断为7次。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2