版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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)的控制下,计算机系统能及时处理由过程控制反馈的数据,并做出响应;在IBM PC机上的操作系统称为(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)实
3、时性和可靠性。 4.分时系统的响应时间(及时性)主要是根据(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,
4、6.在3.X版本以前的MSDOS是(A)操作系统,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、技术是什么?并加以说明。 操作系统中所谓的”虚拟“,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物,相应的用于实现虚拟的技术称为虚拟技术。在操作系统中利用了多种虚拟技术分别用来实现虚拟处理机、虚拟内存、虚拟外设和虚拟信道等。虚拟的实现主要是通过分时技术,例如,多道程序系统中,通过分时技术来实现虚拟处理机;将一台物理处理机虚拟为多台逻辑上的处理机,是靠多道程序分时地使用同一台物理处理机来实现的。微观上,该处理机在每一时刻只运行一道程序,它们分时地运行;然而在宏观上,系统中确有几道程序在同时运行,从而给用户的感觉是系统中同时同时有多台处理机在为其中的每一道程序服务,显然用户所感觉到的处理机
6、并不实际存在。,A:1 B:2 C:4 D:2,ABCGH,试从交互性、及时性以及可靠性三个方面,比较分时系统与实时系统。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
7、(e); P(d);P(e);S6); coend,a,c,b,d,e,吃水果问题 问题描述:桌上有一只盘子,每次只能放一个水果,爸爸专向盘中放苹果,妈妈专向盘中放桔子,儿子专等吃盘里的桔子,女儿专等吃盘里的苹果。只要盘子空,则爸爸或妈妈可向盘中放水果,仅当盘中有自己需要的水果时,儿子或女儿可从中取出,请给出四人之间的同步关系,并用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
8、 apple; V(s); eat an apple; coend,struct semaphore s,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有
9、桔子0,爸 p(plate); P(applempty); 放苹果; V(applefull); V(plate); ,女 p(applefull); P(plate); 取苹果; 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);放入苹果
10、;v(b); p(b);取走苹果;v(a);v(mutex); p(c);p(mutex);放入桔子;v(d); p(d);取走桔子;v(c);v(mutex),初值?,mutex 盘子1 appfull苹果个数0 avail 盘中空位个数初值为n orgfull 桔子的个数0,dad P(avail); P(mutex); put an apple; V(appfull); V(mutex);,mom P(avail); P(mutex); put an orange; V(orgfull); V(mutex);,son P(orgfull); P(mutex); get an apple;
11、 V(avail); V(mutex);,dau P(appfull); P(mutex); get an apple; V(avail); V(mutex);,注意初值avail的设置,n不正确,Begin P(apple); P(pan) V(apple); 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;
12、apple=0;orange=0;,S1:parbegin P(empty); count:=count+1; V(apple); do sth else parend,S2:parbegin P(empty); count:=count+1; V(orange); do sth else parend,S3:parbegin P(orange); count:=count-1; If(count=0) V(empty); do sth else parend,S4:parbegin P(apple); count:=count-1; If(count=0) V(empty); do sth
13、else parend,父,子,女,母,count=0;,struct semphore plate,platempty,orange,apple=1,1,0,0;,cobegin mother(void) begin P(platempty); P(plate); 桔子放入盘中; V(orange); V(plate); end,son(void) begin P(orange); P(plate); 吃桔子; V(platempty); V(plate); end,mother(void) begin P(apple); P(plate); 吃苹果; V(platempty); V(pla
14、te); end coend,father(void) begin P(platempty); P(plate); 放苹果; V(apple); V(plate); end,设公共汽车上,司机和售票员的活动分别是: 司机: 售票员: 启动车辆 上下乘客 正常行车 关车门 到站停车 售票 开车门 上下乘客 在汽车不断到站,停车,行驶过程中,这两个活动的同步关系。,struct semaphore s1,s2=0,0; cobegin void driver(void) while(TRUE) p(s2); 启动车辆; 正常行车; 到站停车; V(s1); ,void conductor(void
15、) 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); 开车门; 上、下乘客; 关车门; V(s2); 售票; coend,司机-售票员问题另解:,S1是否可以开车门1 S2是否可以发动车辆0,1.在某系统中,三个进程
16、共享四台设备资源,这些资源一次只能一台地为进程服务和释放,每个进程最多需要二台设备资源,试问在系统中是否会产生死锁?,答:不会。若所有的资源都被占用,而占用者又都不满足必须的全部资源,此时就有一个或几个进程无限期地等待更多的资源,系统就会出现死锁。本题中若4 台设备资源都被占用,则其中一定有一个进程获得2台设备资源(满足其最大的需求量),这个进程必然会在有限的时间内完成其工作,并释放其所占用的2台资源, 这样也就能满足其它二进程对设备资源的要求,继续完成它们各自的工作。,某寺庙,有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用。水缸可以容纳10桶水,水取自同一口井中,由于水井口窄
17、,每次只能容纳一个水桶取水。水桶总数为3个。每次入水、取水仅为一桶,且不可同时进行。试给出有关取水、入水的算法描述。,应首先考虑清楚本题需要几个进程。从井中取水后向缸中倒水此为连续动作,可算同一进程,从缸中取水为另一进程。在考虑信号量,有关互斥的资源有水井(一次仅一个水桶进出),水缸(一次如水取水时均为一桶),分别为之设置信号量mutex1,mutex2控制互斥;另有同步问题存在:三个水桶无论从井中取水还是入出水缸都是一次一个,应为之设信号量count,抢不到水桶的进程只好等待;还有水缸满时,不可入水,设信号量empty,控制入水量,水缸空时不可出水,设信号量full,控制出水量。,mutex
18、1:=1; mutex2:=1; empty:=10; full:=0; count:=3; cobegin 小和尚打水: begin L1: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(empty); V(count); Goto L2 end; coend.,在南开大学和天津大学之间有一条
19、弯曲的小路,其中从S到T一段路每次只允许一辆自行车通过,但中间有一个小的“安全岛”M(同时允许两辆自行车停留),可供两辆自行车已从两端进入小路情况下错车使用,如图所示。试设计一个算法来使来往的自行车均可顺利通过。,M,K,S,T,L,南开大学,天津大学,本题是一个利用P、V操作控制一个任务流程的问题。这类问题较常见。分析的时候主要是列出所需控制的对象,以及其控制关系,对于本题来说,所需控制对象,以及其控制关系。对于本题来说,所需控制的对象是由T到L这一段路的使用,由S到K这一段路的使用以及M这个“安全岛”的使用。路段T至L及路段S至K同时只允许一个进程(一辆自行车)使用,对于它们,我们可以分别
20、用3个信号量来管理。最后,由于同时最多只能由一个方向的一辆自行车通过(两个方向共两辆自行车),因此,对每个方向上的自行车还应用一个信号量来控制对临界资源的访问。,解答:对于两个方向的自行车,我们用两个进程bikeT2N和bikeN2T来表示。BikeT2N为从天津大学向南开大学行驶的自行车,bikeN2T为从南开大学向天津大学行驶的自行车。其控制流程如下: BEGIN Integer T2N,N2T,L,M,K; T2N:1;N2T:1; L:1;K:1;M:2; BEGIN PROCEDURE bikeT2N() P(T2N); P(L); go through T to L ; P(M);
21、 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存放零件A,F2存放零件B,F1和F2
22、的容量均为可以存放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); End B车间 Begin 生产一个产品;
23、P(empty2); P(mutex2); 放入F2; V(mutex2); V(full2); End,装配工人: Begin P(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种),资源情况,进程,Allocation A B C,Max A B C,Need A
24、B C,Available A B C,P0 P1 P2 P3 P4,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、请求分配25个单元; (2)第4个进程P4到达,最大需求50个存储单元,当前请求分配35个单元; 如果是安全的,情给出一个可能的安全执行序列;如果是不安全的,请说明原因。,该题的两个问题都是问当P4当前的需求是否可以满足。对于P4来说关键不在其最大的需求量是多少,而是其当前需求量是多少;系统在此时剩余资源数是40个; (1)P4的最大需求量为60,当前请求分配25个,计算是否安全,应在假设分配之后看是否找到安全序列。结果是至少可以找到一个安全序列,答案不唯一。 (2)P4得到35个单元后,系统剩余资源数为5,此时4个进程的剩余量需求量均无法满足,为不安全状态,因为找不到安全序列。,设系统中有3
26、种类型的资源(A,B,C)和5个进程(P1,P2,P3,P4,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)的基础上
27、,若进程P4请求资源(2,0,1)是否能实施资源分配?为什么? (4)在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施分配?为什么?,判断是否为安全状态,关键在于能否找到一个安全序列。这与进程剩余需求量有关,列表如下,资源情况,进程,Need A B C,work A B C,WorkAllocation A B C,Allocation A B C,P4 P2 P3 P5 P1,finish,2 3 3 2 2 1 2 0 4 4 3 7 true,4 3 7 1 3 4 4 0 2 8 3 9 true,8 3 9 0 0 6 4 0 5 12 3 14 true,12 3
28、14 1 1 0 3 1 4 15 4 18 true,15 4 18 3 4 7 2 1 2 17 5 20 true,进程 最大资源数量 已分配资源数量 还需要资源数量 剩余资源数量 A B C A B C A B C A B C P1 5 5 9 2 1 2 3 4 7 2 3 3 P2 5 3 6 4 0 2 1 3 4 P3 4 0 11 4 0 5 0 0 6 P4 4 2 5 2 0 4 2 2 1 P5 4 2 4 3 1 4 1 1 0,(2)Request4(0,3,4)Available(2,3,3),系统不能给予满足。 (3)a:Request4(2,0,1)Need4
29、(2,2,1) b:Request4(2,0,1)Available(2,3,3) c:系统试探将Request4(2,0,1)分配出去并修改数据结构的值,进程 最大资源数量 已分配资源数量 还需要资源数量 剩余资源数量 A B C A B C A B C A B C P1 5 5 9 2 1 2 3 4 7 0 3 2 P2 5 3 6 4 0 2 1 3 4 P3 4 0 11 4 0 5 0 0 6 P4 4 2 5 4 0 5 0 2 0 P5 4 2 4 3 1 4 1 1 0,此时可以寻找到安全序列,此次请求可以分配 (4)a:Request1(0,2,0)Available(0,
30、3,2) b: Request1(0,2,0),0 430,段号 位移量W,649,段号 基址 段长,物理地址,0,1,2,3,4,219,2300,90,1327,1952,600,14,100,580,96,段号,基址,长度,0,1,2,3,4,219,2300,90,1327,1952,600,14,100,580,96,已知段表如下所示,下述逻辑地址的物理地址是什么?并画出基本分段的地址变换过程 (0,430)、(1,10)、(1,11),(2,500),(3,400),(4,112),(0,430)的物理地址是649 (1,10)的物理地址是2310 (1,11)的物理地址是2311
31、 (2,500)地址非法,产生越界中断 (3,400)的物理地址是1727 (4,112)地址非法,产生越界中断,5.进程资源的使用情况和可用情况如下表所示,请画出资源分配图,并判断该状态是否会产生死锁? 进程 当前分配数 待分配的请求 可用资源 R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 2 0 0 1 1 0 0 0 0 P2 3 1 0 0 0 0 P3 1 3 0 0 0 1 P4 0 1 1 0 1 0,P1,P2,P3,P4,R1,R2,R3,P1,P2,P3,P4,R1,R2,R3,P1,P2,P3,P4,R1,R2,R3,P1,P2,P3,P4,R1,R2,R3
32、,P1,P2,P3,P4,R1,R2,R3,根据死锁定理,资源分配图可完全化简系统中不存在死锁,6. 吸烟者问题:三个吸烟者在一个房间内,还有一个香烟供应者。为了制造并抽掉香烟,每个吸烟者需要三样东西:烟草、纸和火柴、供应者有丰富货物提供。三个吸烟者中,第一个有自己的烟草,第二个有自己的纸和第三个有自己的火柴。供应者随机地将两样东西放在桌子上,允许一个吸烟者进行对健康不利的吸烟。当吸烟者完成吸烟后唤醒供应者,供应者再把另外两样东西放在桌子上,唤醒另一个吸烟者。试采用信号量和P、V操作编写他们同步工作的程序。,烟草,1,2,3,烟草、纸、火柴,香烟提供者,a b c,a,b,c,a代表烟草、b代
33、表纸,c代表火柴;我们设初始状态为老板先出售b,c(即a的初值为0;b,c初值为1)设mutex1,mutex2,mutex3(初值均为1)作为互斥信号量,用来控制对三组变量(b,c),(a,c),(a,b)的访问;再设信号量buy1,buy2,buy3,sale用来吸烟者同老板之间的同步控制,其中buy1初值为1,其它初值为0;因此我们设置的初始状态为老板可向第一个对列出售他们需要的两种物品,struct semaphore mutex1,mutex2,mutex3,buy1,buy2,buy3,sale1,1,1,1,0,0,0; int a,b,c0,1,1;,P1: Begin P(b
34、uy1); P(mutex1); b:=b-1; c:=c-1; V(mutex1); 吸烟; V(sale); End,P2: Begin P(buy2); P(mutex2); a:=a-1; c:=c-1; V(mutex2); 吸烟; V(sale); End,P3: Begin P(buy3); P(mutex3); a:=a-1; b:=b-1; V(mutex3); 吸烟; V(sale); End,P4: Cobegin begin P(sale); P(mutex1); b:=b+1; c:=c+1; V(mutex1); V(buy1); End begin P(sale)
35、; P(mutex2) a:=a+1; c:=c+1; V(mutex2); V(buy2); end,begin P(sale); P(mutex3); a:=a+1; b:=b+1; V(mutex3); V(buy3); End; Cobegin,7.某多道程序设计系统供用户使用的主存为100KB,磁带机2台,打印机1台。采用可变分区内存管理,采用静态分配外围设备,忽略用户作用I/O时间,现有作业序列如下: 作业调度采用FCFS策略,优先分配主存低地址区且不准移动已在主存的作业,在主存中的各作业平分CPU时间。现求(1)作业被调度的先后次序?(2)全部作业运行结束的时间?(3)作业平均周转时间为多少?,作业号 进入输入井时间 运行时间 主存需求量 磁带需求 打印机需求,1 8:00 25分钟 15KB 1 1 2 8:20 10分钟 30KB 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林防火防控解决方案全球前19强生产商排名及市场份额(by QYResearch)
- 豫北地区中学生体质健康状况剖析与提升策略探究
- 谷氨酸棒杆菌工程菌构建:开启异戊醇高效生物合成新篇
- 调督安神法电针调控p11改善抑郁行为的机制探究
- 2026年中国人民解放军第421医院医护人员招聘笔试参考试题及答案详解
- 语言接触视角下英语对汉语定语位置的重塑与影响探究
- 语用预设:开启英语写作教学新维度的钥匙
- 语境赋能:中学英语词汇教学的创新与实践
- 语块理论融入高中英语教学的多维探索与实践
- 词块教学法:开启高中英语写作能力提升的新路径
- 尿液红细胞形态检验与规范化报告专家共识(2026版)
- 2026年高考英语新高考一卷真题卷附答案
- 2026河南淅胜产业发展有限责任公司招聘工作人员10人笔试备考题库及答案详解
- 电梯意外事件与事故应急救援及演习制度培训
- 临床输血全流程清单式质量管理专家共识
- 2026年江苏省文化投资管理集团有限公司招聘笔试题库
- 高考英语近6年高频考察300个长难句型(带解析版)
- 2026年东省济南第一中学高考语文二模试卷
- 铁路专用线竣工验收管理方案
- 2026春粤教花城版三年级下册音乐期末练习卷含参考答案
- 2026年文献检索和科技论文写作练习题库及答案详解(易错题)
评论
0/150
提交评论