操作系统习题解析.ppt
《操作系统习题解析.ppt》由会员分享,可在线阅读,更多相关《操作系统习题解析.ppt(57页珍藏版)》请在三一办公上搜索。
1、习题选讲与解析,一、选择题1.在计算机系统中配置操作系统的主要目的是(A)。操作系统的主要功能是管理 计算机系统中的(B),其中包括(C)、(D),以及文件和设备。这里的(C)管 理主要是对进程进行管理。A:(1)增强计算机系统的功能;(2)提高系统资源的利用率;(3)提高系统的运行速度;(4)合理组织系统的工作流程,以提高吞吐量。B:(1)程序和数据;(2)进程;(3)资源;(4)作业;(5)软件;(6)硬件。C,D:(1)存储器;(2)虚拟存储器;(3)运算器;(4)处理机;(5)控制器。2.操作系统有多种类型:允许多个用户以交互方式使用计算机的操作系统称为(A);允许多个用户将若干个作业
2、提交给计算机系统集中处理的操作系统称为(B);在(C)的控制下,计算机系统能及时处理由过程控制反馈的数据,并做出响应;在IBMPC机上的操作系统称为(D)。A,B,C,D:(1)批处理操作系统;(2)分时操作系统;(3)实时操作系统;(4)微机操作系统;(5)多处理机操作系统。,A:2 B:3 C:4 D:1,A:2 B:1 C:3 D:4,3.在设计分时操作系统时,首先要考虑的是(A);在设计批处理操作系统时,先要考虑的是(B);在设计实时操作系统时,首先要考虑的是(C)。A,B,C:(1)灵活性和可适应性;(2)交互性和响应时间;(3)周转时间和系统吞吐量;(4)实时性和可靠性。4.分时系
3、统的响应时间(及时性)主要是根据(A)确定的,而试试系统的响应时间则是由(B)确定的。A,B:(1)时间片大小;(2)用户数目;(3)计算机运行速度;(4)用户所能接受的等待时间;(5)控制对象所能接受的时延;(6)实时调度。5.采用(A)结构时,将OS分成用于实现OS最基本功能的内核和提供各种服务的服务器两个部分。通常,下列模块中必须包含在操作系统内核中的是(B)模块。A:(1)整体式;(2)模块化;(3)层次式;(4)微内核。B:(1)内存分配;(2)中断处理;(3)文件处理;(4)命令处理。,A:4 B:2,A:4 B:5,A:2 B:3 C:4,6.在3.X版本以前的MSDOS是(A)
4、操作系统,Windows95是(B)操作系统,WindowsXP是(C)操作系统,它们都是由(D)开发的。A,B,C:(1)单用户单任务;(2)单用户多任务;(3)多用户单任务;(4)多用户多任务。D:(1)IBM公司;(2)Microsoft公司;(3)Microsoft和IBM联合;(4)Bell实验室;7.下面8个系统中,必须是实时操作系统的有()A计算机辅助设计系统;B 航空定票系统;C 过程控制系统;D 机器翻译系统;E 办公自动化系统;F 计算机激光照排系统;G情报检索系统;H导弹的制导系统二、简答题在操作系统中实现虚拟的关键技术是什么?并加以说明。操作系统中所谓的”虚拟“,是指通
5、过某种技术把一个物理实体变为若干个逻辑上的对应物,相应的用于实现虚拟的技术称为虚拟技术。在操作系统中利用了多种虚拟技术分别用来实现虚拟处理机、虚拟内存、虚拟外设和虚拟信道等。虚拟的实现主要是通过分时技术,例如,多道程序系统中,通过分时技术来实现虚拟处理机;将一台物理处理机虚拟为多台逻辑上的处理机,是靠多道程序分时地使用同一台物理处理机来实现的。微观上,该处理机在每一时刻只运行一道程序,它们分时地运行;然而在宏观上,系统中确有几道程序在同时运行,从而给用户的感觉是系统中同时同时有多台处理机在为其中的每一道程序服务,显然用户所感觉到的处理机并不实际存在。,A:1 B:2 C:4 D:2,ABCGH
6、,试从交互性、及时性以及可靠性三个方面,比较分时系统与实时系统。P11,已知一个求值公式(A2+3B)/(B+5A),若A,B已赋值,试画出该公式求值过程的前趋图,并用信号量解决公式的求解过程。,S1:x1=A*A,S2:x2=3*B,S3:x3=5*A,S4:x4=x1+x2,S5:x5=B+x3,S6:x6=x4/x5,开始,结束,struct semaphore a,b,c,d,e,=0,0,0,0,0;cobegin S1;V(a);S2;V(b);S3;V(c);P(a);P(b);S4;V(d)P(c);S5;V(e);P(d);P(e);S6);coend,a,c,b,d,e,吃
7、水果问题问题描述:桌上有一只盘子,每次只能放一个水果,爸爸专向盘中放苹果,妈妈专向盘中放桔子,儿子专等吃盘里的桔子,女儿专等吃盘里的苹果。只要盘子空,则爸爸或妈妈可向盘中放水果,仅当盘中有自己需要的水果时,儿子或女儿可从中取出,请给出四人之间的同步关系,并用P、V操作实现四人正确活动的程序。,void son(void)while(TRUE)P(so);get an orange;V(s);eat an orange;void daught(void)while(TRUE)P(sp);get an apple;V(s);eat an apple;coend,struct semaphore s
8、,sp,so=1,0,0;cobegin void father(void)while(TRUE)have an apple;P(s);put an apple;V(sp);void mother(void)while(TRUE)have an orange;P(s);put an orange;V(so);,Plate 1爸私 applempty 盘中无苹果 1女私applefull盘中有苹果0妈私orangempty无桔子1儿私orangefull有桔子0,爸p(plate);P(applempty);放苹果;V(applefull);V(plate);,女p(applefull);P(p
9、late);取苹果;V(applempty);,儿p(orangefull);P(plate);取桔子;V(plate);V(orangempty);,母p(plate);P(orangempty);放桔子;V(orangefull);V(plate);,mutex 盘子a表示爸爸是否在盘中放入苹果b 女儿是否可吃苹果c表示妈妈是否在盘中放桔子d为儿子是否可吃桔子,p(a);p(mutex);放入苹果;v(b);p(b);取走苹果;v(a);v(mutex);p(c);p(mutex);放入桔子;v(d);p(d);取走桔子;v(c);v(mutex),初值?,mutex 盘子1appfull
10、苹果个数0avail 盘中空位个数初值为norgfull 桔子的个数0,dadP(avail);P(mutex);put an apple;V(appfull);V(mutex);,momP(avail);P(mutex);put an orange;V(orgfull);V(mutex);,sonP(orgfull);P(mutex);get an apple;V(avail);V(mutex);,dauP(appfull);P(mutex);get an apple;V(avail);V(mutex);,注意初值avail的设置,n不正确,BeginP(apple);P(pan)V(app
11、le);V(pan);P(orange);P(pan);V(orange);V(pan);,P(pan);P(apple);V(apple);V(apple);V(pan);P(pan);P(orange);V(orange);V(pan);,四人动作未分开,apple和orange变量的含义不明确,empty=1;apple=0;orange=0;,S1:parbegin P(empty);count:=count+1;V(apple);do sth elseparend,S2:parbegin P(empty);count:=count+1;V(orange);do sth elsepar
12、end,S3:parbegin P(orange);count:=count-1;If(count=0)V(empty);do sth elseparend,S4:parbegin P(apple);count:=count-1;If(count=0)V(empty);do sth elseparend,父,子,女,母,count=0;,struct semphore plate,platempty,orange,apple=1,1,0,0;,cobeginmother(void)beginP(platempty);P(plate);桔子放入盘中;V(orange);V(plate);end,
13、son(void)beginP(orange);P(plate);吃桔子;V(platempty);V(plate);end,mother(void)beginP(apple);P(plate);吃苹果;V(platempty);V(plate);endcoend,father(void)beginP(platempty);P(plate);放苹果;V(apple);V(plate);end,设公共汽车上,司机和售票员的活动分别是:司机:售票员:启动车辆 上下乘客 正常行车 关车门 到站停车 售票 开车门 上下乘客 在汽车不断到站,停车,行驶过程中,这两个活动的同步关系。,struct sem
14、aphore s1,s2=0,0;cobegin void driver(void)while(TRUE)p(s2);启动车辆;正常行车;到站停车;V(s1);,void conductor(void)while(TRUE)上、下乘客;关车门;V(s2);售票;P(s1);开车门;上、下乘客;coend,S1是否可以开车门S2是否可以发动车辆,struct semaphore s1,s2=1,0;cobegin void driver(void)while(TRUE)P(s2);启动车辆;正常行车;到站停车;V(s1);void conductor(void)while(TRUE)P(s1);
15、开车门;上、下乘客;关车门;V(s2);售票;coend,司机-售票员问题另解:,S1是否可以开车门1S2是否可以发动车辆0,1.在某系统中,三个进程共享四台设备资源,这些资源一次只能一台地为进程服务和释放,每个进程最多需要二台设备资源,试问在系统中是否会产生死锁?,答:不会。若所有的资源都被占用,而占用者又都不满足必须的全部资源,此时就有一个或几个进程无限期地等待更多的资源,系统就会出现死锁。本题中若4 台设备资源都被占用,则其中一定有一个进程获得2台设备资源(满足其最大的需求量),这个进程必然会在有限的时间内完成其工作,并释放其所占用的2台资源,这样也就能满足其它二进程对设备资源的要求,继
16、续完成它们各自的工作。,某寺庙,有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用。水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水。水桶总数为3个。每次入水、取水仅为一桶,且不可同时进行。试给出有关取水、入水的算法描述。,应首先考虑清楚本题需要几个进程。从井中取水后向缸中倒水此为连续动作,可算同一进程,从缸中取水为另一进程。在考虑信号量,有关互斥的资源有水井(一次仅一个水桶进出),水缸(一次如水取水时均为一桶),分别为之设置信号量mutex1,mutex2控制互斥;另有同步问题存在:三个水桶无论从井中取水还是入出水缸都是一次一个,应为之设信号量cou
17、nt,抢不到水桶的进程只好等待;还有水缸满时,不可入水,设信号量empty,控制入水量,水缸空时不可出水,设信号量full,控制出水量。,mutex1:=1;mutex2:=1;empty:=10;full:=0;count:=3;cobegin 小和尚打水:beginL1:P(empty);P(count);P(mutex1);从井中取水;V(mutex1);P(mutex2);送入水缸;V(mutex2);V(count);V(full);Goto L1:end;,老和尚取水:begin L2:P(full);P(count);P(mutex2);从缸中取水;V(mutex2);V(emp
18、ty);V(count);Goto L2 end;coend.,在南开大学和天津大学之间有一条弯曲的小路,其中从S到T一段路每次只允许一辆自行车通过,但中间有一个小的“安全岛”M(同时允许两辆自行车停留),可供两辆自行车已从两端进入小路情况下错车使用,如图所示。试设计一个算法来使来往的自行车均可顺利通过。,M,K,S,T,L,南开大学,天津大学,本题是一个利用P、V操作控制一个任务流程的问题。这类问题较常见。分析的时候主要是列出所需控制的对象,以及其控制关系,对于本题来说,所需控制对象,以及其控制关系。对于本题来说,所需控制的对象是由T到L这一段路的使用,由S到K这一段路的使用以及M这个“安全
19、岛”的使用。路段T至L及路段S至K同时只允许一个进程(一辆自行车)使用,对于它们,我们可以分别用3个信号量来管理。最后,由于同时最多只能由一个方向的一辆自行车通过(两个方向共两辆自行车),因此,对每个方向上的自行车还应用一个信号量来控制对临界资源的访问。,解答:对于两个方向的自行车,我们用两个进程bikeT2N和bikeN2T来表示。BikeT2N为从天津大学向南开大学行驶的自行车,bikeN2T为从南开大学向天津大学行驶的自行车。其控制流程如下:BEGIN Integer T2N,N2T,L,M,K;T2N:1;N2T:1;L:1;K:1;M:2;BEGINPROCEDURE bikeT2N
20、()P(T2N);P(L);go through T to L;P(M);Go into M;V(L);P(K);go through K to S;V(M);V(K);V(T2N);,PROCEDURE bikeN2T()P(N2T);P(K);go through S to K;P(M);go into M;V(K);P(L);go through L to T;V(M);V(L);V(N2T);END,某工厂有两个生产车间,两个生产车间分别生产A,B两种零件,装配车间的任务是把A,B两种零件组装成产品。两个生产车间每生产一个零件后都要分别把它们送到装配车间的货架F1,F2上,F1存放零件
21、A,F2存放零件B,F1和F2的容量均为可以存放10个零件。装配工人每次从货架上取一个A零件和一个B零件然后组装成产品。请用PV操作进行正确管理。,该题是生产者消费者的变形,可以认为一个消费者(装配工人)同两个生产者(A,B车间)互斥试用两个缓冲区(F1,F2),可设mutex1,mutex2(初值为1)控制进程对F1,F2的互斥操作,另设empty1,empty2(初值均为10),full1,full2(初值均为0)。过程如下:,Cobegin A车间:Begin生产一个产品;P(empty1);P(mutex1);放入F1;V(mutex1);V(full);EndB车间Begin生产一个
22、产品;P(empty2);P(mutex2);放入F2;V(mutex2);V(full2);End,装配工人:BeginP(full1);P(full2);P(mutex1);P(mutex2);取A和B;V(mutex1);V(mutex2);V(empty1);V(empty2);End,假定系统中有五个进程P0、P1、P2、P3、P4和三种类型的资源A,B,C,每一种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图请找出该表中T0时刻以后存在的安全序列(至少2种),资源情况,进程,AllocationA B C,MaxA B C,NeedA B C,AvailableA B
23、C,P0P1P2P3P4,0 1 0,3 2 2,9 0 2,2 2 2,4 3 3,2 0 0,3 0 2,2 1 1,0 0 2,7 4 3,1 2 2,6 0 0,0 1 1,4 3 1,3 3 2,7 5 3,(中国科学院计算技术研究所1999年试题)一系统具有150个存储单元,在T0时刻下表所示分配给3个进程。进程 Maximum demand Current allocation P1 70 25 P2 60 40 P3 60 45对下列请求应用银行家算法分别分析判定是否安全?(1)第4个进程P4到达,最大需求60个存储单元,当前请求分配25个单元;(2)第4个进程P4到达,最大需
24、求50个存储单元,当前请求分配35个单元;如果是安全的,情给出一个可能的安全执行序列;如果是不安全的,请说明原因。,该题的两个问题都是问当P4当前的需求是否可以满足。对于P4来说关键不在其最大的需求量是多少,而是其当前需求量是多少;系统在此时剩余资源数是40个;(1)P4的最大需求量为60,当前请求分配25个,计算是否安全,应在假设分配之后看是否找到安全序列。结果是至少可以找到一个安全序列,答案不唯一。(2)P4得到35个单元后,系统剩余资源数为5,此时4个进程的剩余量需求量均无法满足,为不安全状态,因为找不到安全序列。,设系统中有3种类型的资源(A,B,C)和5个进程(P1,P2,P3,P4
25、,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20,在T0时刻系统状态见下表。进程 最大资源数量 已分配资源数量 剩余资源数量 A B C A B C A B C P1 5 5 9 2 1 2 2 3 3 P2 5 3 6 4 0 2 P3 4 0 11 4 0 5 P4 4 2 5 2 0 4 P5 4 2 4 3 1 4系统采用银行家算法实施死锁避免策略。(1)T0时刻是否为安全状态?若是,请给出安全序列(2)在T0时刻若进程P4请求(0,3,4),是否能实施资源分配?为什么?(3)在(2)的基础上,若进程P4请求资源(2,0,1)是否能实施资源分配?为什么?(4)在(3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 习题 解析
链接地址:https://www.31ppt.com/p-5766734.html