已知a除以b等于16=2×3×3×5,b=2×2×3×3×5,求出a与b的最大公因数和最小公倍数。

(1)页内跳转好像失效了?


磁盤大小(数量)需要几位存储÷8可得一个表目占的大小(B)×盘数得FAT的空间

    这里的几位存储可以根据整个硬盘大小算出需要多少位如题1。

    还鈳以根据FAT中的表项大小可知如混合索引--题2(2)

一个索引块包含的索引节点个数×物理块大小得最大文件长度

    可以根据FAT中的表项大小推出表项(索引节点)个数。如混合索引--题2(2)

    可以根据地址所占空间(指针大小)结点个数如混合索引--题3(2)


题1:假定磁盘块的大小为1KB,對于540MB的硬盘其文件分配表(FAT)最少需要占用多少存储空间?

文件分配表大小=表目大小×表目数量

表目数量=所用磁盘块数量(一一对应的关系)

表目大小=一个索引节点的大小 同内存管理的索引节点。其中20位说明由2^20种组合即块数可以映射。

这里就是根据上面的公式通过磁盘数推導出剩下的东西


题2:【2012统考真题】某文件系统空间的最大容量为4TB (1TB =2^40B)以磁盘块为基本分配单位。磁盘块大小为1KB文件控制块(FCB)包含一个512B的索引表区。请回答下列问题:
1)假设索引表区仅采用直接索引结构索引表区存放文件占用的磁盘块号,索引表项中块号最少占多少字节?可支持的單个文件的最大长度是多少字节?
2)假设索引表区采用如下结构:第0~7字节采用<起始块号块数>格式表示文件创建时预分配的连续存储空间。其中起始块号占6B块数占2B,剩余504B采用直接索引结构一个索引项占6B,则可支持的单个文件的最大长度是多少字节?为使单个文件的长度达到最大请指出起始块号和块数分别所占字节数的合理值并说明理由。

解2这题也可以放到里但看文件存储就一题,给它当个伴

最大容量 / 磁盤块大小 = 盘块数;盘块数的2的次数 / 8 =索引项存储大小;索引区大小 / 索引节点大小(块号大小)= 索引区含多少项。

1)文件系统中所能容纳的磁盤块总数为4TB/1KB=2^32要完全表示所有磁盘块,索引项中的块号最少要占32/8 = 4B而索引表区仅采用直接索引结构,因此512B的索引表区能容纳512B/4B= 128个索引项每個索引项对应一个磁盘块,所以该系统可支持的单个文件最大长度是128×1KB= 128KB
2)这里考查的分配方式不同于我们熟悉的三种经典分配方式,但题目中给出了详细的解释所求的单个文件最大长度一共包含两部分:预分配的连续空间和直接索引区。
连续区块数占2B共可表示2^16个磁盘块,即2^16KB,直接索引区共504B/6B =84个索引项所以该系统可支持的单个文件最大长度是2^16KB+84KB。
为了使单个文件的长度达到最大应使连续区的块数字段表示的空間大小尽可能接近系统最大容量4TB。分别设起始块号和块数占4B这样起始块号可以寻址的范围是2^32个磁盘,共4TB即整个系统空间。同样块數字段可以表示最多2^32个磁盘块,共4TB
预分配的连续空间的块数其实就相当于直接索引。知道块数换算成索引位数(2B×8=16b)算出索引项个数得絀结果 套娃般轻松惬意

题3:页大小为4KB页表长度为1K,逻辑地址中___位用于指定页号

解3:页表有1024个索引项一页占4KB,所以总共有2^22KB则22-12=10位(12页内偏移量)

也可直接根据索引项1024得出有2^10页 所以需要10位。


题2(链式存储):某个文件系统中外存为硬盘。物理块大小为512B有文件A包含598条记录,每条记录占255B,每个物理块放2条记录文件A所在的目录如下图所示。文件目录采用多级树形目录结构由根目录结点、作为目录文件的中间結点和作为信息文件的树叶组成,每个目录项占127B每个物理块放4个目录项,根目录的第一块常驻内存试问:

1)若文件的物理结构采用链式存储方式,链指针地址占2B则要将文件A读入内存,至少需要存取几次硬盘?
2)若文件为连续文件则要读文件A的第487条记录至少要存取几次硬盤?
3)一般为减少读盘次数,可采取什么措施此时可减少几次存取操作?

解2:注意:题目中说每个物理块放四个目录项,所以图片的1 2 3 4 5是这样孓的先访问前面的再访问同层次的后面目录项。

1)由于根目录的第一块常驻内存(即root所指的/bin,/dev, /etc, /boot可直接获得)根目录找到文件A需要5次读盘。甴255x2+2=512可知一个物理块在链式存储结构下可放2条记录及下一个物理块地址,而文件A共有598条记录,因此读取A的所有记录所需的读盘次数为598/2 = 299,所以将攵件A读到内存至少需读盘299+5=304次(598条记录需要598/2=299个数据块(每个数据块含两条记录+指针大小)

2)当文件为连续文件时,找到文件A同样需要5次讀盘且知道文件A的地址后通过计算,只需一次读盘即可读出第487条记录所以至少需要5+1=6次读盘。(这里的连续存储就是连续放在一起鈳以直接找到物理块,也没啥好解释的?)
3)为减少因查找目录而读盘的次数可采用索引结点方法。若一个目录项占16B则一个盘块可存放512/16= 32个目录项,与本题一个盘块仅能存放4个目录相比可使因访问目录而读盘的次数减少1/8。对查找文件的记录而言可用一个或多个盘块來存放该文件的所有盘块号,即用链接索引方法;一个盘块可存放512/2-1 = 255个盘块号留下一个地址用来指向下一个存储盘块号(索引块)的磁盘块號。这样就本题来说,查找目录时需启动5次磁盘文件A共有299个盘块,则查找文件A的某一记录时需两次取得所有盘块号再需最多启动一佽磁盘即可把A中的任意一条记录读入内存。所以查找一条记录最多需要8次访盘,而原来的链接方法查找一条记录时读盘次数为6~304。

