《操作系统课后习题19答案.pdf》由会员分享,可在线阅读,更多相关《操作系统课后习题19答案.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、练习11.I T.10 题解见书1.1 1 有一台输入设备和一台输出设备的计算机系统上,运行有两道程序。两道程序投入运行情况如下:程序1 先开始运行,其运行轨迹为:计算5 0 n l s、输出10 0 m s、计算5 0 m s、输出10 0 m s,结束;程序2 后开始运行,其运行轨迹为:计算5 0 m s、输入10 0 m s、计算10 0 m s.结束。1.忽略调度时间,指出两道程序运行时,C P U 是否有空闲?在哪部分空闲?指出程序1和程序2.有无等待C P U 的情况?如果有,发生在哪部分?题解:由题画出C P U 利用图如下:程序1程序20 50100=,-,-t/lDS150
2、200 250 300由图可知,1.C P U 有空闲,在 10 0 m s l 5 0 m s 时间段是空闲的。2.程序1 无等待时间,而程序2 在一开始的0 m s 5 0 m s 时间段会等待。1.1 2 在计算机系统上运行三道程序,运行次序为程序1、程序2、程序3。程序1 的运行轨迹为:计算20 m s、输入40 m s、计算10 m s。程序2 的运行轨迹为:计算40 m s、输入30 m s、计算10 m s。程序3 的运行轨迹为:计算60 m s、输入30 m s、计算20 m s。忽略调度时间,画出三道程序运行的时间关系图;完成三道程序共花多少时间?与单道程序比较,节省了多少时
3、间?解答:三道程序运行,完成三道程序 共 花 170 m so与单道程序(260 m s)比较,节省了 9 0 m s o(始终按照1-2-3的次序,即程序1-程序2-程 序 3 f 程序1-程序2f (在程序 3 运行前会停10 m s 等待输入完成)程序30(如果不是按照程序1、2、3 的次序完成则会有多种情况。)1.1 3 在计算机系统上有两台输入/输出设备,运行两道程序。程序1 的运行轨迹为:计算10 m s、输入5 m s、计算5 m s、输出10 m s、计算10 m S o程序2 的运行轨迹为:输入10 m s、计算10 m s、输出5 m s、计算5 m s、输出10 m S
4、o在顺序环境下,先执行程序1,再执行程序2,求总的C P U 利用率为多少?题解:由题画出C P U 利用图如下:由图可知,在总共8 0 m s 的时间里,C P U 空闲时间为40 m s,即:C P U 利用率=40 m s/8 0 m s*10 0%=5 0%1.14 一个计算机系统有足够的内存空间存放3 道程序,这些程序有一半的时间在空闲等待I/O 操作。问多大比例的C P U 时间被浪费掉了。题解:由题画图如下:程 序1-程 序2-j程 序30 1/2 1/4 1/8 1因为每个程序有一半的时间在等待I/O 操作,所以在并发状态下,程序I、程序2、程序3 所占时间比依次减半(如上图)
5、,所以浪费的时间比例为1/8。练习22.1 8 某系统中进程状态变化如图2.22所示,当对系统中的进程进行观察时,发现某一进程产生的一次状态变化会引起另一进程发生状态变化。(1)在什么情况下,一个进程的状态变化3 能够立即引起另一进程的状态变化1?(2)在什么情况下,一个进程的状态变化2 能够立即引起另一进程的状态变化1?(3)进程的状态变化3 是否可能引起另一进程的状态变化2?进程的状态变化3是否可能引起另-进程的状态变化1?解答:(1)当就绪队列中还存在其它进程的情况下,一个进程的状态变化3 能够立即引起另一进程的状态变化2。(2)当就绪队列中还存在其它进程的情况下,一个进程从运行状态变化
6、到就绪状态后,另一个就绪进程能够从就绪状态变为运行状态。(3)不可能,可能。2.19 分别写出相应的程序来描述图2.23中的前趋图。解答程 序:S I:a:=x+lS 2:b:=a+2S 3:c:=a+3S 4:d:=b+4S 5:e:=b+cS 6:f:=e+5S 7:g=e+6程序:S I :a:=x+lS 2:b:=a+2S 3:c:=a+3S 4:d:=b+4S 5:e:=b+cS 6:f:=d+eS 7:g:=c+e2.2 0假设在一个系统中,新进程以每分钟8个进程的速率到达,每个进程请求服务的平均时间为6s,估计在一个单处理器系统中C P U忙的时间比率。如果新进程以每分钟10个进
7、程的速率到达,每个进程请求服务的平均时间也 为6s,估计在一个单处理器系统中C P U忙的时间比率。如果新进程创建以每分钟超过10个进程的速率到达,每个进程请求服务的平均时间为6s,估计在一个单处理器系统中C P U忙得时间比率,并解释此时的情况。解答:因为新进程每分钟8个进程的速率到达,每个进程之间达到的时间间隔为7.5 s o由于每个进程占用6s的C P U时间。所以,1分钟之内C P U的空间时间为8*1.5 s=12s o C P U 的利用率为 48/60=0.8,即 8 0%。因为新进程每分钟10个进程的速率到达,每个进程之间达到的时间间隔为6s o由于每个进程占用6s的C P U
8、时间。所以,1分钟之内C P U的空间时间为0 s。C P U的利用率为10 0队如果新进程创建以每分钟超过10个进程的速率到达,每个进程请求服务的平均时间为6s,则请求服务时间会大于1分钟,C P U-直会处于繁忙,所 以C P U忙的时间比率同样为10 0%。2.21 一个系统中有4个进程,进程P 1要 求20 s后运行,经 过4 0s后再次运行;进 程P 2要 求2 5 s后运行;进 程P 3要 求3 5 s后运行,经 过3 5 s后再次运行;进程P 4要 求6 0s后运行。进程在阻塞队列等待被唤醒后运行,试创建进程的唤醒队列。解答:进程的唤醒队列为P l-P 2 f p 3-P 4-P
9、 1-P 3注意:“经 过4 0s后再次运行”表 示 第1次运行完成后再过4 0s o2.22如果线程是在用户空间线程库中实现,解释为什么当进程中的一个线程阻塞时,进程内的所有其它线程都会阻塞?如果线程是在内核空间中实现,而进程内的一个线程阻塞不会引起进程内的其他线程被阻塞,为什么?解答:用户级线程由用户空间运行的用户级线程库实现。当一个应用程序提交给操作系统后,操作系统首先为该应用程序建立一个内核管理进程,然后用户级线程库为该进程创建一个或多个用户级线程,但内核并不知道用户空间线程的活动,内核只是以进程为单位,实现进程状态的转换,因此当进程中的一个线程阻塞时,进程内的所有其它线程都会阻塞。如
10、果线程是在内核空间中实现的,这些内核级线程都由内核创建和控制管理,内核为整个进程及进程中的所有线程维护现场信息,内核的调度是在线程的基础上进行的,因而进程的一个线程阻塞不会引起进程内的其他线程被阻塞。练 习33.1 3证明作业调度算法中短作业优先调度算法具有最小平均等待时间。证明:假设在作业队列中等待运行的作业有N道,分别为N O,N l,N 2,,N n-1,它们的运行时间分别为t 0,t l,,t n-1,且 满 足t C K t l 0说明任何一种作业调度顺序的作业的平均等待时间都大于按照短作业优先的作业的平均等待时间。3.1 4 假设在一个处理器上执行5个作业,作业到达的次序和需要执行
11、的时间分别为:J O (75 m s)、J I (15 m s)、J 2 (5 m s)、J 3 (15 m s)、J 4 (4 5 m s),假定系统中使用F C F S 调度算法,作业J 3 的周转时间是多少?作业的平均等待时间是多少?答:周转时间(m s)等待时间(m s)J 0750J 19075J 29590J 311095J 415 5110平均等待时间(m s)743.15 在单道批处理系统中,三个作业的提交时间分别为:10:00.10:10.10:2 0,需要执行时间分别为:2小时、1 小时、0.5 小时,分别按照短作业优先调度算法和高响应比优先调度算法进行调度,比较哪一种调度
12、算法更好?解:(1)不抢占:执行顺序为A,C,B平均周转时间:(12 0+13 0+2 00)/3=15 0(m i n)平均带劝周转时间:(12 0/12 0+13 0/3 0+2 00/6 0)/3 =2 6/9抢占:A (10:10),B (10:2 0),C(10:5 0),B(l l:4 0),A(13:3 0)平均周转时间:(2 10+90+3 0)/3=110(m i n)平均带劝周转时间:(2 10/12 0+90/6 0+3 0/3 0)/3 =5 10/3 6 0=17/12(2)响应比高者优先调度算法不会抢占,因此,只存在这样一种情况:执行顺序为A,C,B平均周转时间:(
13、12 0+13 0+2 00)/3=15 0(m i n)平均带劝周转时间:(12 0/12 0+13 0/3 0+2 00/6 0)/3 =2 6/9所以,如果要比较哪一种算法好自然针对不抢占的情况。根据比较结果,它们的平均周转时间和平均带权周转相同,这主要是该应用正好发生了这样凑巧的情况。3.1 6 假设在具有一个处理器的系统上执行下面的作业,假如采用抢占式短作业优先调度算法,作业需要处理时间T和到达时间A 分别如下:那么:作业1 的周转时间是多少?作业的平均等待时间是多少?IT到达时间A05 0013510220103255 54409 5答:lo 执行顺序为:0(10),2(30),1
14、 (65),3(9 0),0(130),4(170)作业0 的周转时间为:130,作业1 的周转时间为:5 5,作业2 的周转时间为:20,作业3 的周转时间为:35作业4 的周转时间为:65平均周转时间=305/5=61作业0 的等待时间为:130-5 0=80,作业1 的等待时间为:5 5-35=20,作业2 的等待时间为:10-10=0,作业3 的等待时间为:,35-25=10作业4的等待时间为:,65-40=253.1 7 假如在具有一个处理器系统中,采用优先级高者优先的进程调度算法,优先数小代表优先级高,进程达到顺序I 和需要处理时间T、优先数分别如下:IT优先级0753115125
15、431554452(1)没有优先级抢占情况下,写出进程的执行先后序列,进程2 的周转时间是多少?进程的平均等待时间是多少?(3)有优先级抢占情况下,写出进程的执行先后序列,进程2 的周转时间是多少?进程的平均等待时间是多少?答:(1)无抢占:执行顺序为:1(15),4(60),0(135),2(140),3(15 5)进程0 的周转时间为:135进程1 的周转时间为:15进程2 的周转时间为:140进程3 的周转时间为:15 5进程4 的周转时间为:60进程的平均等待时间=(135-75)+(15-15)+(140-5)+(15 5-15)+(60-45)/5 =70(2)有抢占:优先级抢占同
16、上一样。3.1 8 假如在具有一个处理器的系统中,采用时间片轮转调度算法,时间片大小为 10。进程需要处理时间T 和到达时间A 分别如下:IT到达时间A05 0013510220103158044085写出进程的执行序列,进程3 的周转时间是多少?进程的平均等待时间是多少?答:进程的执行序列为:0,1,2,0,1,2,0,1,3,4,0,1,3,4,0,4进程0 的周转时间T 0=140进程1 的周转时间T l=105进程2 的周转时间T l=5 0进程3 的周转时间T l=40进程4 的周转时间T l=75进程的平均等待时间为:(140-5 0)+(105-35)+(5 0-20)+(40-
17、15)+(75-40)/5=5 03.1 8 在时间片轮转调度算法中,有 n 个进程共享CP U。(1)如果进程切换的时间不可忽略,每次进程切换用去时间为s秒,在保证每个进程至少每t 秒内能够在CP U 上轮回一次的前提下,确定时间片大小q 使得进程切换所造成的负载最小。(2)如果n=100,t=l,s=0.001,那么q 的大小应该是多少?答:(1)时间片大小q=(t-n s)/n(2)q=(1-100*0.001)/100=0.0093.1 9 有一个国道作业的操作系统,若在一段时间内先后到达6 个作业,它们的提交时间和估计运行时间由下表给出:作业提交时间估计运行时间(分钟)18:0060
18、28:203538:252048:302558:35568:4010系统采用短作业优先调度算法,作业被调度进入系统后中途不得退出。但作业运行时可被更短的作业抢占。分别给出6个作业的执行时间序列,作业的周转时间,平均周转时间。答:作业的执行顺序为:1(8:20),2(8:25),3(8:45),5 (8:5 0),6(9:00),4(9:25),2(9:5 5),1 (10:35)作 业1的周转时间=15 5 m i n作 业2的周转时间=9 5 m i n作 业3的周转时间=20 m i n作 业4的周转时间=5 5 m i n作 业5的周转时间=15 m i n作 业6的周转时间=20 m
19、i n作业的平均周转时间为:360/6=603.2 0在一个实时系统中有4个周期性事件,周期分别为5 0、100、15 0、200m s 0假设其处理时间分别需要30、25、20和x m s,则该系统可调度允许的x值最大为多少?解:30/5 0+25/100+15 0/20+200/x =1X =10/33.21某系统的进程状态变化如图3.23所示,该系统的进程调度为非抢占方式,图 3.23状态变化图y答:首先采用优先权高者优先调度算法,然后采用时间片为100m s的调度算法。该调度算法如果调度效果考虑更周到的话,应该让阻塞队列上的进程唤醒后进入低优先级就绪队列,这样能够保证优先级高的进程及时
20、调度,优先级低的进程能够合理的得到调度。第4章4.1 3如果有个进程共享一个互斥段(1)如果每次只允许一个进程进入互斥段。(2)如果每次最多允许加个进程同时进入互斥段(水加。问采用的信号量初值是否相同?信号量值的变化范围如何?答:所采用互斥信号量的初值不同。(1)互斥信号量初值为1,变化范围为L n+1,1。当没有进程进入互斥段时,信号量值为1;当 有1个进程进入互斥段时,但没有进程等待进入互斥段时,信号量值为0;当 有1个进程进入互斥段,有1个进程等待进入互斥段时,信号量值为-1;最多可有nT个进程等待进入互斥段,故此时信号量的值为-(n T)。(2)互斥信号量初值为m,变化范围为 m-n,
21、m 0当没有进程进入互斥段时,信号量值为m;当 有1个进程进入互斥段时,但没有进程等待进入互斥段时,信号量值为m-l;当有m个进程进入互斥段,但没有进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段,有1个进程等待进入互斥段时,信号量值为T;最多可有n-m个进程等待进入互斥段,故此时信号量的值为-(n-m)。4.1 4在两条双向道路的交叉路口,没有行人通过,只有汽车通过。交通情况如下:(1)任何给定的时刻只能有一辆车过马路;(2)当一辆车到达交叉路口并且另一条街道上没有车来到的时候,应该允许此车通过;(3)当两个方向上都有车到达的时候,它们应该轮流通过,以防止在其中一个方向上的无限期延
22、迟。用信号量操作实现道路交通问题。解:s emp ho r e Sl=0,S2=0;有 无 车 到 达,为0时无到达s emp ho r e M l=l,M 2=0;路中被占P l:if(车到达)v(Sl);w hile(!Sl);if(!S2)过一辆车;els ep(M 2);p(M l);过一辆车;v(M l);)P 2:if(车到达)v(S2);w hile(!S2);if(!Sl)过一辆车;els e(p(M l);P(S2);过一辆车;v(M 2);)4.1 5 在哲学家进餐问题中,假设5 个哲学家中第1.个执行下面的代码段p(mu t ex);p(fo r ki);p(fo r k
23、i+l%5);v(mu t ex);ea t;v(fo r ki);v(fo r ki+l%5);(1)说明这段代码是否满足哲学家进餐问题的所有需求。(2)如果V E u 招x)语句改在第二个V。操作之后,或者在两个P()操作之间,说明这两种解决方法是改进了算法还是变坏了算法。答:(a)满足(b)都不行4.16有两个优先级相同的进程P 1 和 P 2,各自执行的操作如下,信号量S1 和 S2的初值都为0,试问P l、P 2并发执行后,x、y、z的值各为多少?P 1:P 2:beginbeginy:=1;(1)x:=1;(5)y:=y +3;(2)x:=x +5;(6)V(S1);P(S1);z
24、:=y +1;(3)x:=x +y;(7)P(S2);V(S2);y:=y +z;(4)z:=x +z;(8)end;end;答:语 句(1)(2)(5)(6)不相交,任何执行顺序,结果相同。情况1:语 句(4)先执行x=1 0,y=9,z=1 5;情况2:语 句(8)先执行x=1 0,y=1 9,z=1 5;情况3:语 句(3)推迟到语句(8)之后,x不定,y=4,z不定;?4.17两个进程A、B,考虑下面的信号量编码s ema p ho r e s =1;int x=1 0,y=2;fo r k(A,0):fo r k(B,0);A()(1)x+;(2)V(s);(3)y=x 2;)分 别
25、 说 明 、(2)、答:(1)x=ll,y=2(2)x=ll,y=2(4)x=ll,y=9 (5)x=1 0,y=9B()(4)if(x 1 0)(5)x ;(6)els e P(s);(4)、(5)、(6)语句之后的x、y值为多少?(3)x=ll,y=9(6)x=1 0,y=84.18三个进程:输入、计算、输出。它们通过两个缓冲区传递数据,如图4.1 1所示。每个缓冲区一次只能放入一条数据。写出用信号量进行同步。(7)一 公 共 缓 冲 区 公 共 缓 冲 区2 一(O)解:v a r emp t y l,fu lll,emp t y 2,fu l 1 2:s ema p ho r e:=1
26、,0,1,0;beginp a r beginI:beginr ep ea tw a it(emp t y l);p u t t o bu ffer l;s igna l(fu lll);u nt il fa ls e;end;P:beginr ep ea tw a it(fu ll 1);get fr o m bu ffer l;s igna l(emp t y l);w a it(emp t y 2);p u t t o bu ffer 2;s igna l(fu ll2);u nt il fa ls e;end;0:beginr ep ea tw a it(fu ll2)get fr o
27、 m bu ffer 2;s igna l(emp t y 2);u nt il fa ls e;end;p a r end;end;第 5 章5.1 什么是死锁?引起死锁的原因和必要条件是什么?死锁是指多个进程因为竞争资源造成的一种僵局。原因:并发进程对临界资源的竞争和并发进程推进顺序不当。必要条件:互斥条件,占有并请求条件,不剥夺条件,环路等待条件。5.2 比较解决死锁的方法中,那种方法最容易实现?那种方法使得资源的利用率最局?解决死锁的方法:预防死锁,避免死锁,检测死锁,解除死锁。预防死锁是通过设计协同资源管理程序,在进程运行期间,柏怀死锁产生的四个条件之中的任何一个,是指不成立。是最容
28、易实现的方法。解除死锁是在发现死锁后,解除死锁,释放资源。是资源利用率最高的方法。5.3 预防死锁的方法有哪些?破坏互斥条件,破坏占有并请求,阻止环路等待,允许剥夺5.8系统中有3 个进程共享4 个资源,每个进程每次只能申请或释放一个资源,每个进程最多需要2 个资源,给进程是否会发生死锁,为什么?解:不会发生死锁。3 个进程共享4 个资源,每个进程最多需要2 个资源。总有一个进程的请求会满足,运行并释放资源。不会形成环路等待。5.9 系统中有20个进程,每个进程最多使用3 个资源,每个进程逐个申请并竞争使用60个同类资源。一旦某进程获得所需要的资源,完成后立即释放全部资源。系统是否会发生死锁?
29、为什么?系统不会发生死锁。以最坏的情况来考虑,20个进程都需要使用3 个资源。当前,每个进程都持有2 个资源。(20*2=40).都在申请第3 个资源(60-40=20)对于剩余的20个资源,每个进程多会得到一个资源。不会形成环路等待。5.10 一台计算机有8 台打印机,被加个进程竞争使用,每个进程最多需要 3 台。请问及为多少时,系统没有死锁的危险,说明原因。解:N=3时,没有死锁的危险。对于N 个进程,都持有2 台打印机时,申请第3 台打印机,只要有一台的多余的打印机能被申请到,则系统就没有死锁的危险。即 N*2+l=8,得N=3o5.1 1 考虑图5.9 所示的资源分配图,哪个进程会发生
30、死锁?进程P3,P4会发生死锁。对于进程P L P 2,进程的推进不需要等待其他进程的完成。进程P3,P4o P3要等P4完成并释放资源后方能推进。而P4要等到P3完成后才能。结果是P3,P4都不能完成。形成死锁。5.1 2 假定有3 个人排队等候上电梯。当电梯门打开的时候,3 个人都朝门口冲去,但是门不够大,他 们 3 人不能同时进门。描述解决这种死锁的方法,可以让3 个人都上电梯。说明你的解决方案清除了哪个死锁的必要条件。答:让 3 个人轮流进电梯。破坏了死锁发生的4 个必要条件中的“不剥夺条件”。5.1 3 假定一个系统具有四种资源类型,分别为:R=3,7,2,3),最大资源需求数表如图
31、5.10所示。资源分配器根据图5.11中的表来分配资源,这个状态安全吗?为什么?进程RoRiRiPo3411Pl2512P:3223Pj3113P40312进程RoR.R:Po2100Pl0201p20100Pj0010P40101图 5.1 0 图 5.1 1答:这个状态安全。存在安全执行序列 P 4,P O,P 1,P 3,P 2 ;6.9如果一个分页系统能够向用户提供的逻辑地址最大为1 6 页,页面大小为2 K,内存总共有8 个存储块。请问逻辑地址应该为多少位?内存空间为多大?解:逻辑地址应该为4+1 1=1 5 (位)内存空间为8*2 K =1 6 K6.10如果一个分页系统的页表存放
32、在内存。(1)若对内存的一次存取需要1.2 海,请问一次页面访问的存取需要花多少时间?(2)若系统配置了联想寄存器,对快表的命中率为7 0%假如查询联想寄存器的时间忽略不计,请问实现一次页面访问的存取时间是多少?解:(1)访问一次页面的存取需要花费的时间为2*1.2 那=2.4 2(2)实现一次页面访问的存取时间=0.3*1.2 g s+l.2 p s=l.5 6 1 1 s6.1 1 如果一个分页系统逻辑地址长度为1 6 位,页面大小为4 K B,第 0、1、2页对应1 0、1 2、1 4 号物理块,请问逻辑地址为2 F 6 A H 对应的物理地址为多少?解:逻辑地址为2 F 6 A H 对
33、应的二进制码为:0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0,页号为:2,页内偏移为F 6 A H。查询页表2号页面对应1 4 号块,所以,物理地址为1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0,最终物理地址为:E F 6 A H6.12如果内存中有4个空闲块,每个空闲块的大小为1 0 M B。有 1 0 个请求,每次请求1 M B 的内存大小,对于下面列出的内存分配方法中的每一种,确定所有1 0 个请求都被满足之后剩余空闲块的大小。(a)首次适应算法(b)循环首次适应算法(c)最佳适应算法(d)最坏适应算法解:(a)首次适应算法:块 1 用完,块 2,3,
34、4 剩余1 0 M B。(b)循环首次适应算法:块 1,2 余 7 M B,块 3.4 余 8 M B。(c)最佳适应算法:块 1 用完,块 2,3,4余 1 0 M B。(d)最坏适应算法:块 1,2 余 7 M B,块 3,4 余 8 M B。6.13如果一个系统的段表为:段 号始 址段 长02 0 05 1 019 0 03 021 0 08 031 2 0 05 0 041 8 0 08 0求下列逻辑地址相应的物理地址。如果越界请指明。0,3 8 0 、1,2 0 、1,2 4 、2,2 0 0 、3,5 0 0 、4,1 2 0 。解:0,3 8 0 表示为0 段,段内偏移为3 8
35、0,物理地址为5 8 0;1,2 0 表示为1 段,段内偏移为2 0,物理地址为9 2 0;1,2 4 表示为1 段,段内偏移为2 4,物理地址为9 2 4;2,2 0 0 表示为2 段,段内偏移为2 0 0,已经越界;5 0 0 表示为3 段,段内偏移为5 0 0,物理地址为1 7 0 0;4,1 2 0 表示为4 段,段内偏移为1 2 0,已经越界。7.5在 分页虚拟存储器管理中,如果已知时间利用率为:C PU 2 0%、分页磁盘9 2%、外设5 0%,请问采取哪些措施可以改善C PU 的利用率?解:增大分页磁盘空间。7.6 一个3 2 位地址的计算机系统使用二级页表,虚拟地址为9 位顶级
36、页表,1 1 位二级页表和偏移。请问:页面长度为多少?虚拟地址空间有多少个页面?解:页面占用的位数=3 2-9-1 1=1 2 位,页面长度为4 K。虚拟地址空间有1 M 个页面。7.7 如果分页虚拟存储系统向用户提供的逻辑地址空间最大为1 6 页,每页 2 K B,内存总共有8 个存储块,请问逻辑地址至少应为多少位?内存空间多大?解:解:逻辑地址应该为4+1 1=1 5 (位)内存空间为8*2 K =1 6 K7.8在 一个请求分页的虚拟存储器管理中,一个程序的运行页面走向为:1、2、3、4、2、3、5、6、3、1、4、6、7、5、2、4、1、3、2如果为程序分配页框为3个、4个,请分别用F
37、 I F O、OPT 和 L R U 算法求出缺页中断次数和缺页率。解:页框为3:F I F O缺页中断次数为1 4;缺页率为1 4/1 9。OPT 缺页中断次数为8;缺页率为8/1 9。L R U 缺页中断次数为1 3;缺页率为1 3/1 9。页框为4:F I F O缺页中断次数为7;缺页率为7/1 9 oOPT 缺页中断次数为5;缺页率为5/1 9。L R U 缺页中断次数为1 0;缺页率为1 0/1 9。9.9 若采用字长为1 6 位的位示图管理磁盘空间,某操作系统的磁盘文件空间共有5 0 0 块,问位示图需要多少个字?第 2.列第j.行对应的块号为多少?答:3 2,i,j按照书上公式9
38、.1 0 一个链接文件由5 个逻辑记录组成,每个逻辑记录的大小与磁盘块大小都为5 1 2 字节,一次存放在2 5,70,9 8,8 3,6 0 号磁盘上。若要存取文件的第1 7 6 9 逻辑字节处的信息,问需要访问哪个磁盘块?答:8 39.11 在 U N I X 操作系统中,如果一个盘块的大小为1 K B,每个盘块号占用4 个字节,即每块可放2 5 6 个地址,如果进程要访问偏移为1 4 3 1 4 0 处的数据,问需要几次寻址?答:1 次间址9.1 2 从磁盘高速缓存读取数据需要1 m s,从磁盘读取数据需要40 m s,如果命中率为5 0%,计算出读取数据的平均时间。答:20.5 m s
39、9.1 3 一个请求磁盘I/O 的磁盘队列,分别在下列柱面上阻塞:40,9 0,1 7 0,38,1 1 0,20,1 44,48,5 9。请分别按照FC FS、S S T F、S C AN、C S C AN、C LO O K调度算法计算平均寻道长度,并说明那种调度算法最优。9.14 如 果磁盘总共包括A 个块,其中F 个是空闲的。一个磁盘地址需要d B。位示图为每个块使用1 位。空闲链表中的每个链指向一个单独的空闲块。(a)假设空闲链表方法单独地链接了所有的块,给出两种方法开销相同时必须满足条件(用A,F,d 表示)。(b)假设空闲链表方法链接了相邻块组,而不是单独的块,重复上面的问题。每个链元素指向了组中的第一块,并包括了一个说明在该组中有多少个块的2字节数。一个组的平均大小是5 个磁盘块。答:位示图的开销:位示图的列为d By te,行 为(A)/d,开销为(A)空闲链表至少包括空闲块号、指 针(A-F个)9.1 5 比较使用位示图和使用空闲链表表示磁盘空闲块的情况。
限制150内