操作系统练习.docx_第1页
操作系统练习.docx_第2页
操作系统练习.docx_第3页
操作系统练习.docx_第4页
操作系统练习.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

存储管理综合题分析 1、在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的指令地址序列为:110,215,128,86,456,119,301,445,266,337。单位(字)若该作业的第0页已经装入内存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题。 a按FIFO调度算法将产生多少次缺页中断?缺页中断率为多少? b按LRU调度算法将产生多少次缺页中断?缺页中断率为多少?【答案】 采用FIFO调度算法时,缺页中断率为4/10 = 40%;采用LRU调度算法时,缺页中断率为5/10 = 50%。 【分析】本题给出的是具体的逻辑地址,要求根据页面大小写出虚页号,从而得出页面踪迹。计算时注意起始地址,假设逻辑地址从0开始,页面大小为100字,可以求得页面走向的虚页号分别为:1,2,1,0,4,1,3,4,2,3。根据题意,0页已经调入内存,分配的内存为300字,每页100字,则分配给该进程的是3个页框,那么,采用FIFO调度算法时,其页面置换如下表所示虚页号 1 2 1 0 4 1 3 4 2 3 A 1 2 2 2 4 4 3 3 3 3 B 0 1 1 1 2 2 4 4 4 4 C000112222缺页 Y Y N N Y N Y N N N 共缺页4次。 当采用LRU调度算法时,其页面置换如下表所示。虚页号 1 2 1 0 4 1 3 4 2 3 A 1 2 1 0 4 1 3 4 2 3 B 0 1 2 1 0 4 1 3 4 2 C002104132缺页 Y Y N N Y N Y N Y N 共缺页5次。2、在某个请求分页管理系统中,假设某进程的页表内容如下表所示。页号 页框(Page Frame)号 有效位(存在位) 0 120H 1 1 - 0 2 850H 1 页面大小为4KB,一次内存的访问时间是200ns,一次快表(TLB)的访问时间是20ns,处理一次缺页的平均时间为109ns(己含更新TLB和页表的时间),进程的驻留集大小固定为二页,采用最近最久未使用置换算法(LRU)和局部置换策略。假设TLB初始为空;地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2345H、1876H、258FH,请问: a依次访问上述三个虚地址,各需多少时间?给出计算过程。 b基于上述访问序列,虚地址1876H的物理地址是多少?请说明理由。【答案】 (a) 根据页式管理的工作原理,应先将页号和页内位移地址分解出来。页面大小为4KB,即212,则得到页内偏移量占虚地址的低12位,那么页号占剩余高4位。可得三个虚地址的页号如下表。(b) 地址 页号 页内位移 2345H 2 345H 1876H 1 876H 258FH 2 58FH 2345H指令,页号为2,访问快表20ns,找不到页框,因条件所给初始为空,需要再到内存访问页表,花费200ns得到页框号,合成物理地址后去主存取指令需要花费200ns。 总时间 20ns + 200ns + 200ns = 420ns。 1876H指令页号为1,访问快表20ns,不在TLB,访问页表200ns,不在内存,发生缺页中断花费109ns,取得新页框号(含TLB更新),合成物理地址后去主存取指令需要花费200ns。 总时间 20ns + 200ns + 109ns + 200ns 109ns。 258FH指令,页号为2,访问快表,因第一次访问己将该页号放入快表,因此花费20ns便可合成物理地址,访问主存取指200ns,共计20ns + 200ns = 220ns。 (b)当访问虚地址1876H时,因不在内存而产生缺页中断,因驻留集为二页,现在已有0页和2页在内存,必须从中淘汰一个页面,从而将新1页调入内存。 根据LRU置换算法,0页和2页除有效位以外的其它信息未知,但是,第2页刚刚访问过,其引用位应刚置为1且时间间隔不长,根据最近最久未使用置换算法,相比之下应首先淘汰0号页面,因此1876H的对应页框号为120H。由此可得1876H的物理地址为120876H。 3、某虚拟存储器的用户地址空间为32个页面,每页1K,主存有16K。假定某时刻操作系统为用户的第0,1,2,3页分配的物理页面为5,10,4,7,见下表,而该用户的作业长度为6页,试将十六进制虚拟地址0A5C,103C,1A5C,转换成物理地址,并分析转换过程中可能发生的现象。 0 5 1 10 2 4 3 7 【答案】 由于用户地址为32X1K = 32K大小,主存有16K,显然只能部分装入。页面和页框的大小为1K,故, 地址0A5C(Hex) = 0000101001011100 = 000010 1001011100(bin) 其中,前6位为页号,后10位为页内地址,页号为 000010(bin)= 2(Hex) 查表,对应页框号为 4(Hex)= 000100(bin) 那么,000100 1001011100 = 0001001001011100(bin)= 125C(Hex)物理地址 同理103C(Hex) = 000100 0000111100(bin) 其中,页号为 0000100(bin)= 4(Hex) 6页(06已经7页了),因此产生越界中断。 【分析】内存地址转换是本章中经常会出现的题目,同学注意找出逻辑地址和物理地址的对应关系,逻辑地址的长度和物理地址的长度。例3.10已经说明了,逻辑地址(虚拟地址)可以少于物理地址,也可以大于物理地址,在例3.10的分析里已经说明。通常,逻辑地址会大于物理地址,因此,大部分逻辑地址的位数会大于物理地址,此时就需要页表来进行映射了。因是多对少,因此必然会有对应不上的(即不在内存的),甚至会有超出范围越界的(如本题第三问)。又由于有时页面的分配是非16位进制,因此还需要展开为2进制来进行分析。4、设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(Page Frame)。在时刻260前的该进程访问情况如下表所示(访问位即使用位)。页号 页框号 装入时间 访问位 0 7 130 1 1 4 230 1 2 2 200 1 3 9 160 1 当该进程执行到时刻260时,要访问的逻辑地址为17CAH的数据,请回答下列问题: (1)该逻辑地址对应的页号是多少? (2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。 (3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,示意图如下)【答案】本题涉及操作系统中内存管理的页面置换算法 (1)该页的页号为5。 (2)物理地址为1FCAH。 (3)物理地址为0BCAH。 【分析】 (1)17CAH=0001011111001010B。页的大小为1KB,那么,取低10位为页内偏移量为1111001010B,高6位为页号000101=5H,所以,该页的页号为5。 (2)由于该页不在内存,因此需要进行页面置换,按FIFO算法,0页面(7页框)进入内存最早,故淘汰,将5页装入该页,那么物理地址为(7页框)000111B合成1111001010B为0001111111001010B=1FCAH。 (3)由于该页不在内存,因此需要进行页面置换,按Clock算法,2页面(2页框)被选中,故淘汰,将5页装入该页,那么物理地址为(2页框)000010B合成1111001010B为0000101111001010B=0BCAH。 【知识链接】页面置换算法也是考试的重点,考生应注意掌握FIFO,LRU,OPT以及CLOCK算法的基本点。计算过程要细心。传统的FIFO,LRU,OPT可以用堆栈表来计算(考生可以参阅相关知识点),CLOCK算法因为循环的关系需要逐步推导。本题中加入的地址转换计算并不复杂,页面字长的分割要细心,转换到十六进制时注意位数的合理性,缺的要补全。 操作系统,死锁,银行家算法习题进程已分配需要可分配P00,0,3,20,0,1,21,6,2,2P11,0,0,01,7,5,0P21,3,5,42,3,5,6P30,3,3,20,6,5,2P40,0,1,40,6,5,6试问:(1)该状态是否安全?(2)如果进程P2 提出请求Request2(1,2,2,2)后,系统能否将资源分配给它?解: (1)利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分析情况进程可分配需要已分配运行结束剩余结果P01,6,2,20,0,1,20,0,3,21,6,5,4安全P11,6,5,40,6,5,20,3,3,21,9,8,6安全P21,9,8,60,6,5,60,0,1,41,9,9,10安全P31,9,9,101,7,5,01,0,0,02,9,9,10安全P42,9,9,102,3,5,61,3,5,43,12,14,14安全从上述分析中可以看出,此时存在一个安全序列P0,P3,P4,P1,P2,故该状态是安全的。(2)P2 提出请求Request2(1,2,2,2),按银行家算法进行检查:Request2(1,2,2,2) Need2(2,3,5,6),P2 的请求是合理的;Request2(1,2,2,2) Available(1,6,2,2),P2 的请求是可以满足的;试分配并修改相应数据结构,资源分配情况如下:进程已分配需要可分配P00,0,3,20,0,1,20,4,0,0P11,0,0,01,7,5,0P22,5,7,61,1,3,4P30,3,3,20,6,5,2P40,0,1,40,6,5,6再利用安全性算法检查系统是否安全,可用资源Available(0,4,0,0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不能将资源分配给P2。2. 有相同类型的 5 个资源被4 个进程所共享,且每个进程最多需要2 个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。解:该系统不会由于对这种资源的竞争而产生死锁。因为在最坏情况下,每个进程都需要2 个这样的资源,且每个进程都已申请到了1 个资源,那么系统中还剩下1 个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程己获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的2 个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死3. 已知某系统中的所有资源是相同的,系统中的进程严格按照一次一个的方式申请或释放资源。在此系统中,没有进程所需要的资源数量超过系统的资源总拥有数量,试对下面列出的各种情况说明是否会发生死锁。情况序号系统中进程数资源总量a12b21C 22d23解:情况a:因系统中仅存在1 个进程,且系统中资源总数为2,由题目所给条件可知,该进程的最大资源需求量不超过2,显然情况a 不会出现死锁。情况b:因系统中存在2 个进程,且系统中资源总数为1,由题目所给条件可知,每个进程的最大资源需求量不超过1。不妨设两个进程的最大资源需求量为1,若系统将资源分配给其中的一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,故不会发生死锁。情况c:因系统中存在2 个进程,且系统中资源总数为2,由题目所给条件可知,每个进程的最大资源需求量不超过2。假设两个进程的最大资源需求量为2,若系统将资源分配给其中的一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,以这种方式分配资源不会发生死锁;若系统将资源分配给每个进程1 个,在此情况下,每个进程均获得1 个资源且系统中已没有空闲资源,当其中的一个进程再次申请1 个资源时,因系统中无空闲资源而使其等待,另一个进程的情况也是如此,因此以这种方式分配资源会发生死锁。情况d:因系统中存在2 个进程,且系统中资源总数为3,由题目所给条件可知,每个进程的最大资源需求量不超过3。假设两个进程的最大资源需求量为3,若系统将资源分配给其中的一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,以这种方式分配资源不会发生死锁;若系统将资源分配给其中一个进程1 个,另一个进程2 个,在此情况下,每个进程均获得部分资源且系统中已没有空闲资源,当其中的一个进程再次申请资源时,因系统中无空闲资源而使其等待,另一个进程的情况也是如此,因此以这种方式分配资源会发生死锁。4. 考虑下列资源分配策略;对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,若此时无由于等待资源而被阻塞的进程,则自己就被阻塞;若此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。例如,考虑一个有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 将会无限期地等待。5. 一个操作系统有 20 个进程,竞争使用65 个同类资源,申请方式是逐个进行的,一旦某进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用3 个资源。若仅考虑这类资源,该系统有无可能产生死锁,为什么?解;在本题中,若仅考虑这一类资源的分配,则不会产生死锁。因为死锁产生的原因有两点;系统资源不足或进程推进顺序不当。在本题介绍的系统中,进程所需要的最大资源数为:20X3=60,而系统中共有该类资源65 个,其资源数目已足够系统内的各进程使用,因此绝不可能发生死锁。6. 一台计算机有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 时,该系统不会由于对这种资源的竞争而产生死锁。7. 设系统中有 3 种类型的资源(A,B,C)和5 个进程P1、P2、P3、P4、P5,A 资源的数量为17,B 资源的数量为5,C 资源的数量为20。在T0 时刻系统状态见表所示。系统采用银行家算法实施死锁避免策略。T0 时刻是否为安全状态?若是,请给出安全序列。在T0 时刻若进程P2 请求资源(0,3,4),是否能实施资源分配?为什么?在的基础上,若进程P4 请求资源(2,0,1),是否能实施资源分配?为什么?在的基础上,若进程P1 请求资源(0,2,0),是否能实施资源分配?为什么?解:由题目所给出的最大资源需求量和已分配资源数量,可以计算出T0 时刻各进程的资源需求量Need,Need=最大资源需求量-分配资源数量: 利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分析情况:WorkNeedAllocationWork+AllocationFinishP52,3,31,0,03,1,45,4,7TrueP45,4,72,2,12,0,47,4,11TrueP37,4,110,0,64,0,511,4,16TrueP211,4,161,3,44,0,215,4,18TrueP115,4,183,4,52,1,217,5,20True从上述情况分析中可以看出,此时存在一个安全序列P5,P4,P3,P2,P1,故该状态是安全的。在T0 时刻若进程P2 请求资源(0,3,4),因请求资源数(0,3,4)剩余资源数(2,2,3),所以不能分配。 在的基础上,若进程P4 请求资源(2,0,1),按银行家算法进行检查:P4 请求资源(2,0,1)P4 资源需求量(2,2,1),P4 请求资源(2,0,1)剩余资源数(2,3,3)试分配并修改相应数据结构,资源分配情况如下:AllocationNeedAvailableP12,1,23,4,70,3,2P24,0,21,3,4P34,0,50,0,6P44,0,50,2,0P53,1,41,1,0再利用安全性算法检查系统是否安全,可得此时刻的安全性分析情况:WorkNeedAllocationWork+AllocationFinishP40.3.20,2,04,0,54,3,7TrueP54,3,71,1,03,1,47,4,11TrueP37,4,110,0,64,0,511,4,16TrueP211,4,161,3,44,0,215,4,18TrueP115,4,183,4,72,1,217,5,20True从上述情况分析中可以看出,此时存在一个安全序列P4,P5,P3,P2,P1,故该状态是安全的,可以立即将P4 所申请的资源分配给它。在的基础上,若进程P1 请求资源(0,2,0),按银行家算法进行检查:P1 请求资源(0,2,0)P1 资源需求量(3,4,7)P1 请求资源(0,2,0)剩余资源数(0,3,2)试分配并修改相应数据结构,资源分配情况如下;AllocationNeedAvailableP12,3,23,2,70,1,2P24,0,21,3,4P34,0,50,0,6P44,0,50,2,0P53,1,41,1,0再利用安全性算法检查系统是否安全,可用资源Available(0,1,2)已不能满足任何进程的资源需求故系统进入不安全状态,此时系统不能将资源分配给P1。文件系统及设备综合题1、假设有8 个记录A、B,C、D、E、F、G、H 存放在磁盘里,每个磁道有8 个扇区,正好可以存放8 个记录。假设磁盘旋转速度为20ms/转,处理程序每读出一个记录后,用2ms 的时间进行处理,请问:a当记录A、B、C、D、E、F、G、H 按顺序放在磁道上时,顺序处理这8个记录花费的总时间是多少?假设启动时的位置正好在A 扇区的起点。b如何采取优化方法,使处理这些记录所花费的总时间最短?求出该最短时间【解答】a磁盘旋转速度是20ms/转,共分成8个扇区,因此,每个扇区所花费的读写时间为20ms/8 = 2.5ms。若按顺序编号,每读出一个扇区后用2ms的时间进行处理,此时,磁盘仍在转动,处理完A扇区后,磁头己经过了大部分的B扇区,即将到达C扇区,因此,要等磁盘再转一圈后才可读扇区B,见下左图,依此类推,顺序处理8个扇区的时间花费是(其中H是最后一个,因此,处理有别于其他扇区):AG 扇区读取时间:2.5ms AG 扇区处理时间:2ms等待下一个扇区到达时间:20ms 2ms = 18msH 扇区读取时间:2.5msH 扇区处理时间:2ms总消耗时间为:(2.5ms + 2ms + 18ms)* 7 + 2.5ms + 2ms = 162msb) 采用的优化方法是扇区交替编号,使得A 扇区在处理完以后可以在最短时间内定位B 扇区,排列方式如上右图。花费时间是:AD 扇区读取时间:2.5msAD 扇区处理时间:2msAC 等待下一个扇区到达时间:2.5ms 2ms = 0.5msD 等待E 扇区到达时间:0.5ms + 2.5ms = 3msEH 扇区读取时间:2.5msEH 扇区处理时间:2msEG 等待下一个扇区到达时间:2.5ms 2ms = 0.5ms总消耗时间为:(2.5ms + 2ms)* 4 + 0.5ms * 3 + 3ms +(2.5ms + 2ms)* 4 + 0.5ms * 3 = 42ms2、在DOS 和Windows 操作系统中都支持FAT16 文件系统,一个文件的物理结构是用文件分配表FAT 来表示的,在FAT16 中,文件分配表每个表项占16 位。如果某分区为FAT16 磁盘文件系统,每簇64 扇区,扇区的大小为512 字节,则该分区最大可为多少字节?每个FAT 表占用的存储空间是多少字节?分析:考查FAT 文件系统的基本原理。当一个程序对文件系统要求提供某一个文件的内容时,会到此文件的目录记录表去寻找它的第一个簇号码,然后再到FAT 记录表里去找在此链表(Chain)里的下一个簇。此动作不断地重复直到找到文件的最后一个簇为止,文件系统可以精确地计算哪些簇属于这个文件及其先后顺序。由此方式,文件系统可提供程序所要求之文件的任何部分。这种组织文件的方式称为FAT 链(FAT Chain),在FAT 文件系统下,文件永远被分配到整数单位的簇。例如,在一个每一簇大小为32KB 的11GB 磁盘中,一个只包含“Hello,Wodd”这几个字符的大小为12 字节文件仍要在磁盘中占32 KB 的空间。在簇中没有用到的部分称为耗损(Slack),文件的耗损几乎与整个簇相当。平均来说,一个文件会有一半左右耗损。在一个每簇为16KB 的850MB 硬盘中其中平均文件大小为50 KB 的话,大概有16分配给文件的硬盘空间实际上浪费掉了。FAT 文件系统将数个扇区合并成一个簇(C1uster),作为为文件分配存储空间时的基本单位,簇里的扇区数目必须是2 的n 次方。FAT16 文件系统中,用16 位来表示磁盘簇号的位数,每个分区最大可存放216=65536 个簇,每个簇为64X512 字节=32768 字节,则该分区最大可存放2147483648 = 2GB。65536 个簇,每簇64 个扇区,共有65536 个16b 的簇号,而64 个扇区的编号则由BOOT 分区内数据确定。驱动器找到簇号以后,按扇区数的大小去读写扇区,所以扇区号不占用FAT 表,则FAT 表所占的存储空间是64KX16bit=128KB。注意,在老式的FAT16 中,采用了16bit 宽的簇地址,16bit 的扇区计数(存放在启动区中)。FAT 表中存放的是16bit 的簇地址。可以寻址216*216*512,约2 个TB 的容量,但于由规定每簇最大的容量不超过512*64,约215,另有一位是符号位。所以FAT16 文件系统的容量也就限制到了216*512*64,大约2.1GB 的容量,并且实际还达不到这个值。FAT32 文件系统使用了32bit 宽的簇地址,所以称为FAT32。但在微软的文件系统中只使用了低28 位,最大容量为228*512*64,约8.8TB 的空量。有的人认为32bit 全用,最大容量为232*1024*32,这种说法是不正确的。【解答】512B X 64 X 216 = 2GB。2B(16 位)X 64K X = 128KB。3、在实现文件系统时,一般为加快文件目录的检索速度,可利用“文件控制块部分装入”的方法。假设目录文件(即文件控制块)存放在磁盘上,磁盘的每个盘块为512B,每个目录项占128B,其中文件名占11B。为提高检索速度,通常将目录项分解成两部分,第一部分(包括文件名和文件内部号)占16B,第二部分(包括文件内部号和文件其他描述信息)占122B。假设某一目录共有254 个目录项(文件控制块),试分别给出前、后二种方法查找该目录文件某一目录项的平均访问磁盘次数。【解答】根据已知,目录文件共有254 个文件控制块(即目录项),每个盘块为512B,目录项(文件控制块)占128B。采用旧办法时,1 个盘块可存放:512B/128B = 4 个目录项,则254 个目录项要占:INT254/4+1 = 64 块。平均查找一个目录项需访问磁盘:(1+64)/ 2 = 32.5 次。采用新方法后,将目录项分解成两部分,第一部分占16B,第二部分占122B。一个盘块可存放的用于检索的文件名和内部号部分为512B/16B = 32 个目录项,这样254 个目录项要占:INT254/32 + 1 = 8 个盘块。平均查找一个目录项需要访问磁盘:(1+8)/ 2 = 4.5 次。而为得到目录项的其它信息还应访问一次磁盘,故需访盘:4.5 + 1 = 5.5 次。因此,采用新办法可以有效地降低访问磁盘的次数。解答:采用旧办法时检索一个目录项需要访问磁盘32.5 次。采用新办法时检索一个目录项需要访问磁盘5.5 次。4、假设计算机系统采用CSCAN(循环扫描)磁盘调度策略。使用4KB 的内存空间记录32768 个逻辑磁盘块的空闲状态。a请说明在上述条件下采用什么方式进行磁盘空闲状态管理最为高效?b设某单面磁盘旋转速度为每分钟7200 转,每个磁道有160 个扇区,每个逻辑块由1 个扇区组成。相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道增大的方向移动,如图3-4-2 所示,磁道号的请求队列为40,80,20,130,对请求队列中的每个磁道需要读取1 个随机分布的扇区,则读完这个扇区点共需要多少时间,要求给出计算过程。【解答】(1)题目给出的可以用于空闲区管理的内存空间为4KB,而所需管理的空间为32768 个逻辑块,经过简单计算可知:4KB8bit = 32768 bits,正好可以用来表示空闲块,因此,采用位示图法可以管理空闲磁盘空间。(2)磁盘

温馨提示

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

评论

0/150

提交评论