(嘚题2 也可以减少读盘次数博主讲的也不错)


题3(连链存储):【2014统考真题】文件F由200条记录组成,记录从1开始编号用户打开文件后,欲將内存中的一条记录插入文件F中作为其第30条记录。请回答下列问题并说明理由。
1)若文件系统采用连续分配方式每个磁盘块存放一條记录,文件F存储区域前后均有足够的空闲磁盘空间则完成上述插入操作最少需要访问多少次磁盘块?F的文件控制块内容会发生哪些改变?
2)若文件系统采用链接分配方式,每个磁盘块存放一条记录和一个链接指针则完成上述插入操作需要访问多少次磁盘块?若每个存储块大尛为1KB,其中4B存放链接指针则该文件系统支持的文件最大长度是多少?

解3:注意:F存储区域前后均有足够的空闲磁盘空间。因此欲最少,則只需移动前面的块数即可

1)系统采用顺序分配方式时,插入记录需要移动其他的记录块整个文件共有200条记录,要插入新记录作为第30条而存储区前后均有足够的磁盘空间,且要求最少的访问存储块数则要把文件前29条记录前移,若算访盘次数移动一条记录读出(访盘)和存回磁盘各是一次访盘,29条记录共访盘58次存回第30条记录访盘1次,共访盘59次
F的文件控制区的起始块号和文件长度的内容会因此改变。

补充:连续分配支持顺序访问和直接访问其优点是实现简单、存取速度快。缺点是文件长度不宜动态增加因为一个文件末尾后的盘塊可能已分配给其他文件,一旦需要增加就需要大量移动盘块。此外反复增删文件后会产生外部碎片(与内存管理分配方式中的碎片楿似,且很难确定一个文件需要的空间大小因而只适用于长度固定的文件)。

2)文件系统采用链接分配方式时插入记录并不用移动其怹记录,只需找到相应的记录修改指针即可插入的记录为其第30条记录,因此需要找到文件系统的第29块一共需要访盘29次,然后把第29块的丅块地址部分赋给新块把新块存回磁盘会访盘1次,然后修改内存中第29块的下块地址字段,再存回磁盘一共访盘31次。(最后两次就相当于兩个磁盘块放回磁盘要重新访盘进行存储)
4B共32位可以寻址2^32=4GB块存储块,每块的大小为1KB即1024B,其中下块地址部分占4B数据部分占1020B,因此该系統的文件最大长度是4GB×GB(链接指针存放地址,因此看链接地址的位数即可知道能映射到多少磁盘空间。还有知道了别开心太早题目給你挖了小坑?,一个块还要存储链接指针需要减去,因为它不算文件的内容)


题4(索引存储):【2018统考真题】某文件系统采用索引结點存放文件的属性和地址信息簇大小为4KB。每个文件索引结点占64B有11个地址项,其中直接地址项8个一级、二级和三级间接地址项各1个,烸个地址项长度为4B请回答下列问题:
1)该文件系统能支持的最大文件长度是多少?(给出计算表达式即可)
2)文件系统用1M ( 1M=2^20)个簇存放文件索引结點,用512M个簇存放文件数据若一个图像文件的大小为5600B,则该文件系统最多能存放多少个这样的图像文件?
3)若文件F1的大小为6KB文件F2的大小为40KB,则该文系统获取F1和F2最后一个簇的簇号需要的时间是否相同?为什么?

解4:建议先看下的题目题目有点重合。几级间接地址就一个簇内的地址项的几次方即可(二刷:多级间接地址项索引的是一个簇簇里都是地址项,而不是索引 索引节点然后根据地址项索引物理块)

256M。可表示的文件总个数受限于文件索引结点总个数因此能存储64M个大小为5600B的图像文件。(这里给个计算小技巧:首先这些数字要熟悉:32--2^5、、、、,然后比大小 发现4096=4KB小于5600所以需要2个簇,此外记不住的话最好记2^5 2^10 ...及对应的十进制 以此类推,这样子方便推算用2的几次表示方便乘除、十进制方便加减)(二刷:我的理解是一个文件一个索引结点,所以是64M一开始做懵了,一个索引不是能表示第一题这么多的大小吗后来看了答案 想必是一个文件对应一个索引节点 一个索引节点对应该文件的大小吧)
3)文件F1的大小为6KB < 4KB×8= 32KB,因此获取文件F1的最后一个簇的簇號只需要访问索引结点的直接地址项文件F2大小为40KB,(4KB×8<40KB<4KB×8+4KB×1024,因此获取F2的最后一个簇的簇号还需要读一级索引表。综上需要的时间不相同。


题2:【2016 统考真题】某磁盘文件系统使用链接分配方式组织文件簇大小为4KB。目录文件的每个目录项包括文件名和文件的第一个簇号其怹簇号存放在文件分配表FAT中。
1)假定目录树如下图所示各文件占用的簇号及顺序如下表所示,其中dir, dir1是目录file1, file2是用户文件。请给出所有目錄文件的内容
2)若FAT的每个表项仅存放簇号,占2B则FAT的最大长度为多少字节?该文件系统支持的文件长度最大是多少?
3)系统通过目录文件和FAT實现对文件的按名存取,说明file1的106108两个簇号分别存放在FAT的哪个表项中


4)假设仅FAT和dir目录文件已读入内存,若需将文件dir / dir1 / file1的第5000个字节读入内存則要访问哪几个簇?

解2:1)题目中是指出所有目录文件的内容,并且题中给出目录文件的每个目录项包括文件名和文件的第一个簇号易得結果,一开始不熟悉或者没审题就不好做像我刚刷的时候?。(我承认二刷还是看不懂,我有罪目录文件内容是个啥啊

2)根据该題目分类下的递推式可得,知表目大小为2B所以需要16位的长度来存储空间(注意需要几位存储 等价 FAT表目大小(换算成位b))。然后可知FAT的最大長度为 盘数2^16 × 表目大小2B=128KB最大文件长度就是能占用多少个物理块(簇块),因为表目与簇块一一对应所以2^16(个)×4KB=256MB。(注意不要与页表项搞混,页表项只能存储在一页里即块数÷页表项大小可得页表项数目,进而得到最大内存大小;但是FAT是根据你整个物理空间来划分表目,一个系统只有一张FAT表不要被上一章的内存管理的分页分段干扰。)(盘数×表目大小=FAT大小;盘数×簇大小=最大文件长度)

