操作系统习题解析_第1页
操作系统习题解析_第2页
操作系统习题解析_第3页
操作系统习题解析_第4页
操作系统习题解析_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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有桔子0,

9、爸 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);放入苹果;v(b); p

10、(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; v(avail

11、); 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; apple=0;

12、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 else par

13、end,父,子,女,母,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(plate); end

14、 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) while(

15、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,控制出水量。,mutex1:=1; mu

18、tex2:=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同时只允许一个进程(一辆自行车)使用,对于它们,我们可以分别用3个信号量来管

20、理。最后,由于同时最多只能由一个方向的一辆自行车通过(两个方向共两辆自行车),因此,对每个方向上的自行车还应用一个信号量来控制对临界资源的访问。,解答:对于两个方向的自行车,我们用两个进程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); go into

21、 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 生产一个产品; p(empty2

23、); 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 b c,avai

24、lable 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种类型的资源(a

26、,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)的基础上,若进程p4请求

27、资源(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 14 1 1 0

28、 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(2,2,1)

29、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,3,2) b:

30、request1(0,2,0)need(3,4,7) c: 试探分配,此时系统中的情况如下表所示:,进程 最大资源数量 已分配资源数量 还需要资源数量 剩余资源数量 a b c a b c a b c a b c p1 5 5 9 2 3 2 3 2 7 0 1 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,d: 剩余资源不足,所以不存在安全序列。此次分配不予满足。,试化简图中的进程资源图,并利用死锁定理给出相应的结论,p0,p1,p2,p3,p4,r0,r1,r2,

31、r3,r4,r1,r2,r3,r4,r0,p0,p1,p2,p3,p4,根据死锁定理,资源分配图不能完全化简,系统中潜在死锁,产生死锁的进程是p1,p3,p4,r1,r2,r3,r4,化简如下所示的资源分配图,并判断系统中是否存在死锁,r2,p1,p4,p2,p3,r1,r3,一个四道作业的操作系统中,设在一段时间内先后到达6个作业,它们的提交时间和运行时间见表,作业号 提交时间 运行时间,job1 job2 job3 job4 job5 job6,8:00 8:20 8:25 8:30 8:35 8:40,60 35 20 25 5 10,系统采用短作业优先的调度算法,作业被调度进入运行后不

32、再 退出,但当一作业进入运行时,可以调整运行的优先次序。 1 按照所选择的调度算法,请分别给出上述6个作业的执行时间次序 2 计算在上述调度算法下作业的平均周转时间,作业号 提交时间 运行时间 开始时刻 完成时刻 周转时间,job1 job2 job3 job4 job5 job6,(时),(分钟),(时),(时),(分钟),8:00 60 8:00 9:00 60 8:20 35 10:00 10:35 135 8:25 20 9:15 9:35 70 8:30 25 9:35 10:00 90 8:35 5 9:00 9:05 30 8:40 10 9:05 9:15 35,作业号 提交时

33、间 运行时间,job1 job2 job3 job4 job5 job6,8:00 8:20 8:25 8:30 8:35 8:40,60 35 20 25 5 10,一个具有两道作业的批处理系统,作业调度采用短作业优先 的调度算法,进程调度采用以优先数为基础的抢占式调度算法,如下表的作业序列(表中所有作业优先数即为进程优先数,数值越小优先级越高)。 1 列出所有作业进入内存时间及结束时间 2 计算平均周转时间,作业的执行时间,作业名 到达时间 估计运算时间 优先数,a 10:00 40分 5 b 10:20 30分 3 c 10:30 50分 4 d 10:50 20分 6,作业名 到达时间

34、 估计运算时间 优先数,a 10:00 40分 5 b 10:20 30分 3 c 10:30 50分 4 d 10:50 20分 6,各作业进入内存的时间和结束时间见表,作业进入内存的时间和结束时间,作业名 进入内存时间 结束时间,a b c d,10:00 10:20 11:10 10:50,11:10 10:50 12:00 12:20,2 各作业执行时间的周转时间为 作业a 70分钟 作业b 30分钟 作业c 90分钟 作业d 90分钟 作业的平均周转时间为t70(min),有5个批处理作业(a、b、c、d、e)几乎同时到达一个计算 中心,估计的运行时间分别为2,4,6,8、10分钟,

35、它们的 优先数分别为1,2,3,4,5(1为最低优先级),对下面的 每种调度算法,分别计算作业的平均周转时间。 1 最高优先级先 2 时间片轮转(时间片为2分钟) 3 fifo(作业到达顺序为c、d、b、e、a) 4 短作业优先,(1)对最高优先级优先算法,e d c b a,0 10 18 24 28 30,t,平均周转时间110/5=22分钟,(2)对时间片轮转算法,a b c d e b c d f c d e d e e,0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30,平均周转时间=90/5=18,(3)对fifo算法,c d b e a,0 6

36、14 18 28 30,(4)对短作业优先算法,0 6 14 18 28 30,a b c d e,平均周转时间96/5=19.2,平均周转时间70/5=14,在一个批处理系统中,有两个作业进程。有一作业序列,其到达时间及估计运行时间如下表,作业 到达时间 估计运行时间(分钟),10:00 35 2 10:10 30 3 10:15 45 4 10:20 20 5 10:30 30,系统采用最高响应比优先的作业调度算法(响应比等待时间/估计运行时间)。作业进程的调度采用短作业优先的抢占调度算法。 1、列出各作业的执行时间 2、计算这批作业的平均周转时间,作业 到达时间 估计运行时间(分钟),1

