假定磁盘的大小为1KB,
(1) 对于1.2MB的软盘,FAT需占用 () 的存储空间;
(2) 对于100MB的硬盘,FAT需占用 () 的存储空间。
正确答案
软盘(或硬盘)容量/ 盘块大小 = 盘块个数。
盘块个数 * 盘块大小 = 盘块所需存储容量。
(1) ,因此软盘一共需要
个表项。
因为题目中没有说明FAT是FAT12还是FAT16,我们以FAT12为例。(FAT12中表项占12位,1.5个字节);
(2) 表项大小是根据表项个数决定的,相当于对表项标地址,而且用二进制表示,假设一共有2^8 个表项,则对表项从0标到,最高的为8个1,则每个大小为8位,再说第二问,100MB的硬盘,盘块大小1K,所以表项个数为100k,
,所以表项大小为17位,1个字节八位,一般都是按一个字节或半个字节算,所以每个表项2.5个字节,所以FAT表项大小为
。
字节 | 位 |
---|---|
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个盘块号要用24位二进制,即3个字节来表示。FAT要占用的存储空间总数为3×16M=48MB。