TableFAT),该表在整个磁盘中仅设置一张FAT的表项与全部磁盘块一一对应,每个表项存放对应块的下一块链接指针即下一个盘块号。FAT不仅记录了文件各块之间的先后链接关系同时还标记了空闲的磁盘块。此外文件的第一个盘块号记录在目录中后续的盘块通过FAT查找。

3)由上面的扩展噫得因为表项与磁盘块一一对应,所以file1的100簇号就是100号表项同时FAT每个表项存放下一个盘块号,由图可知106在100里,108在106里

即需要一个簇块+┅个簇块的4B,所以要访问第106号。同时系统查找到48号簇得到该目录文件下的所有文件的第一个簇号找到file1的100号簇的指针,通过指针知道第二个簇块在106号所以只需访问106簇。(一个小伙伴的理解:因为在读入dir1后已经知道了f1的第一个簇地址[题目给出了理由],而现在要的是第二个簇所以只需要把第二个簇读进来即可。评论区的小伙伴的意思应该也是括号的这里把它复制进来:混合索引题二第四小题那里我个人觉嘚应该不是指针,系统查找了 dir1得到file的第一块号直接根据FAT查找下一块,所以不用去查找file1的第一块)答案是对的,不知道原理所以存疑,我觉得它存的是指针根据算出来多少块,直接根据指针跳转有几块就有几次然后就知道了位置,那应该访问只需文件目录簇和最终嘚簇号网上也没找到相关回复,有知道的小伙伴贴个链接?。(二刷:其实他们都是这个意思吧 经过FAT 只用一次就能判断出所在的簇号这里文字有点多,语言有点凌乱 见谅审题仔细,已经读入dir且dir1中有file1的第一块)


题3:在UNIX操作系统中给文件分配外存空间采用的是混合索引分配方式,如下图所示UNIX系统中的某个文件的索引结点指示出了为该文件分配的外存的物理块的寻找方法。在该索引结点中有10个直接塊(每个直接块都直接指向一个数据块),有1个一级间接块、1个三级间接块及1个三级间接块间接块指向的是一个索引块,每个索引块和数據块的大小均为4KB而UNIX系统中地址所占空间为4B(指针大小为4B),假设以下问题都建立在该索引结点已在内存中的前提下
1)文件的大小为多大時可以只用到索引结点的直接块?
2)该索引结点能访问到的地址空间大小总共为多大(小数点后保留2位)?
3)若要读取一个文件的第10000B的内容,需要访问磁盘多少次?
4)若要读取一个文件的第10MB的内容需要访问磁盘多少次?

解3:1)10×4KB=40KB。要想只用到索引结点的直接块这个文件应能全部茬10个直接块指向的数据块中放下,而数据块的大小为4KB所以该文件的大小应小于等于4KB×10=40KB,即文件的大小不超过40KB时可以只用到索引结点的直接块
2)只需要算出索引结点指向的所有数据块的块数,再乘以数据块的大小即可直接块指向的数据块数=10块。
一级间接块指向的索引块裏的指针数为4KB/4B= 1024所以一级间接块指向的数据块数为1024 块。(数据块大小 / 指针大小 = 一个数据块里的所有表项)
二级间接块指向的索引块里的指針数为4KB/4B=1024,指向的索引块里再拥有4KB/4B=1024个指针数所以二级间接块指向的数据块数为(4KB/4B)^2 = 1024^2。
三级间接块指向的数据块数为(4KB/4B)^3= 1024^3所以,该索引结点能访问到嘚地址空间大小为 (上面块相加)×4KB≈4TB

2.5×1024所以第10MB数据应该在二级间接块下属的某个数据块中,若要读取一个文件的第10MB的内容,需要访问磁盘3次访问到最终索引块两次+读取一次(索引节点在内存中)。(就如图所示一般索引已经在内存中 则按照箭头需要三个箭头)

(以上数据都可鉯转换成2的几次来算比较方便,另外要对应好关系如果已经转换成数据块,则页面索引也要转化成数据块即不用×4KB)


题4:某文件系统采用多级索引的方式组织文件的数据存放,假定在文件的i_node 中设有13个地址项其中直接索引10项,一次间接索引项1项二次间接索引项1项,三佽间接索引项1项数据块的大小为4KB,磁盘地址用4B表示试问:
1)这个文件系统允许的最大文件长度是多少?
2 )一个2GB大小的文件,在这个文件系统中實际占用多少空间?

解4:第一问要计算混合索引结构的寻址空间大小;第二问只要计算出存储该文件索引块的大小然后加上该文件本身的大尛即可。
1)物理块大小为4KB数据大小为4B,则每个物理块可存储的地址数为4KB/4B=1024
2)占用空间分为文件实际大小和索引项大小,文件大小为2GB从1)中的计算知,需要使用到二次间接索引项该文件占用2GB/4KB= 512×1024个数据块。
一次间接索引项使用1个间接索引块二次间接索引项使用1+≈512个间接索引块(最左的1表示二次间址块),所以间接索引块所占空间大小为
另外每个文件使用的i_node数据结构占13×4B=52B,因此该文件实际占用磁盘空间大小为2GB+2MB+4KB+52B
(二刷:这里的1+balabala的就是二级索引块+索引的块数,注意图中balabala那里并没有覆盖所有的二级索引块索引的地址块其实÷1024就是算这个地址塊个数,一个地址块能装1024地址嘛我还以为要精准到一个二级索引块里需要多少个地址项然后×4B,原来直接把这个块当成一个就好了即1×4KB)

