您当前的位置:首页>>技术中心>>数据恢复文章>>正文
 
FAT文件系统原理(三)
作者: 来源: 日期:2007-3-1 16:25:52  点击次数:

。。。。。。

    其实可以这样解决:
    首先我们允许文件的不连续存储。目录中依然只记录开始簇和文件的大小。那么我们怎么记录文件占用那些簇呢,以文件映射簇不太方便,因为文件名是不固定的。我们换个思想,可以用簇来映射文件,在整个存储空间的前部留下几簇来记录数据区中数据与簇号的关系。对于上例因为总空间也不大,所以用前部的1Kb的空间来记录这种对应,假设3个文件都存储,空间分配如图4.3.5,同时修改一下目录,如图4.3.6

      第一簇用来记录数据区中每一簇的被占用情况,暂时称其为文件分配表。结合文件分配表和文件目录就可以达到完全的文件读取了。我们想到,把文件分配表做成一个数据表,以图4.3.7的形式记录簇与数据的对应。
    用图4.3.7的组织方式是完全可以实现对文件占有簇的记录的。但还不够效率。比如文件名在文件分配表中记录太多,浪费空间,而实际上在目录中已经记录了文件的开始簇了。所以可以改良一下,用链的方式来存放占有簇的关系,变成图4.3.8的组织方式。

      参照图4.3.8来理解一下文件分配表的意义。如文件a.txt我们根据目录项中指定的a.txt的首簇为2,然后找到文件分配表的第2簇记录,上面登记的是3,我们就能确定下一簇是3。找到文件分配表的第3簇记录,上面登记的是4,我们就能确定下一簇是4......直到指到第11簇,发现下一个指向是FF,就是结束。文件便丝毫无误读取完毕。

    我们再看上面提到的第三种情况,就是将b.txt删除以后,存入一个大小为60.3KB的d.txt。利用簇链可以很容易的实现。实现后的磁盘如图4.3.9  4.3.10  4.3.11

     上面是我们对文件存储的一种假设,也该揭开谜底的时候了。上面的思想其实就是fat文件系统的思想的精髓(但并不是,尤其像具体的参数的意义与我们所举的例子是完全不同的。请忘掉上边细节,努力记忆下边)。

单击此处查看PDF版全文

本新闻共2页,当前在第2页  1  2  


上一篇:FAT文件系统原理(二)
下一篇:FAT文件系统原理(四)

  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  广 州 部: 020-83821091
  重 庆 部: 023-86870422
  昆 明 部: 15987117834
  哈尔滨部: 13946167430
  其它地区: 4006-505-808

经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行山东分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-580
中关村部:北京市海淀区中关村大街11号E世界A座8层832B室
皂君庙部:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室