第六章 文件管理 作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章文件管理作业

课件:

作业一:1、假设某磁盘容量为2G,每个盘块大小为1K,请问该磁盘的文件分配表需要占用多大的存储空间?(设FAT 的每个表项的长度取半个字节的整数倍)

由题目所给条件可知,硬盘大小为2GB,磁盘块的大小为1KB,所以该硬盘共有盘块: 2GB/1KB=2MB,因为存储 2MB 个盘块号要用 21 位二进制,而每个表项的长度取半个字节(即 4 位)的整数倍,所以FAT 表项应占24 位,即文件分配表的每个表目大小为3B。故要占用的存储空间总数为:3*2MB=6MB

作业二:对于采用混合索引分配方式的 UNIX 系统中。如果每个盘块的大小为 512 字节,若盘块号需要3 个字节来描述,而每个盘块最多存放170 个盘块地址:

(1) 该文件系统允许的最大长度是多少?

(2)将文件的字节偏移量15000 转换为物理块号和块内偏移量。

(3) 假设某文件的 FCB 已在内存中,但其他信息均在外存,为了访问该文件中某个位置的内容,最多需要几次访问磁盘?

(1)该文件系统中一个文件的最大长度可达:10+170+170*170+170*170*170 块

=4942080 块 4942080*512B=2471040KB

(2)15000/512 得到的商为29,余数为152,即字节偏移量15000 对应的逻辑

块号为29,块内偏移为152. 由于10<29<10+170,而29-10=19,故可从FCB 的第10 个地址项,即一次间址项中得到一次间址块的地址,并从一次间址块的第19 项中获得对应的物理块号,块内偏移量为152

(3)由于文 FCB 已经在内存,为了访问文件中某个位置的内容,最少需要 1 次访问磁盘(即可通过直接读文件盘块),最多需要4 次访问磁盘(第一次是读三次间址块,第二次是读二次间址块,第三次是读一次间址块,第四次是读文件盘块)

课本:

14.在UNIX中,如果一个盘块的大小为1KB,每个盘块号占4个字节,即每块可放256个地址。请转换下列文件的字节偏移量为物理地址。⑴9999;⑵18000;⑶420000

解:盘块大小为1KB,盘块号占4B,即每个盘块最多可存放256个盘块号。又根据UNIX系统中采用的混合索引分配方式可知:9999/1024=9余783

18000/1024=17余592

420000/1024=410余160

23.有一计算机系统利用图6-33所示的位示图来管理空闲盘块。盘块的大小为1KB,现要为某文件分配量个盘块,试说明盘块的具体分配过程。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

3 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1

4 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1

5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

图6-33 某计算机系统的位示图

解:分配量个盘块的过程如下:

⑴顺序扫描位示图,从中找到第一个值为0的二进制位,得到

其行号i=3,列号j=3。

⑵将所找到的二进制位转换成与之对应的盘块号。盘块号计算

公式为:b=(3-1)*16+3=35;

⑶修改位示图,令map[3,3]=1,并将该盘块分配出去。

类似地,可使用相同的方法找到第二个值为0的二进制位,得到行号i=4,列号j=7,其对应的盘块号为55,令map[i,j]=1,并将该盘块分配出去。

24.某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理磁盘空间,试问:

⑴位示图需要多少字?

⑵第i字第j位对应的块号是多少?

⑶给出申请/归还一块的工作流程。

解:

(1)[500/32]z=16个字

(2)b=(i-1)*32+j=32(i-1)+j

(b从1开始计数,i,j也从1开始计数)

(3)根据盘块号b求出:

i = (b-1)/32 + 1; j = (b-1)%32 + 1;

将第i字第j位置0

相关文档
最新文档