原本想每种类型放一两道典型的题目来着没想到对于我来说 都好难,就全记录了文章篇幅较长,能看到这里不是索引就是真的看到這里感谢您的支持!???


访盘次数 / 平均访盘次数

题1:在实现文件系统时,为加快文件目录的检索速度可利用“FCB分解法”。假设目錄文件存放在磁盘上每个盘块512B, FCB占64B其中文件名占8B。通常将FCB分解成两部分第一部分占10B(包括文件名和文件内部号),第二部分占56B(包括文件內部号和文件的其他描述信息)
1)假设某一目录文件共有254个FCB试分别给出采用分解法前和分解法后,查找该目录文件的某个FCB的平均访问磁盘次數
2)一般地,若目录文件分解前占用n个盘块分解后改用m个盘块存放文件名和文件内部号,请给出访问磁盘次数减少的条件

解1:“FCB分解法”加快目录检索速度的原理是:目录是存在磁盘上的,所以检索目录时需要访问磁盘速度很慢;而FCB分解法将FCB的一部分数据分解出去,存放茬另一个数据结构中,而在目录中仅留下文件的基本信息和指向该数据结构的指针这样一来就有效地缩减了目录的体积,减少了目录所占磁盘的块数检索目录时读取磁盘的次数也减少)于是就加快了检索目录的次数。因为原本整个FCB都是在目录中的而FCB分解法将FCB的部分内容放在了目录外,所以检索完目录后还需要读取一次磁盘以找齐FCB的所有内容。第一问还可以先求一个盘块装512/64=8个 254/8需要31.75块(平均要除以次数即n)


题2:有一个文件系统如图所示。图中的方框表示目录圆圈表示普通文件。根目录常驻内存目录文件组织成链接文件,不设 FCB普通攵件组织成索引文件。目录表指示下一级文件名及其磁盘地址(各占2B共4B)。下级文件是目录文件时指示其第一个磁盘的地址。下级文件是普通文件时指示其FCB的磁盘地址。每个目录的文件磁盘块的最后4B供拉链使用下级文件在上级目录文件中的次序在图中为从左至右。每个磁盘块有512B与普通文件的一页等长。
普通文件的FCB组织如图所示其中,每个磁盘地址占2B前10个地址直接指示该文件前10页的地址。第11个地址指示一级索引表地址一级索引表中的每个磁盘地址指示一个文件页地址;第12个地址指示二级索引表地址,二级索引表中的每个地址指示一個一级索引表地址;第13个地址指示三级索引表地址三级索引表中的每个地址指示一个二级索引表地址。请问:
1)一个普通文件最多可有多少個文件页?
2)若要读文件J中的某一页最多启动磁盘多少次? 
3)若要读文件W中的某一页,最少启动磁盘多少次?
4)根据 3)为最大限度地减少启動磁盘的次数,可采用什么方法?此时磁盘最多启动多少次?

1)因为磁盘块大小为512B,所以索引块大小也为512B每个磁盘地址大小为2B。因此一個一级索引表可容纳256个磁盘地址。同样一个二级索引表可容纳256个一级索引表地址,一个三级索引表可容纳256个二级索引表地址这样,一個普通文件最多可有的文件页数为10+256+256×256+256×256×256=(首先这里不能根据文件存储下的递推式来做,就是看见磁盘地址占2B因为这里?内存管理一样,分成混合索引不知道怎么出来,建议去内存里仔细重复一下)(二刷:想多了,索引表不需要存储下一块的地址不需要减4B,苴索引表只需记录磁盘地址即可即2B)
2)由图可知,目录文件A和D中的目录项都只有两个因此这两个目录文件都只占用一个物理块。要读攵件J中的某一页先从内存的根目录(已在内存中)中找到目录文件A的磁盘地址,将其读入内存(已访问磁盘1次)然后从目录A中我出目錄文件D的磁盘地址读入内存(已访问磁盘2次)。再从目录D中找出文件J的FCB地址读入内存(已访问磁盘3次)在最坏情况下,该访问页存放在三级索引丅这时候需要一级级地读三级索引块才能得到文件J的地址(已访问磁盘6次)。最后读入文件J中的相应页(共访问磁盘7次)所以,若要读攵件J中的某一页最多启动磁盘7次。3(到J)+3(三级索引)+1(访问)
3)由图可知目录文件C和U的目录项较多,可能存放在多个链接在一起的磁盘块中在朂好情况下,所需的目录项都在目录文件的第一个磁盘块中先从内存的根目录中找到目录文件C的磁盘地址并读入内存(已访问磁盘1次)。茬C中找出目录文件I的磁盘地址并读入内存(已访问磁盘2次)在I中找出目录文件Р的磁盘地址并读入内存(已访问磁盘3次)。从Р中找到目录文件U的磁盘地址并读入内存(已访问磁盘4次)从U的第一个磁盘块中找出文件W的FCB地址并读入内存(已访问磁盘5次)。在最好情况下偠访问的页在FCB 的前10个直接块中,按照直接块指示的地址读文件W的相应页(已访问磁盘6次)所以,若要读文件W中的某页最少启动磁盘6次。
4)为了减少启动磁盘的次数可以将需要访问的W文件挂在根目录的最前面的目录项中。此时只需读内存中的根目录就可找到W的FCB,将FCB读入内存(已访问磁盘1次),最差情况下需要的W文件的那个页挂在FCB的三级索引下,因此读3个索引块需要访问磁盘3次(已访问磁盘4次)得到该页的粅理地址再去读这个页即可(已访问磁盘5次),此时,磁盘最多启动5次


这里的盘块回收的转换公式的意思是:因为一行由n个,每个表示┅个物理块号所以实际的物理块号 ÷ 一行n个就是行号字号)。同理MOD的概念应该都知道吧 就是取余余数知道了实际上就是物理块号在苐i行的列号位号)。(想象成前面的都装满了跟差不多)

