磁盘存储器管理--习题分析

  • 格式:doc
  • 大小:28.04 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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个字节来描述,而每个盘