磁盘存储器管理--习题分析复习过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
磁盘存储器管理--习
题分析
1、系统中磁头停留在磁道号为100的磁道上,这时先后有4个进程提出了磁盘访问请求,要访问磁盘的磁道号按申请到达的先后顺序依次为:55、120、39、110。
移动臂的运动方向:沿磁道号递减的方向移动。
若分别采用FCFS磁盘调度算法、SSTF算法、SCAN算法时,所需寻道长度分别为多少?
FCFS算法:100-55+ 120-55+ 120-39+ 110-39 = 262
SSTF算法:110-100 +120-110 + 120-55 + 55-39 = 101
SCAN算法: 100-55+ 55-39 +110-39 + 120-110 = 142
2、假设磁盘有200个磁道,磁盘请求队列中是一些随机请求,它们照到达的次序分别处于55、58、39、18、90、160、150、38、184号磁道上,当前磁头在100号磁道上,并向磁道号增加的方向上移动。
请给出按FCFS、SSTF、SCAN及CSCAN算法进行磁
1、在FAT16文件系统中,且每个盘块的大小是512字节,
1)如果每个簇可以有4个盘块,可以管理的最大分区空间是多少?
2)如果每个簇可以有64个盘块,可以管理的最大分区空间又是多少?
答: 1)216 * 4 * 512 = 128M
2)216 * 64 * 512 = 2G
2、某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘块空间,试问:
1)位示图需要多少个字?
2)如果b(盘块号), i, j从1开始计数,第i字第j位对应的块号是多少?
3)如果b(盘块号), i, j 从0开始计数,第i字第j位对应的块号是多少?
答:
1)[500/32] =16
2) b = 32* (i-1) +j
3)b= 32*i+j
3、有3200个磁盘块可用来存储信息,如果用字长为16位的字来构造位示图,若位示图部分内容如图所示。
1)位示图共需多少个字?
2)若某文件长度为3200B,每个盘块为512个字节,采用链接结构且盘块从1开始计
数,系统将为其分配哪些磁盘块?
3)试具体说明分配过程。
4)若要释放磁盘的第300块,应如何处理?
1)3200/16=200
2)3200/512 =7 ; 20、24、25、26、27、37和38
3)顺序检索位示图,从中找到第一个值为0的二进制位,得到行号i=2,列号j=4 ;计算出找到的第一个盘块是 B1 = (2-1)*16+4=20
第二个值为0的二进制位,得到行号i=2,列号j=8. ;计算出找到的第一个盘块是B2=(2-1)*16+8=24
………….
修改位示图,令Map[2,4]=Map[2,8] = …..=1,并将对应块20、24……. 分配出去。
4)计算出磁盘第300块所对应的二进制位的行号i和列号j :
i = (300-1)/16 + 1 = 19 j = (300-1)MOD16 + 1= 12 修改位示图,令
Map[19,12]=0,表示对应块为空闲块。
4、有一计算机系统利用下图所示的位示图(行号、列号都从0开始编号)来管理空闲盘块。
如果盘块从1开始编号,每个盘块的大小为1KB。
(1)现要为文件分配两个盘块,试具体说明分配过程。
(2)若要释放磁盘的第300块,应如何处理?
(编号从0开始)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
答:(1)为某文件分配两个盘块的过程如下:
①顺序检索位示图,从中找到第一个值为0的二进制位,得到其行号il=2,列号
jl=2。
第二个值为0的二进制位,得到其行号i2=3,列号j2=6。
②计算出找到的两个空闲块的盘块号分别为:
b1=i1×16+j1+1=2×16+2+1=35
b2=i2×16+j2+1=3×16+6+1=55
③修改位示图,令map[2,2]=map[3,6]=1,并将对应块35、55分配出去。
(2)释放磁盘的第300块时,应进行如下处理:
①计算出磁盘第300块所对应的二进制位的行号i和列号j:
i=(300-1)/16=18,j =(300-1)%16=11
②修改位示图,令map[18,11]=0,表示对应块为空闲块。
1、存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9 个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。
如果每个盘块的大小为4KB,若盘块号需要用4个字节来描述,请问系统中允许文件的最大长度是多少?
直接地址: 10 * 4KB +
一次间接地址:(4KB/4B)* 4KB +
二次间接地址:(4KB/4B)* (4KB/4B) * 4KB +
三次间接地址:(4KB/4B)* (4KB/4B) * (4KB/4B) * 4KB
= 40KB+4MB+4GB+4TB
2、设有一分页存储管理系统,向用户提供的逻辑地址空间最大为16页,每页4096字节,
①试问逻辑地址至少应为多少位?
每页4096B,所以页内位移部分地址需要占12个二进制位,
逻辑地址空间最大为16页,所以页号部分地址需要占4个二进制位。
故逻辑地址至少应为16位。
3、在两级索引分配方式下,如果每个盘块的大小为4KB,每个盘块号占4个字节,
①所允许的文件最大长度是多少?
(4KB/4B) * (4KB/4B) * 4KB = 4GB
4、请分别解释在连续分配方式、隐式链接分配方式、显式链接分配方式和索引分配方式中如何将文件的字节偏移量3500转换为物理块号和块内位移量(设盘块大小为
1KB,盘块号需占4个字节)。
解:首先,将字节偏移量3500转换成逻辑块号和块内位移量:3500/1024得到商为3,余数为428,即逻辑块号为3,块内位移量为428。
(1)在连续分配方式中,可从相应文件的FCB中得到分配给该文件的起始物理盘块号,例如a0,故字节偏移量3500相应的物理盘块号为a0+3,块内位移量为428。
(2)在隐式链接方式中,由于每个盘块中需留出4个字节(如最后的4个字节)来存放分配给文件的下一个盘块的块号,因此字节偏移量3500的逻辑块号为3500/1020的商3,而块内位移量为余数440。
从相应文件的FCB中可获得分配给该文件的首个(即第0个)盘块的块号,如b0;然后可通过读第b0块获得分配给文件的第1个盘块的块号,如b1;再从b1块中得到第2块的块号,如b2;从b2块中得到第3块的块号,如b3。
如此,便可得到字节偏移量3500对应的物理块号b3,而块内位移量则为440。
(3)在显式链接方式中,可从文件的FCB中得到分配给文件的首个盘块的块号,如c0;然后可在FAT的第c0项中得到分配给文件的第1个盘块的块号,如c1;再在FAT 的第c1项中得到文件的第2个盘块的块号,如c2;在FAT的第c2项中得到文件的第3个盘块的块号,如c3。
如此,便可获得字节偏移量3500对应的物理块号c3,而块内位移量则为428。
(4)在索引分配方式中,可从文件的FCB中得到索引表的地址。
从索引表的第3项(距离索引表首字节12字节的位置)可获得字节偏移量3500对应的物理块号d,而块内位移量为428。
5、存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0-9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。
如果每个盘块的大小为512字节,若盘块号需要用3个字节来描述,而每个盘块最多存放170个盘块地址。
问:(1)该文件系统允许文件的最大长度是多少?
(2)将文件的字节偏移量5000、15000、150000转换为物理块号和块内偏移量。
(3)假设某个文件的FCB己在内存,但其他信息均在外存,为了访问该文件中某个位置的内容,最少需要几次访问磁盘,最多需要几次访问磁盘?
解:(1)该文件系统中一个文件的最大长度可达:
10+170+170×170+170×170×170=4942080块,共4942080×512字节
=2471040KB
(2)
①5000/512得到商为9,余数为392,即字节偏移量5000对应的逻辑块号为9,块内偏移量为
392。
由于9<10,故可直接从该文件的FCB的第9个地址项处得到物理盘块号,块内偏移量为392。
②15000/512得到商为29,余数为152,即字节偏移量15000对应的逻辑块号为29,块内偏移
量为152。
由于10< 29< 10+170,而29-10=19,故可从FCB的第10个地址项,即一次间址项中得到一次间址块的地址;并从一次间址块的第19项(即该块的第57~59这3个字节)中获得对应的物理盘块号,块内偏移量为152。
③150000/512得到商为292,余数为496,即字节偏移量150000对应的逻辑块号为292,块内
偏移量为496。
由于10+170< 292< 10+170+170×170,而292-(10+170)=112,112/170得到商为0,余数为112,故可从FCB的第11个地址项,即二次间址项中得到二次间址块的地址,并从二次间址块的第0项中获得一个一次间址块的地址,再从这一次间址块的第112项中获得对应的物理盘块号,块内偏移量为496。
(3)由于文件的FCB己在内存,为了访问文件中某个位置的内容,最少需要1次访问磁盘(即可通过直接地址直接读文件盘块),最多需要4次访问磁盘(第一次是读三次间址块,第二次是读二次间址块,第三次是读一次间址块,第四次是读文件盘块)。
6、在某个文件系统中,每个盘块为512字节,文件控制块占64个字节,其中文件名占8个字节。
如果索引节点编号占2个字节,对一个存放在磁盘上的256个目录项的目录,试比较引入索引节点前后,为找到其中一个文件的FCB,平均启动磁盘的次数。
解:在引入索引节点前,每个目录项中存放的是对应文件的FCB,故256个目录项的目录总共需要占用256×64/512=32个盘块。
故,在该目录中检索到一个文件平均启动磁盘次数为(1+32)/2=16.5。
在引入索引节点后,每个目录项中只需存放文件名和索引节点的编号,因此256个目录项的目录总共需要占用256×(8+2)/512=5个盘块。
因此,找到匹配的目录项平
均需要启动3次磁盘;而得到索引节点编号后还需启动磁盘将对应文件的索引节点读入内存,故平均需要启动磁盘4次。
可见,引入索引节点后,可大大减少启动磁盘的次数,从而有效地提高检索文件的速度。