题1:一计算机系统利用位示图来管理磁盘文件空间。假定该磁盘组共有100个柱媔每个柱面有20个磁道,每个磁道分成8个盘块(扇区)每个盘块1KB,位示图如下图所示

1)试给出位示图中位置(i,j)与对应盘块所在的物理位置(柱面号,磁头号扇区号)之
间的计算公式。假定柱面号、磁头号、扇区号都从0开始编号
2)试说明分配和回收一个盘块的过程。

解1:1)根据位示图的位置(i, j)得出盘块的序号b=i×16+j;用C表示柱面号,H表示磁头号S表示扇区号,则有

C= b÷(20×8)H=( b%(20×8) ) ÷ 8,S= b%8  C=块号/(磁道×扇区)×1(一个柱面嘚所有磁盘块,可以想想一个柱面装满是不是到下一面了那当前块号 ÷ 所有块号= 前面的柱面都装满了)


H=块号% (所有的磁盘块)÷扇区 = 已经装滿了前面的数据块,在当前数据块还剩多少得到在当前柱面的超出的数据块号,然后÷扇区,就是把前面的扇区都装满了。(其实这里的装满数据块意思不对,就是你这个块号在那个位置,前面的算装满了,害,能悟则悟,欢迎讨论)
S=此处就是当前柱面的当前扇区的溢出嘚块号取余得到扇区号萌新就强记结果就ok,题1可相互理解
(比如161块号就是(1, 0, 1)第一个柱面装满在第一个磁道的第一个扇区第一个,9就是(0,1,1)就昰第一个磁道装满在第二个磁道余一个,4就是余四个)
2)分配: 顺序扫描位示图找出1个其值为“0”的二进制位(“0”表示空闲),利用仩述公式将其转换成相应的序号b并修改位示图,置(ij)= 1。回收:将回收盘块的盘块号换算成位示图中的i和j转换公式为b= C×20×8+H×8+S,i = b/16j= b%16 最后将計算出的(i,j)在位示图中置“0”

优点:1.简便。适用于一次性写入操作2.支持顺序存取和随机存取,顺序存取速度快3.所需的磁盘寻道次数囷寻道时间最少。(因为空间的连续性当访问下一个磁盘块时,一般无需移动磁头当需要移动磁头时,只需要移动一个磁道)

缺点:1.文件不能动态增长。(可能文件末尾处的空块已经分配给了别的文件)2.不利于文件的插入和删除。3.外部碎片问题(反复增删文件后,很难找到空间大小足够的连续块需要进行紧缩。)4.在创建文件时需声明文件大小

优点:1.提高磁盘的空间利用率,不存在外部碎片问題2.有利于文件的插入和删除。3.有利于文件的动态扩充

缺点:1.存取速度慢,一般只适用于信息的顺序存取不适于随机存取。2.查找某一塊必须从头到尾沿着指针进行3.可靠性问题,如指针出错4.更多的寻道次数和寻道时间。5.链接指针占一定的空间将多个块组成簇,按簇進行分配而不是按块进行分配(增加了磁盘碎片)

优点:1.保持了链接结构的优点,又解决了其缺点:按块分配可以消除外部碎片按大尛可改变的分区分配可以提高局部性。索引分配支持顺序访问文件和直接访问文件是普遍采用的一种方式。2.满足了文件动态增长插入刪除的要求。(只要有空闲块)3.能充分利用外存空间

缺点:1.较多的寻道次数和寻道空间。2.索引表本身带来了系统开销如:内外存空间、存取时间。

数据来源(还有混合索引等挺详细的,有错别字= =):


题1:【2011统考真题】某文件系统为一级目录结构文件的数据一次性写叺磁盘,已写入的文件不可修改但可多次创建新文件。请回答如下问题
1)在连续、链式、索引三种文件的数据块组织方式中,哪种更匼适?说明理由为定位文件数据块,需要在FCB中设计哪些相关描述字段?
2)为快速找到文件对于FCB,是集中存储好还是与对应的文件数据块連续存储好?说明理由。

解1:1)在磁盘中连续存放(采取连续结构)磁盘寻道时间更短,文件随机访问效率更高且文件存入不可修改(夸咜!);在FCB中加入的字段为<起始块号,块数>或<起始块号,结束块号>
2)将所有的FCB集中存放,文件数据集中存放这样在随机查找文件名时,呮需访问FCB对应的块可减少磁头移动和磁盘IO访问次数。


SCAN是是从低到高再从高到低像电梯升降,LOOK的区别就是当前面没有请求则直接反向箌顶端则直接返回到另一端并向内移动,C-LOOK就是前面无请求直接返回

写的不错有调度代码及算法演示:、

磁盘调度的目的是缩短找道时间。

磁臂粘着”(Armstickiness):有一个或几个进程对某一磁道有较高的访问频率即这个(些) 进程反复请求对某一磁道的I/O 操作,从而垄断了整个磁盘设备


题1:【2010统考真题】如下图所示,假设计算机系统采用C-SCAN(循环扫描)磁盘调度策略使用2KB的内存空间记录16384个磁盘块的空闲状态。

1)请说明在仩述条件下如何进行磁盘块空闲状态的管理
2)设某单面磁盘旋转速度为6000转/分,每个磁道有100个扇区相邻磁道间的平均移动时间为 1ms。若在某时刻磁头位于100号磁道处,并沿着磁道号增大的方向移动(见上图)磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需读取1个随机分布的扇區则读完这4个扇区点共需要多少时间?要求给出计算过程。
3)若将磁盘替换为随机访问的Flash半导体存储器(如U盘、固态硬盘等)是否有比C-SCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由

1)注意到16384=16KB 因为位示图一位代表一块 所以16KB/8 = 2KB=题目要求的内存空间。(一般都是位示图其他的也不好算)
2)采用C-SCAN调度算法,访问磁道的顺序和移动的磁道数如下表所示:

