操作系统复习应用题

上传人:gbs****77 文档编号:9418296 上传时间:2020-04-05 格式:DOC 页数:19 大小:227KB
返回 下载 相关 举报
操作系统复习应用题_第1页
第1页 / 共19页
操作系统复习应用题_第2页
第2页 / 共19页
操作系统复习应用题_第3页
第3页 / 共19页
点击查看更多>>
资源描述
1若程序A和B单独执行时分别需要1小时和1.5小时,其中CPU工作时间分别为18分钟和27分钟。若采用多道程序设计方法,让A和B并行工作,假定CPU利用率达到50,另加15分钟系统开销,请问系统效率能提高多少?解:在多道系统中,程序A和B共用的CPU时间为:(18十27)5090分钟系统效率提高(A和B单独执行的时间总和多道方式下总时间)A和B单独执行的时间总和,即(60十90)(90十15)(60十90)45150301. 假定在单CPU条件下有下列要执行的作业:作业运行时间优先级1102243330作业到来的时间是按作业编号顺序进行的(即后面作业依次比前一个作业迟到一个时间单位)。(1)用一个执行时间图描述在采用非抢占式优先级算法时执行这些作业的情况。(2)对于上述算法,各个作业的周转时间是多少?平均周转时间是多少?(3)对于上述算法,各个作业的带权周转时间是多少?平均带权周转时间是多少?解: (1)非抢占式优先级算法作业的执行情况如下:作业到达时间运行时间完成时间周转时间带权周转时间101010101.021417164.032313113.7平均周转时间12.3平均带权周转时间2.9 2若在后备作业队列中等待运行的同时有三个作业1、2、3,已知它们各自的运行时间为a、b、c,且满足关系abc,试证明采用短作业优先调度算法能获得最小平均周转时间。 证明:由于短作业优先调度算法总是在后备作业队列中选择运行时间最短的作业作为调度对象,因此对短作业优先调度算法而言,这三个作业的总周转时间为T1=a+(a+b)+(a+b+c)=3a+2b+c (1)若不按短作业优先调度算法来调度这三个作业,不失一般性,假定调度顺序为2、l、3,则其周转时间为 T2=b+(b+a)+(b+a+c)=3b+2a+c (2)由(1)、(2)两式可得:T2-T1=b-a0由此可见,短作业优先调度算法能获得最小平均周转时间。3设有4道作业,它们的提交时间及执行时间如下:试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。(时间单位:小时,以十进制进行计算。)解:若采用先来先服务调度算法,则其调度顺序为1、2、3、4。平均周转时间 T=(2.0十2.8十3.1十3.3)/42.8平均带权周转时间W=(1十2.8十6.2十11)4=5.25若采用短作业优先调度算法,则其调度顺序为1、4、3、2平均周转时间为 T=(2.0+1.8+2.4+3.6)/4=2.45平均带权周转时间 W=(1十6十4.8十3.6)/4=3.854假设有四个作业,它们的提交、运行时间如下表所示。若采用高响应比优先调度算法,试问平均周转时间和平均带权周转时间为多少? (时间单位小时,以十进制进行计算。)解:根据响应比的定义每次调度前计算出各作业的响应比,得到四个作业的调度次序为:作业1、作业3、作业2、作业4。平均周转时间为 T=(2.0十2.3十1.6十2.O)/4=1.975平均带权周转时间W=(1十4.6十16十5)/4=6.655有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。在下表所示的作业序列,作业优先数即为进程优先数,且优先数越小优先级越高。(1)列出所有作业进入内存时间及结束时间(2)计算平均周转时间。分析: 在本题中,每个作业的运行将经历两级调度:作业调度和进程调度。作业调度采用短作业优先调度算法,进程调度采用基于优先数的抢占式调度算法,高优先级的进程可以抢占系统处理机。只有当作业调度程序将作业装入内存后,方能参与进程调度。本题中的批处理系统是两道作业系统,因此每次只能有两道作业进入系统内存。本题中的作业和进程推进顺序如下:10:00时,A作业到达。因系统的后备作业队列中没有其他作业,进程就绪队列中也没有进程,故作业调度程序将作业A调入内存并将它排在就绪队列上,进程调度程序调度它运行。10:20时,B作业到达。因系统的后备作业队列中没有其他作业,故作业调度程序将作业B调入内存并将它排在就绪队列上。而作业B的优先级高于作业A的优先级,进程调度程序停止作业A的运行,将作业A放入就绪队列,调度作业B运行。此时,系统中已有两道作业在内存中运行,作业A已运行20分钟,还需运行20分钟才能完成。10:30时,C作业到达。因系统中已有两道作业在内存中运行,故作业C只能在后备作业队列中等待作业调度。此时,作业B已运行了10分针并将继续运行,还需运行20分钟才能完成,作业A已等待10分针并将继续等待、还需运行20分钟才能完成。10:50时,B作业运行30分钟结束运行,D作业到达。因系统中只有作业A在内存中运行,作业后备队列中有C、D两道作业,按短作业优先的作业调度策略,作业D被作业调度程序选中,装入内存运行,作业C仍在后备作业队列中等待作业调度。在内存中,作业A的优先级高于作业D,进程调度程序调度作业A运行,作业D在就绪队列中等待进程调度。此时,作业A已运行了20分钟,在就绪队列中等待了30分钟,还需运行20分钟才能完成;作业C已在后备队列中等待了20分钟并将继续等待11:10时,A作业运行40分针结束运行。因系统中只有作业D在内存中运行,作业后备队列中只有作业C在等待,作业调度程序将作业C装入内存运行。因作业C的优先级高于作业D,进程调度程序调度作业C运行,作业D仍在就绪队列中等待进程调度。此时作业D已在就绪队列中等待了20分钟并将继续等待。12:00时,C作业运行50分针结束运行。因系统中只有作业D在内存,进程调度程序调度作业D运行。12:20时,D作业运行20分钟结束运行。解:(1)由上述分析可得出所有作业的进入内存时间和结束时间:(2)各作业执行时的周转时间为:作业A:70分钟作业B:30分钟作业c:90分钟作业D:90分钟作业的平均周转时间为:(70十30十90十90)470分钟。6.已知3个批处理作业中:第一个作业10.00时到达,需要执行2小时;第二个作业在10.1时到达,需要执行1小时;第三个作业在10.5小时到达,需要执行0.5小时。如果分别采用如下的表1和表2所示的两种作业调度算法。(1) 计算各调度算法下的作业平均周转时间:(2)这两种调度算法各可能是什么作业调度算法? 表1 调度算法1表2 调度算法2解:(1)采用调度算法1的作业运行情况如下表3所示: 表3 采用调度算法1的作业运行情况表采用调度算法2的作业运行情况如下表4所示: 表4 采用调度算法2的作业运行情况表(2) 调度算法1是按照作业到达的先后次序执行的,所以它是先来先服务调度算法。调度算法2满足短作业优先的调度原则,所以它属于短作业优先调度算法。此外,从响应比高者优先调度算法来看,当作业1在12.0完成时,作业2和作业3的响应比如下:作业2的响应比1+1.9/12.9,作业3的响应比1+1.5/0.54也即,调度算法2也可能是响应比高者优先调度算法。7有三个进程P1,P2和P3并发工作。进程P1需用资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3。回答:(1)若对资源分配不加限制,会发生什么情况?为什么?(2)为保证进程正确工作,应采用怎样的资源分配策略?为什么?答:(1)可能会发生死锁例如:进程P1,P2和P3分别获得资源S3,S1和S2后再继续申请资源时都要等待,这是循环等待。(或进程在等待新源时均不释放已占资源)(2)可有几种答案: A采用静态分配由于执行前已获得所需的全部资源,故不会出现占有资源又等待别的资源的现象(或不会出现循环等待资源现象)。或B.采用按序分配 不会出现循环等待资源现象。或C.采用银行家算法 因为在分配时,保证了系统处于安全状态。8设系统有三种类型的资源,数量为(4,2,2),系统中有进程A,B,C按如下顺序请求资源: 进程A申请(3,2,1) 进程B申请(1,0,1) 进程A申请(0,1,0) 进程C申请(2,0,0) 请你给出一种防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。解: 分配策略为:当进程Pi申请ri类资源时,检查ri中有无可分配的资源,有则分配给Pi;否则将Pi占有的资源全部释放而进入等待状态。(Pi等待原占有的所有资源和新申请的资源) 资源分配过程: 剩余资源 进程A:(3,2,1) (1,0,1) 进程B:(1,0,1) (0,0,0) 进程C:(2,0,0) (1,2,1) 进程A:(0,1,0)(不满足)(3,2,1),A的所有资源被剥夺,A处于等待,C,B完成之后,A可完成。9某系统中有10台打印机,有三个进程P1,P2,P3分别需要8台,7台和4台。若P1,P2,P3已申请到4台,2台和2台。试问:按银行家算法能安全分配吗?请说明分配过程。答:系统能为进程P3分配二台打印机。因为尽管此时10台打印机已分配给进程P14台,P22台和P34台,全部分配完,但P3已分配到所需要的全部4台打印机,它不会对打印机再提出申请,所以它能顺利运行下去,能释放占用的4台打印机,使进程P1,P2均可能获得乘余的要求4台和5台,按银行家算法是安全的。10在生产者消费者问题中,如果对调生产者进程中的两个P操作和两个V操作,则可能发生什么情况?解:如果对调生产者进程中的两个P操作和两个v操作,则生产者消费者问题的同步描述为:int full=0;int empty =n;int mutex=1;main ( ) cobeginproducer ( );consumer ( ); coendproducer ( ) while (生产未完成) 生产一个产品;p(mutex);p(empty);送一个产品到有界缓冲区;v(full);v(mutex);consumer ( ) while(还要继续消费) p(full); p(mutex); 从有界缓冲区中取产品; v(mutex); v(empty); 消费一个产品; 由于V操作是释放资源,因此对调V操作的次序无关紧要。而对调P操作的次序则可能导致死锁。这是因为对调P操作后,有可能出现这样一种特殊情况:在某一时刻缓冲区中己装满了产品且缓冲区中无进程工作(这时信号量full的值为n,信号量empty的值为0,信号量mutex的值为1),若系统此时调度生产者进程运行,生产者进程又生产了一个产品,它执行P(mutex)并顺利进入临界区(这时mutex值为0),随后它执行p(empty)时因没有空闲缓冲单元而受阻等待,等待消费者进程进入缓冲区取走产品以释放出缓冲单元;消费者进程执行p(full)后再执行p(mutex)时,因缓冲区被生产者进程占据而无法进入。这样就形成了生产者进程在占有临界资源的情况下,等待消费者进程取走产品,而消费者进程又无法进入临界区取走产品的僵局,此时两进程陷入死锁。11n个进程共享某种资源R,该资源共有m个可分配单位,每个进程一次一个地申请或释放资源单位。假设每个进程对该资源的最大需求量均小于m,且各进程最大需求量之和小于m十n,试证明在这个系统中不可能发生死锁。解:设max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程己分配的资源量。由题中所给条件可知:max(1)+max(2)+max(n)=(need(1)+need(n)+(alloc(1)+alloc(n)m+n如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,即alloc(1)+alloc(n)=m另一方面所有进程将陷入无限等待状态。由上述两式可得:need(1)+need(n)n 上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)0,即它己获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。12在银行家算法中,若出现下述资源分配情况:试问:(1)该状态是否安全? (2)如果进程P2提出请求Request2(1,2,2,2)后,系统能否将资源分配给它?解:(1)利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分析情况: 从上述分析中可以看出,此时存在一个安全序列P0,P3,P4,P1,P2,故该状态是安全的。(2)P2提出请求Request2 (1,2,2,2),按银行家算法进行检查:Request2(1,2,2,2)Need2(2, 3, 5, 6)Request2(1,2,2,2) Available(1, 6, 2, 2)试分配并修改相应的数据结构,资源分配情况如下:再利用安全性算法检查系统是否安全,可用资源Available (0,4,0,0)己不能满足任何进程的需要,故系统进入不安全状态,此时系统不能将资源分配给P2。13有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。 答:该系统不会由于对这种资源的竞争而产生死锁。因为在最坏情况下,每个进程都需要2个这样的资源,且每个进程都已申请到了1个资源,那么系统中还剩下1个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的2个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死锁。14考虑下列资源分配策略:对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,若此时无由于等待资源而被阻塞的进程,则自己就被阻塞;若此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。 例如,考虑一个有3类资源的系统,系统所有可用资源为(4,2,2),进程A申请(2,2,1),可满足;进程B申请(1,0,1),可满足;若A再申请(0,0,1),则被阻塞。此时,若C请求(2,0,0),它可以分到剩余资源(1,0,0),并从A已分到的资源中获得一个资源,于是进程A的分配向量变成(1,2,1)而需求向量变成(1,0,1)。 这种分配策略会导致死锁吗?如果会,请举一个例子;如果不会,请说明产生死锁的哪一个必要条件不成立。这种分配方式会导致某些进程的无限等待吗?为什么? 解:本题所给的资源分配策略不会产生死锁。因为本题给出的分配策略规定若一进程的资源得不到满足,则检查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。从而破坏了产生死锁必要条件中的不剥夺条件,这样系统就不会产生死锁。 这种方法会导致某些进程无限期的等待。因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所拥有的资源数量在其被唤醒之前只可能减少。若系统中不断出现其他进程申请资源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型相同且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。例如,本题中的进程A申请(2,2,1)后再申请(0,0,1)被阻塞。此后,进程C又剥夺了进程A的一个资源,使得进程A拥有的资源变为(1,2,1),其需求向量为(1,0,1)。之后,若再创建的进程总是只申请第1和第3类资源,总是占有系统所剩下的第1和第3类资源的全部且不阻塞,那么进程A将会无限期地等待。15一台计算机有8台磁带机。它们由N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明原因。 解:当N为1,2,3时,系统没有产生死锁的危险。因为,当系统中只有1个进程时,它最多需要3台磁带机,而系统有8台磁带机,其资源数目足够系统内的1个进程使用,因此绝不可能发生死锁:当系统中有2个进程时,最多需要6台磁带机,而系统有8台磁带机,其资源数目也足够系统内的2个进程使用,因此也不可能发生死锁;当系统中有3个进程时,在最坏情况下,每个进程都需要3个这样的资源,且假定每个进程都已申请到了2个资源,那么系统中还剩下2个可用资源,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的3个资源归还给系统,这就保证了其余进程能顺利运行完毕。由此可知,当N为1,2,3时,该系统不会由于对这种资源的竞争而产生死锁。16假设就绪队列中有10个进程,系统将时间片设为200ms,CPU进行进程切换要花费10ms,试问系统开销所占的比率约为多少?解:因就绪队列中有10个进程,它们以时间片轮转的方式使用CPU,时间片长度为200ms。当一个时间片用完时调度进程将当前运行进程设置为就绪状态并放入就绪队列尾,再从就绪队列队首选择进程投入运行,这一过程(进程切换)要花费时间l0ms。因此系统开销所占比率为:10/(200+10)=4.8%17.如果P、V操作设计不当,则有可能产生死锁。假如系统中有输入机和打印机两类资源各一台,有两个进程P1和P2都要求使用输入机和打印机。我们可以利用P、V操作来实现互斥:定义s1、s2分别为代表输入机和打印机能否被使用的信号量,初值均为1,并且按如下方法请求使用和归还资源:Process P1begin P(s1); 使用输入机; P(s2); 使用打印机; V(s2); V(s1);End;Process P2Begin P(s2); 使用打印机; P(s1); 使用输入机; V(s2); V(s1);End;结合死锁产生的必要条件,分析此种方法是否会造成死锁,若不会,给出理由;若会产生死锁,则修改上面程序,使P1、P2两进程能够互斥的使用资源,并且能够顺利完成。解:此种方法可能会出现P1得到输入机而P2得到打印机,双方在不释放已有资源的情况下,又去申请新的资源,从而造成死锁。可以采用为资源编号的方法,让进程按序申请资源,来避免死锁。程序可修改如下:Process P2Begin P(s2); 使用输入机; P(s1); 使用打印机; V(s2); V(s1);End;18假定某计算机系统有R1和R2两类可再使用资源(其中R1有两个单位,R2有一个单位)它们被进程P1和P2所共享,且已知两个进程均以 申请R1 申请R2 申请R1 释放R1 释放R2 释放R所示的顺序使用两类资源。试求出系统运行过程中可能到达的死锁点并画出死锁点的资源分配图(或称进程一资源图)。解:该题答案不惟一。从已知条件可知,P1、P2两进程都是各自按顺序申请系统中所有资源,并在全部得到满足之后才会依次释放;由此可得,只要让Pl、P2分别占有其中某个资源,即不把全部资源都交给一个进程,则会发生死锁。进程一资源图如下:19某系统有R1、R2和R3共3种资源在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况见下表,此刻系统的可用资源向量为(2,1,2),问题:(1)将系统中各种资源总数和此刻各进程对各资源的需求数目用向量或矩阵表示出来;(2)如果此时P1和P2均发出资源请求向量Request(1,0,1),为了保持系统安全性,应该如何分配资源给这两个进程?说明你所采用策略的原因;(3)如果(2)中两个请求立刻得到满足后,系统此刻是否处于死锁状态?解:(1)系统资源总数为(9,3,6)。各进程对资源需求矩阵为: 2 2 2 2 0 2 1 0 3 4 2 0(2)采用银行家算法进行计算得:系统不可以将资源分配给进程P1,虽然剩余资源还可以满足进程P1现在的需求,但是一旦分配给进程P1后,就找不到一个安全执行的序列保证各个进程能够正常运行下去。因此进程P1进入等待状态。 系统可以满足P2的请求,因为分配完成后,至少还可以找到一个安全序列,如(P2P1P3P4),使各进程可以运行至结束。(3)系统满足进程P1和P2的请求后,没有立即进入死锁状态,因为此时所有进程还处于运行状态,没有被阻塞;只有等到进程继续申请资源井因得不到满足而全部进人阻塞状态,死锁才真正发生了。1在一个请求分页存储管理系统中,一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数分别为3、4时,试计算采用下述页面淘汰算法时的缺页次数(假设开始执行时主存中没有页面),并比较所得结果。(1)最佳置换法(OPT)(2)先进先出法(FIFO)解:(1)根据所给页面走向,使用最佳页面置换算法时,页面置换情况如下:(略)物理块为3时,缺页次数为7;物理块为4时,缺页次数为6。由上述结果可以看出,增加分配给作业的内存块数可以降低缺页次数。 (2)根据所给页面走向,使用先进先出页面置换算法时,页面置换情况如下:(略)物理块为3时,缺页次数为9;物理块为4时,缺页次数为10。由上述结果可以看出,对先进先出算法而言,增加分配给作业的内存块数反而出现缺页次数增加的异常现象。2某采用页式存储管理的系统,接收了一个共7页的作业,作业执行时依次访问的页为:1、2、3、4、2、1、5、6、2、1、2、3、7。当内存块数量为4时,请分别用先进先出(FIFO)调度算法和最近最少使用(LRU)调度算法,计算作业执行过程中会产生多少次缺页中断?写出依次产生缺页中断后应淘汰的页。(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断。要求写出计算过程)答:采用先进先出(FIFO)调度算法,共产生10次缺页中断,依次淘汰的页是1、2、3、4、5、6,(页面调度过程略);采用最近最少使用(LRU)调度算法,共产生8次缺页中断,依次淘汰的页是3、4、5、6,(页面调度过程略)。3在一个多道程序系统中,设用户空间为200K,主存空间管理采用最先适应分配算法,并采用先来先服务算法管理作业。今有如下所示的作业序列,请列出各个作业开始执行时间、完成时间和周转时间。(注意:忽略系统开销,时间用10进制。)作为名进入输入井时间需计算时间主存需求量JOB18.0时1小时20KJOB28.2时0.6小时60KJOB38.4时0.5小时25KJOB48.6时1小时20K答:作业开始时间完成时间周转时间JOB1891JOB299.61.4JOB39.610.11.7JOB410.111.12.54设某作业的程序部分占一页,A是该作业的一个100100的数组,在虚空间中按行主秩序存放(即按如下顺序存放:A(1,1),A(1,2),A(l,100),A(2,1), A(2,100) A(100,1) A(100,100),页面大小为 100个字,驻留集为 2个页帧。若采用 LRU替换算法,则下列两种对A进行初始化的程序段引起的缺页中断次数各是多少?并说明原因。 (a) for j:=1 to 100 do for i:1 to 100 do A(i,j):=0 (b) for i:=1 to 100 do for j:1 to 100 do A(i,j):=0答:由于程序占1页,故放入一个页帧中。只发生1次缺页中断。(a)种情况是按A(1,1)、A(2,l)A(100,1) A(1,2),A(2,2),A(100,2),A(1,100)、A(2,100)A(100,100) 次序初始化,而数组的存放为 A(1,1),A(1,2)A(1,100)1页 A(2,1),A(2,2)A(2,100)2页 A(100,1)A(100,2)A(100,100)100页 故对数组中每个元素初始化时,均要发生缺页中断,共发生100100次再加上程序加载所发生的一次,共计10001次缺页中断。 (b)种情况是按:A(1,1)、A(1,2)A(1,100),A(2,1),A(2,2),A(2,100) A(100,1)A(100,2)A(100,100)次序进行初始化,则每初始化一页发一次缺页中断,所以共101次。5在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题:按(1)FIFO调度算法(2)LRU调度算法将产生多少次缺页中断,缺页中断率为多少,依次淘汰的页号是什么。答:(1)按FIFO调度算法将产生5次缺页中断;依次淘汰的页号为:0,1,2;缺页中断率为:5/10=50% 。(2)按LRU调度算法将产生6次缺页中断;依次淘汰的页号为:2,0,1,3;缺页中断率为:6/10=60% 。6己知页面走向为1、2、1、3、1、2、4、2、1、3、4,且开始执行时主存中没有页面。若只给该作业分配2个物理块,当采用FIFO页面淘汰算法时缺页率为多少?假定现有一种淘汰算法,该算法淘汰页面的策略为当需要淘汰页面时,就把刚使用过的页面作为淘汰对象,试问就相同的页面走向,其缺页率又为多少?解:根据所给的页面走向,采用FIFO置换算法的页面置换情况如下:从上述页面置换中可以看出:页面引用次数为11次,缺页次数为9次,所以缺页率为9/11。若采用后一种置换算法:其页面置换情况如下:从上述页面置换图可以看出:页面引用次数为11次,缺页次数为8次,所以缺页率为8/11。7在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数。解:在本题中,分配给作业的物理块数为3。(1) 根据所给页面走向,使用FIFO算法时,页面置换情况如下:缺页次数为9。(2) 根据所给页面走向,使用LRU算法时,页面置换情况如下:缺页次数为7。8有一页式系统,其页表存放在主存中,(1)如果对主存的一次存取需要1.5微秒,试问实现一次页面访问的存取时间是多少?(2)如果系统加有快表,平均命中率为85,当页表项在快表中时,其查找时间忽略为0,试问此时的存取时间为多少?解:若页表存放在主存中,则要实现一次页面访问需两次访问主存,一次是访问页表,确定所存取页面的物理地址,第二次才根据该地址存取页面数据。(1)由于页表存放在主存,因此CPU必须两次访问主存才能获得所需数据,所以实现一次页面访问的存取时间是1.523微秒(2)在系统增加了快表后,在快表中找到页表项的概率为85,所以实现一次页面访问的存取时间为 0.851.5十(10.85)21.51.725微秒9在一个段式存储管理系统中,段表内容如下:试求下述逻辑地址对应的物理地址是什么?解:(1)由于第0段的内存始址为210,段长为500,故逻辑地址O,430是合法地址。逻辑地址0,430对应的物理地址为210十430640。(2)由于第1段的内存始址为2350,段长为20,故逻辑地址1,10是合法地址。逻辑地址1,10对应的物理地址为2350+10=2360。(3)由于第2段起始地址为100,段长为90,所给逻辑地址2,500非法。(4)由于第3段的内存始址为1350,段长为590,故逻辑地址3,400是合法地址。逻辑地址3,400对应的物理地址为1350十4001750。(5)由于第4段的内存始址为1938,段长为95,所给逻辑地址4,l12非法。(6)由于系统中不存在第5段,所给逻辑地址5,32非法。10在某系统中,采用固定分区分配管理方式,内存分区(单位字节)情况如图a所示。现有大小为lK、9K、33K、121K的多个作业要求进入内存,试画出它们进入内存后的空间分配俏况,并说明主存浪费有多大? 解:从图a可以看出,该系统中共有四个分区,第一分区的大小为8k,第二分区的大小为32K,第三分区的大小为120K,第四分区的大小为332K。作业进入系统后的内存分配情况,如图b所示(每个分区中未被利用的那部分空间用阴影表示): (图a 某系统内存分配情况) (图b 作业进入系统后的分配情况)从图b可以看出,作业进入系统后,第一分区剩余空间为7K,第二分区剩余空间为23K,第三分区剩余空间为87K,第四分区剩余空间为211K。主存空间浪费328K。11下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。现有以下作业序列:96k、20K、200k。若用首次适应算法和最佳适应算法来处理这些作业序列,试问哪一种算法可以满足该作业序列的请求,为什么? 空闲分区表: 解:若采用最佳适应算法,在申请96K存储区时,选中的是5号分区,5号分区大小与申请空间大小一致,应从空闲分区表中删去该表项;接着申请20K时,选中1号分区,分配后l号分区还剩下12K;最后申请200K,选中4号分区,分配后剩下18K。显然采用最佳适应算法进行内存分配,可以满足该作业序列的需求。为作业序列分配了内存空间后,空闲分区表如表a所示。若采用首次适应算法,在申请96K存储区时,选中的是4号分区,进行分配后4号分区还剩下122K;接着申请20K,选中1号分区,分配后剩下12K;最后申请200K,现有的五个分区都无法满足要求,该作业等待。显然采用首次适应算法进行内存分配,无法满足该作业序列的需求。这时的空阅分区表如表b所示。(分配后的空闲分区表a)(分配后的空闲分区表b)12在某个采用页式存储管理的系统中,现有J1,J2,J3共3个作业同驻主存。其中J2有4个页面,被分别装入到主存的第3,4,6,8块中。假定页面和存储块的大小均为1024字节,主存容量为10K字节。(1)写出J2的页面映像表;(2)当J2在CPU上运行时,执行到其地址空间第500号处遇到一条传指令MOV 2100,3100请用地址变换图计算出MOV指令中两个操作数的物理地址。解:该题已知条件很多,但实质还是给出逻辑地址,要求转换成物理地址。首先得出页表项如图1所示,页面大小为1024字节,可得页内位移为10位。逻辑地址2100页号为2,页内位移52;3100页号为3页内位移28。转换过程如图2所示。 (图1) (图2)13假设有一台计算机,它有1M内存,操作系统占用200K,每个用户进程也占用200K,用户进程等待I/O的时间为80,若增加lM内存,则CPU的利用率将提高多少?答:由题目所给条件可知,当前IM内存可支持4个用户进程,由于每个用户进程等待I/O的时间为80,故CPU的利用率为: 1一(80)41一(08)459若增加1M内存,则系统中可同时运行9个进程,则CPU的利用率为I一(0.8)9 87故增加1M内存使CPU的利用串提高了8759147147一10047所以增加1M内存使CPU的利用率提高了47的利用率。1若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。(1)先来先服务算法;(2)最短寻找时间优先算法。 解:(1)3毫秒292=876毫秒(2)3毫秒120=360毫秒(注:各算法使移动臂的移动次序和移动的柱面数如下:(1)40 20 44 40 4 80 12 76(20)(24)(4)(36)(76)(68)(64)共移动292柱面(2)40 44 20 12 4 76 80(4) (24)(8)(8)(72)(4)共移动120柱面2有如下请求磁盘服务的队列,要访问的磁道分别是98、183、37、122、14、124、65、67。现在磁头在53道上,若按最短寻道时间优先法,磁头的移动道数是多少? 解:最短寻道时间优先法总是让查找时间最短的那个请求先执行,而不考虑请求访问者到来的先后时间。即靠近当前移动臂位置的请求访问者将优先执行。当前磁头在53道上则总的移动道为:122302384242592363若磁头的当前位置为100磁道,磁头正向磁道号增加方向移动。现有一磁盘读写请求队列:23,376,205,132,19,61,190,398,29,4,18,40。若采用先来先服务、最短寻道时间优先和扫描算法,试计算出平均寻道长度各为多少?解:(1)采用先来先服务磁盘调度算法,进行调度的情况为:(从100磁道开始) 移动磁道数总数为1596,平均寻道长度为133。(2)采用最短寻道时间优先磁盘调度算法,进行调度的情况为(从100磁道开始)移动磁道总数为700,平均寻道长度为58.3。(3)采用扫描算法,进行调度的情况为:(从100磁道开始,磁头向磁道号增加方向移动)移动磁道总数为692,平均寻道长度为57.7。4假定在某磁盘上移动臂刚从58号柱上完成任务,目前正在96号柱面上读信息,并有下列请求序列等待访问磁盘:175,52,157,36,159,106,108,72(1)请分别使用先来先服务调度算法、最短寻找时间优先算法、电梯调度算法,排出实际处理上述请求的次序。(2)计算(1)中三种算法下移动臂需要移动的距离。解:(1)使用先来先服务调度算法,按照访问者的失后次序进行访问,处理次序依次为:96,175,52,157,36,159,106,108,72。使用最短寻找时间优先调度算法,总是让查找时间最短的那个请求先执行,处理次序依次为:96,106,108,72,52,36,157,159,175。使用电梯调度算法,处理次序依次为:96,106,108,157,159,175,72,52,36。(2)先来先服务调度算法,移动臂需要移动的距离为: (175-96)+(175-52)+(157-52)+(157-36)+(159-36)+(159-106)+(108-106)+(108-72)=642。最短寻找时间优先调度算法,移动臂需要移动的距离为:(106-96)+(108-106)+(108-72)+(72-52)+(52-36)+(157-36)+(159-157)+(175-159)=223。电梯调度算法,移动臂需要移动的距离为:(106-96)+(108-106)+(157-108)+(159-157)+(175-159)+(175-72)+(72-52)+(52-36)=128。6若现在磁盘的移动臂处于第15号柱面,下列六个请求者等待访问磁盘,如何响应这些访问才最节省时间?序号 1 2 3 4 5 6柱面号 12 5 16 6 16 12磁头号 2 3 8 4 7 5扇区号 6 2 7 1 3 6解:分析各种移臂调度算法,发现以最短寻找时间优先调度算法使移臂距离最短,最节省时间,这时访问柱面的次序为:16,12,6,5。 考虑到旋转调度时无法确定同一柱面上的扇区先响应哪个扇区更快,所以最省时间的调度次序有以下四种:(1)3,5,1,6,4,2(2)3,5,6,1,4,2(3)5,3,l,6,4,2(4)5,3,6,l,4,21若有甲、乙两个用户,甲用户有文件A、B,乙用户有文件A、C、D,甲用户的文件A与乙用户的文件A不是同一个文件。甲用户的文件B与乙用户的C是同一个文件。请设计一个目录组织方案,并画图说明。解:由于本问题是有两个用户,并且存在文件重名和别名问题,因此目录组织方案应采用二级目录结构,如下图所示。2有3个学生使用一个分时计算机系统,程序和数据同时存放在同一磁盘上,他们在各自的终端上如果都为自己的程序取了同一个名字WJ1,请问:(1)系统应采用何种的目录结构,才能区别这些学生的程序?(2)简单阐述系统怎样为这3个学生索取他们各自的程序WJ1。解:(1)考虑到不同文件的重名问题,该系统应采取二级或多级文件目录。由于重名只发生在不同用户之间,所以可以采用二级文件目录。在主目录下,建立3个学生的学生目录,然后将他们的程序WJ1放到他们各自的学生目录中。(2)任何一个学生要索取自己的文件时,先给出程序名WJ1,系统检查主目录,根据学生名找到该学生的学生目录,然后找到程序名为WJ1的文件存放地址,按地址启动磁盘就可以读出学生所需要的程序。3一个文件的逻辑记录大小为125字节,共有20个逻辑记录,文件系统采用链接方式将这个文件存储到磁盘上,磁盘分块大小为5l2字节,请问:(1)采用什么方法可有效地利用磁盘空间?(2)若用户要读包含第1285字节的逻辑记录,文件系统将如何工作?答:(1)可采用记录的成组方法,因512/125=4,所以成组的逻辑记录个数应为4。20个逻辑记录共需要5个存储块(04)。(2)首先,由1285/(1254)2,可知包含1285字节的逻辑记录在链接结构的第2块上。将该块读入主存缓冲区;然后由1285 mod (1254)285,且285/1252,可知文件系统从主存缓冲区中取出第2个记录传输给用户。(注意:记录号和存储块号都是从0开始排序的。)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!