FAT表占用存储空间计算

假定磁盘的大小为1KB,
(1) 对于1.2MB的软盘,FAT需占用 () 的存储空间;
(2) 对于100MB的硬盘,FAT需占用 () 的存储空间。


正确答案

软盘(或硬盘)容量/ 盘块大小 = 盘块个数。2^{20}
盘块个数 * 盘块大小 = 盘块所需存储容量。
(1) 1.2 \times\; 2^{20} \div\; (1 * 2^{10} )=1.2K,因此软盘一共需要
1.2 \times\; 2^{10}个表项。
因为题目中没有说明FAT是FAT12还是FAT16,我们以FAT12为例。(FAT12中表项占12位,1.5个字节)1.2 * 2^{10} * 1.5 = 1.8K;
(2) 表项大小是根据表项个数决定的,相当于对表项标地址,而且用二进制表示,假设一共有2^8 个表项,则对表项从0标到2^{8} -1,最高的为8个1,则每个大小为8位,再说第二问,100MB的硬盘,盘块大小1K,所以表项个数为100k,2^{16} < 100K < 2^{17} ,所以表项大小为17位,1个字节八位,一般都是按一个字节或半个字节算,所以每个表项2.5个字节,所以FAT表项大小为100K * 2.5=250K

字节
0.5字节 4位
1字节 8位
1.5字节 12位
2字节 16位
2.5字节 20位
练习题

假定磁盘块的大小为1KB,对于16GB的硬盘,其文件分配表FAT需要占用的存储空间为( )。
A.12M
B.24M
C.48M
D.96M

正确答案:C

解析:文件分配表FAT是一个数据结构,用在以链接方式存储文件的系统中,记录磁盘分配和空白磁盘块。整个磁盘仅设一张FAT表,其结构如图所示。表的序号是物理块号,从0开始至N-1(N为盘块总数)。在每个表项中,存入下一个盘块号(即表项的内容为存放文件数据的下一个盘块号)。文件的首地址(第一个盘块号)存入在目录中。因此,从目录中找到文件的首地址后,就能找到文件在磁盘上的所有存入地址。如下图中假设某文件首地址为3,则文件存入的盘块号依次为3,5,8。由题中条件可知,硬盘大小为16GB,磁盘块大小为1kB,所以该磁盘共有盘块数为:16GB/1KB=16M个。16M=2^{24},因此16M个盘块号要用24位二进制,即3个字节来表示。FAT要占用的存储空间总数为3×16M=48MB。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容