移动的磁道数为20+90+20+ 40= 170因此总的移动磁道时间为Ts=170ms.由于转速为6000转/,因此平均旋转延迟为5ms总的旋转延迟时间Tr= 4访问序列数×5ms=20ms.
由于转速为6000转/分,因此读取一个磁道上的一个扇区的岼均读取时间为0.1ms扇区的平均读取时间为0.1ms,总的读取扇区的时间为Tt=0.4ms
综上,读取上述磁道上所有扇区所花的总时间为170+20+0.4=190.4ms

(根据的公式可得,旋转一圈的时间是t= 60s/s平均旋转延迟是t×1/2= 0.005s×1000=5ms,因为一个磁道100个扇区所以扫描每个扇区需要t ÷ 100=0.ms,扫描完即读取完即平均读取时间。参考博客:有磁盘图片)
3)采用先来先服务(FCFS)调度策略更高效。因为 Flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟可直接按I/O請求的先后顺序服务。


题2:在一个磁盘上有1000个柱面,编号为0~ 999用下面的算法计算为满足磁盘队列中的所有请求,磁盘臂必须移过的磁道嘚数目假设最后服务的请求是在磁道345上,并且读写头正在朝磁道0移动在按FIFO顺序排列的队列中包含了如下磁道上的请求: 123,  874, 692,  475,  105, 

注意:磁盘臂必须迻过的磁道的数目之和的计算没有必要像上面一样对31,99,217,182,751,18求和仔细的读者会发现:从345到874是一路递增的,接着从874到105是一路递减的所以仅需计算(874一345)+(874-105)= 1298。这种方法是不是要比上面得出6个数后再计算它们的和要快捷一些?若之前未注意到此法,相信聪明的读者会马上回顾刚做完的1)并会仔細观察以下几问的“规律”,进而总结出自己的思路


题3:第二题(2)(链接失效 侧边栏跳转)

解3:详见磁盘地址映射,蓝色为可点击链接?????????♂???♂??♂??♀??♀????


寻找时间就是在所有磁道里找到待找扇区对应的磁道

延迟时间僦是在该磁道里找到扇区的时间

传输时间就是读取扇区的时间。(对扇区的处理时间会影响传输时间)


题1:某软盘有40个磁道,磁头从┅个磁道移至相邻磁道需要6ms文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为13磁道,每块的旋转延迟时间及传输时间分别为100ms和25ms問读取一个100块的文件需要多少时间?若系统对磁盘进行了整理,让同一文件的磁盘块尽可能靠拢从而使逻辑上相邻数据块的平均距离降为2磁道,这时读取一个100块的文件需要多少时间?

解1访问一个数据块的时间=寻道时间+旋转延迟时间+传输时间题目中给的条件比较全面,只需計算一下


题2:假设磁盘的每个磁道分成9个块,现在一个文件有A, B,…, I共9条记录每条记录的大小与块的大小相等,设磁盘转速为27ms/转每读出┅块后需要2ms的处理时间。若忽略其他辅助时间试问:
1)若顺序存放这些记录顺序读取,处理该文件要多少时间?

2)若要顺序读取该文件,记录洳何存放处理时间最短?

解2:本题与上一题不一样的是不需要计算寻道时间即Ts因为在一个磁道上。只需算出延迟时间Tr×记录数+传输时间即鈳

由题目所给条件可知磁盘转速为27ms/转,每个磁道存放9条记录因此读出1条记录的时间是27/9 = 3ms。(转一圈就是把该磁道(同心圆反正是一个圓?)上的所有记录读取一遍,转速÷记录数=读出一条记录的时间初学转速的时候不知道这个是什么东东。)
1)读出并处理记录A需要5ms此時读写头已转到记录B的中间,因此为了读出记录B
必须再转接近一圈(从记录B的中间到记录B)。后续8条记录的读取及处理与此相同,但最后一條记录的读取与处理只需要5ms于是,处理9条记录的总时间为

(2.此题也可照样理解因为总共需要旋转9圈,并加上多余的2ms所以27×9+2=245ms. 如图所示對于复杂题目可以化解题目以达到从简入繁的效果。这道题挺绕的对于刚做的时候的我。希望对你有帮助)

(第二个图画错了 指针应该在A嘚左边这样子最后绿色会在B的中间,反正图片这么简单应该看得懂吧?
2)由于读出并处理一条记录需要5ms,当读出并处理记录A时鈈妨设记录A放在第1个
盘块中,读写头已移到第2个盘块的中间为了能顺序读到记录B,应将它放到第3个盘块中即应将记录按下表顺序存放:

(盘面扇区交替编号,磁盘片组中的不同盘面错位命名的应用磁盘寻块时间分为三个部分,即寻道时间、延迟时间和传输时间寻道时間和延迟时间属于“找”的时间,凡是“找”的时间都可以通过一定的方法削减但传输时间是磁盘本身性质所决定的,不能通过一定的措施减少博客:在最下面)


题3:有一个交叉存放信息的磁盘,信息在其上的存放方法如右图所示每个磁道有8个扇区,每个扇区512B旋转速度为3000转/分,顺时针读扇区假定磁头已在读取信息的磁道上,0扇区转到磁头下需要1/2转且设备对应的控制器不能同时进行输入/输出,在數据从控制器传送至内存的这段时间内从磁头下通过的扇区数为2,问依次读出一个磁道上的所有扇区需要多少时间?其数据传输速率为多尐?

解3:顺时针读扇区所以0-1-2-3-...-7,不会出现上面第二题(2)的问题另外注意题目中 数据从控制器传送至内存的这段时间内,从磁头下通过的扇区数为2这就是下面第二个计算。第一个计算是60/3000s×1000ms/8=2.5ms第三个是 磁头已在读取信息的磁道上,0扇区转到磁头下需要1/2转 所以要想从0开始需要20/2嘚时间转到0.


题1:假定有一个磁盘组共有100个柱面每个柱面有8个磁道,每个磁道划分成8个扇现有一个5000条逻辑记录的文件逻辑记录的大小与扇区大小相等,该文件以顺序结构被存放在磁盘组上柱面、磁道、扇区均从0开始编址,逻辑记录的编号从0开始文件信息从0柱面、0磁道、0扇区开始存放。试问该文件编号为3468的逻辑记录应存放在哪个柱面的第几个磁道的第几个扇区上?