37、0:00 35 2 10:10 30 3 10:15 45 4 10:20 20 5 10:30 30,各作业的执行时间序列为: 作业10:00-10:10,11:00-11:25(结束) 作业210:10-10:40(结束) 作业311:55-12:40 (结束) 作业410:40-11:00 (结束) 作业511:25-11:55(结束) 各作业执行的周转时间为:作业:分钟;作业:分钟;作业:分钟;作业:分钟;作业:分钟。平均周转时间为:分钟。,解2:各作业的执行时间序列为:75分钟,某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机器,有2n名学生选课(m,n均大于等于1),规

38、定: 1,每两个学生组成一组,各占一台机器,协同完成上机实习; 2,只有一组两个学生到齐,并且此时机房有空闲机器时,该组学生才能进入机房; 3,上机实习由一名教师检查,检查完毕,一组学生同时离开机房 试用p、v操纵模拟上机实习过程。,解答:上机实习过程如下: begin integer student,computer,enter,finish,check; student:=0; computer:=2m; enter:=0; finish:=0; check:=0; cobegin student:begin v(student); 表示有学生到达 p(computer); 获取一台计算机

39、 p(enter); 等待允许进入 do it with parter; v(finish); 表示实习完成 p(check); 等待教师检查 v(computer); 释放计算机资源 end,teacher:begin l1:p(finished); 等待学生实习完成 p(finished); 等待另一学生实习完成 check the work; v(check); 表示检查完成 v(check); 表示检查完成 goto l1; end monitor:begin l2:p(student); 等待学生到达 p(student); 等待另一学生到达 v(enter); 允许学生进入 v(e

40、nter); 允许学生进入 end coend,3.仅涉及一个进程的死锁有可能存在吗?为什么? 不可能。这可直接从死锁的必要条件之一“请求和保持(部分分配)”可得。 4.设计一个不可能出现饥饿现象和死锁的过河算法。 答:利用红绿灯和一个计数器。当有人开始过河时,计数器增值,当过河后该计数器减值,(但任何一个方向都有时间限制,如分钟),仅当计数器值为0时,才开绿灯既允许另一方向的人过河。 5.设系统中仅有一类独占资源,进程一次只能申请一个资源.系统中多个进程竞争该类资源.试判断下述那些情况会发生死锁?为什么? 1,资源数为4,进程数为3,每个进程最多需要2个资源 2,资源数为6,进程数为2,每个

41、进程最多需要4个资源 3,资源数为8,进程数为3,每个进程最多需要3个资源 4,资源数为20,进程数为8,每个进程最多需要2,1.什么是虚拟存储器?它有哪些基本特征? 答:在具有层次结构存储器的计算机系统中,采用自动实现部分装入和部分对换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。实际上虚拟存储器是为扩大主存而采用的一种设计技巧,虚拟存储器的容量于主存大小没有直接关系,而受限于计算机的地址结构及可用的辅助存储器的容量。 虚拟存储器有以下特征:1、多次性;2、对换性;3、虚拟性;,2. 考虑下面的存储访问序列,该程序大小为460个字: 10,11,104,170,73,309,185,2

42、45,246,434,458,364 设页面大小是100字,请给出该访问序列的页面走向。又设该程序基本可用内存是200字,采用fifo置换算法,求出其缺页率。如果采用lru置换算法,缺页率是多少?,答:页面走向是0、0、1、1、0、3、1、2、2、4、4、3,fifo算法:,0 0 1 1 0 3 1 2 2 4 4 3,1 1 1 1 1 2 2 2 2 3,0 0 0 0 0 3 3 3 3 4 4 4,缺 缺 缺 缺 缺 缺,lru算法:,0 0 1 1 0 3 1 2 2 4 4 3,1 1 0 3 1 2 2 4 4 3,0 0 0 0 1 0 3 1 1 2 2 4,缺 缺 缺 缺

43、 缺 缺 缺,6/1250,7/1258.3,3.考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6;当内存块数量分别为3和5时,试问lru,fifo,opt三种置换算法的缺页次数各是多少?(初始所有内存块都是空的)三页:fifo 16次 lru 15次 opt 11次五页:fifo 10次 lru 8次 opt 7次,段表始址 段表长度,控制寄存器,0 430,段号 位移量w,649,段号 基址 段长,物理地址,0,1,2,3,4,219,2300,90,1327,1952,600,14,100,580,96,段号,基址,长度,0,1,2,3,4

44、,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 (2,500)地址非法,产生越界中断 (3,400)的物理地址是1727 (4,112)地址非法,产生越界中断,5.进程资源的使用情况和可用情况如下表所示,请画出资源分配图,并判断该状态是否会产生死锁? 进程 当前分配数 待分配的请求 可用资源

45、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,p1,p2,p3,p4,r1,r2,r3,根据死锁定理,资源分配图可完全化简系统中不存在死锁,6. 吸烟者问题:三个吸烟者在一个房间内,还有一个香烟供应者。为了制造并抽掉香烟,每个吸烟者需要三样东西:烟草、纸和火柴、供应者有丰富货物提供。三个吸烟

46、者中,第一个有自己的烟草,第二个有自己的纸和第三个有自己的火柴。供应者随机地将两样东西放在桌子上,允许一个吸烟者进行对健康不利的吸烟。当吸烟者完成吸烟后唤醒供应者,供应者再把另外两样东西放在桌子上,唤醒另一个吸烟者。试采用信号量和p、v操作编写他们同步工作的程序。,烟草,1,2,3,烟草、纸、火柴,香烟提供者,a b c,a,b,c,a代表烟草、b代表纸,c代表火柴;我们设初始状态为老板先出售b,c(即a的初值为0;b,c初值为1)设mutex1,mutex2,mutex3(初值均为1)作为互斥信号量,用来控制对三组变量(b,c),(a,c),(a,b)的访问;再设信号量buy1,buy2,b

47、uy3,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(buy1); 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);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论