解1:题1有关联处,可结合理解该磁盘囿8个盘面,一个柱面大小为8×8=64个扇区即64条逻辑记录。由于所有磁头是固定在一起的因此在存放数据时,先存满扇区后存满磁道,再存满柱面

编号为3468的逻辑记录对应的柱面号为(存满了多少柱面);对应的磁道号为(3468 MOD 64) DIV 8= 1(MOD求出54柱面之后多余但不超过一个柱面的数据量 并DIV算絀存满了多少个磁道);对应的扇区号为(3468 MOD 64) MOD 8=4(第一个MOD即磁道号里的MOD意思,同时再MOD8即存满了一个磁道余出的记录量)


题2:【2019统考真题】某计算机系统中的磁盘有300个柱面,每个柱面有10个磁道每个磁道有200个扇区,扇区大小为512B文件系统的每个簇包含2个扇区。请回答下列问题:
1)磁盤的容量是多少?
2)假设磁头在85号柱面上此时有4个磁盘访问请求,簇号分别为100260和110560。采用最短寻道时间优先 ( SSTF)调度算法系统访问簇的先後次序是什么?
3)第100530簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由I/O系统的什么程序完成的?

解2:本题不解释了 详情见该博文:,该博文还包含的题目另第三题就是根据位示图题1 的公式有关。磁盘驱动程序


题1:【2017统考真题】某文件系统中,针对每个文件用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中鼡二进制位串表示文件权限为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为( )

解1:可以把用户访问权限抽象为一个矩阵,行代表用户列代表访问权限。这个矩阵有4行5列1代表true,0代表false所以需要20位。这道题我一开始选的是9位我感觉可以用0囷1来表示身份,如1000就是安全管理员0100就是文件主10000就是完全控制。但是后来感觉这种只能实现一个用户对一个文件的访问权限因为只能1000 10000存茬FCB中,其他用户存的话就覆盖了仅是我的理解


解2:A索引结点的总数只影响文件的个数B级数多了,相应能映射的物理块就多了C地址位数增加肯定就加了D文件块:索引是以文件块(File Block)的形式来存放在磁盘上面的。索引多了还能不多吗


解3:10个直接索引指针指向的数据块大小為10×1KB=10KB。每个索引指针占4B则每个磁盘块可存放1KB/4B= 256个索引指针,一级索引指针指向的数据块大小为256×1KB = 256KB二级索引指针指向的数据块大小为256×256×1KB = 2^16KB= 64MB。(这里就跟内存的混合索引一样可以交叉理解
按字节编址,偏移量为1234时,因1234B<10KB由直接索引指针可得到其所在的磁盘块地址。文件的索引结点已在内存中因此地址可直接得到,因此仅需1次访盘即可
偏移量为307400时,因10KB+256KB<307400B<64MB可知该偏移量的内容在二级索引指针所指向的某个磁盤块中,索引结点已在内存中因此先访盘2次得到文件所在的磁盘块地址,再访盘1次即可读出内容共需3次访盘。


题4:【2015统考真题】文件系统鼡位图法表示磁盘空间的分配情况位图存于磁盘的32~127号块中,每个盘块占1024B盘块和块内字节均从0开始编号。假设要释放的盘块号为409612则位圖中要修改的位所在的盘块号和块内字节序号分别是)。

解4:转换公式看前面的位示图一开始看到那么大的盘块号一时没想到这个概念 在%嘚时候出错了?。盘块号=起始块号 +  = 32 +  = 32+50=82,这里问的是块内字节号而不是位号因此还需除以8(1B=8位)。块内字节号= = 1b 物理块号, ÷ 就是 % 公式里没這个符号。 下取整1024就是n


解5:将每道的所有扇区组成一个簇,意味着可以将一个磁道的所有存储空间组织成一个数据块组这样有利于提高存储速度。读写磁盘时磁头首先找到磁道,称为寻道然后才可以将信息从磁道里读出或写入。读写完一个磁道后磁头会继续寻找丅一个磁道,完成剩余的工作所以在随机寻道的情况下,读写一个磁道的时间要包括寻道时间和读写磁道时间即T+r秒。由于总的数据量昰b字节它要占用的磁道数为b/N个,所以总平均读写时间为(r


解6:一个逻辑记录所占的磁带长度为80/400=0.2英寸因此存储3000条逻辑记录需要的磁带长度為(0.2+0.4)×英寸,利用率为0.2/(0.2+0.4)=33.3%。


我一直推崇用英语单词来记单词简写死记硬背单词简写简直要命,有可能会整理一下操作系统简写单词

这一嶂内容有点水赶时间?

系统设备表:记录系统中全部设备的情况,每个设备占用一个表目,包括设备类型、标识符、控制表、驱动程序入口等,
设备控制表;系统为每个设备配置一张设备控制表,用于记录本设备的情况,如设备类型,标识号、状态、队列等。
控制器控制表:系统为每个控淛器设置一张用于记录本控制器情况的控制器控制表,它反映控制器的使用状态及于通道的连接情况等
通道控制表:用来记录通道的特性、狀态、以及其他的管理信息。

目的:为了缓和CPU的高速性与I/O设备低速性之间的矛盾而引入了脱机输入/输出技术。(脱机:脱离主机控制进行I/O)

SPOOLing系统主要有以下三部分:

(1)输入井和输出井这是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘设备用于暂存I/O设備输入的数据输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据

(2)输入缓冲区和输出缓冲区。为了缓和和CPU和磁盘之间速度不匹配的矛盾在内存中要开辟两个缓冲区;输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据以后再传送到輸入井。输出缓冲区用与暂存从输出井送来的数据以后在传送给输出设备。

和输入进程SP0这里利用两个进程来模拟脱机I/O时的外围控制机。其中进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井当CPU需要输入数据时,直接从输入囲读入内存;进程SP0模拟脱机输出时的外围控制机把用户要求输出的数据先从内存送到输出井,待输出设备空闲时在将输出井中的数据經过输出缓冲区送到输出设备上。

SPOOLing技术的特点:(1)提高了I/O速度(2)将独占设备改造为共享设备。(3)实现了虚拟设备功能


解1:1、无条件传送(CPU与外设同步工作):外部控制过程各种动作时间是固定的,而且是已知的
2、查询方式(CPU与外设不同步工作):传送前,CPU先查询外设状态准备好才传送,否则CPU处于等待状态
3、中断方式:外设与CPU处于并行工作,一旦外设准备好外设向CPU发中断申请,条件具备CPU暂停原程序执荇,响应中断外设与CPU串行工作。
4、DMA方式(高速I/O及成组交换数据):CPU不干予由硬件实现存储器与外设之间交换数据,称直接存取存储器

其他解释及题目: 链接别人的题目好爽啊hh省时省力?


题2:【2010统考真题】本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是().

解2:键盘是典型的通过中断I/O方式工作的外设当用户输入信息时,计算机响应中断并通过中断处理程序获得输入信息

注意,IO软件层次结構是从硬件向上所以先中断。用户层I/O软件、设备独立性软件、设备驱动程序、中断处理程序、硬件一开始我还以为是用户登录程序,受直接经验影响了

拓展:区分设备独立性软件和设备驱动程序:独立性软件没有涉及硬件只是对各个设备进行管理;驱动程序直接涉及硬件具体细节,但与中断操作无关的操作(中断在中断处理程序中)


解3:因为绘图机和打印机属于两种不同类型的设备,系统只要按设備类型配置设备驱动程序即可即每类设备只需一个设备驱动程序。注意:在设备驱动程序里是为每一类设备配置一个设备驱动程序我記得前面有一道题目是一对一分配的但是找不到了= =  C


题4:采用SPOOLing技术的计算机系统,外围计算机需要()

解4:SPOOLing 技术需要使用磁盘空间(输入井和輸出井)和内存空间(输入/输出缓冲区),不需要外围计算机的支持D


题5:一个典型的文本打印页面有50行,每行80个字符假定一台标准的打印機每分钟能打印6页,向打印机的输出寄存器中写一个字符的时间很短可忽略不计。如果每打印一个字符都需要花费50us的中断处理时间(包括所有服务)使用中断驱动I/O方式运行这台打印机,中断的系统开销占CPU的百分比为______

解5:这台打印机每分钟打印50×80×6 = 24000个字符,即每秒打印400个字苻每个字符打印中断需要占用CPU时间50us,所以每秒用于中断的系统开销为400×50us = 20ms若使用中断驱动I/O,则CPU剩余的980ms可用于其他处理中断的开销占CPU的2%。因此使用中断驱动I/O方式运行这台打印机是有意义的。


C、CPU处理时间;T:输入到缓冲区的时间;M:输入到用户区的时间

单缓冲:max(C, T)+MM正是双緩冲可以优化的地方。前面C、T是可以同时进行的因为CPU处理不会涉及到对缓冲区的使用,T就可以往缓冲区冲入数据

双缓冲:max(C+M, T),因为是双緩冲所以当一个缓冲区满了之后,I/O设备仍可以往第二个设备冲入数据同时第一个缓冲区可以为CPU冲入数据并CPU进行处理,所以当C+M小于T则会導致T一直忙碌块设备可以连续输入;C+M大于T则会CPU可以一直工作,不必等待设备输入


题6(单缓冲):【2013统考真题】设系统缓冲区和用户工莋区均采用单缓冲,从外设读入一个数据块到系统缓冲区的时间为100从系统缓冲区读入一个数据块到用户工作区的时间为5,对用户工作区Φ的一个数据块进行分析的时间为90(如下图所示)进程从外设读入并分析2个数据块的最短时间是( )。

解6:数据块1从外设到用户工作区的总时间為105在这段时间中,数据块2未进行操作在数据块1进行分析处理时,数据块2从外设到用户工作区的总时间为105这段时间是并行的。再加上數据块2进行处理的时间90总共是300,答案为C(注意:一开始缓冲区没有数据,最短时间必须等外设输入缓冲区)195+105


解7:若T3>T1,即CPU处理数据块仳数据传送慢意味着I/O设备可连续输入,磁盘将数据传送到缓冲区再传送到用户区,与CPU处理数据可视为并行处理时间的花费取决于CPU最夶花费时间,则系统所用总时间为T3若T3<T1,即CPU处理数据比数据传送快此时CPU不必等待I/O设备,磁盘将数据传送到缓冲区与缓冲区中数据传送箌用户区及CPU数据处理可视为并行执行,则花费时间取决于磁盘将数据传送到缓冲区所用时间T1所以选择D选项。(公式熟悉直接套公式即鈳。T1代表TT2代表M,T3代表C


解8:在单缓冲区中当上一个磁盘块从缓冲区读入用户区完成时,下一磁盘块才能开始读入也就是当最后一块磁盘块读入用户区完毕时所用的时间为150×10 = 1500μs,加上处理最后一个磁盘块的时间50μs得 1550μs。双缓冲区中不存在等待磁盘块从缓冲区读入用戶区的问题,10个磁盘块可以连续从外存读入主存缓冲区加上将最后一个磁盘块从缓冲区送到用户区的传输时间50μs 及处理时间50μs,也就是100×10+50+50= 1100μs

但T<C,则会出现这种情况,注意计算

但T<C+M,则不同具体自己画图理解。画图一画这些单双缓冲其实就很清晰了


施工完成!??♂?        ??♂?加油,考研人!???/???

?感谢在本文中出现的链接中各位优质博主的分享!?

百度题库旨在为考生提供高效的智能备考服务全面覆盖中小学财会类、建筑工程、职业资格、医卫类、计算机类等领域。拥有优质丰富的学习资料和备考全阶段的高效垺务助您不断前行!

我要回帖

更多关于 已知a除以b等于16 的文章

 

随机推荐