第五讲构造文件管理系统FAT.docx
- 文档编号:14435050
- 上传时间:2023-04-23
- 格式:DOCX
- 页数:9
- 大小:45.23KB
第五讲构造文件管理系统FAT.docx
《第五讲构造文件管理系统FAT.docx》由会员分享,可在线阅读,更多相关《第五讲构造文件管理系统FAT.docx(9页珍藏版)》请在冰豆网上搜索。
第五讲构造文件管理系统FAT
构造文件管理系统FAT
对硬盘进行了低级格式化、分区后,再进行高级格式化,这时该逻辑磁盘便有了DBR,同时也有了FAT(注意:
以独立主分区来讨论!
)。
FAT是微软最早推出的管理文件的方式,目前有三种不同的格式如FAT12、FAT16、FAT32等。
他们的文件管理思想是相似的。
FAT用于磁盘数据(文件)进行索引、定位的一种簇链式结构。
同时FAT文件也包括文件夹的管理,如同文件的管理,简单理解为数据的管理。
下面,以一个假想的文件管理的思想来讨论FAT的文件管理。
1、“一本书”的管理思想
一本书对其上的文章的管理,可以看出,一本书有目录,目录中有文章的篇名及该文章的页码。
读者就可以根据目录中的文章篇名和文章页码来找到该文章。
事实上,在书的目录中还隐含了其他有用的信息,如一篇文章的开始位置、结束位置(也隐含了文章的长度)等信息。
可以进一步来看,假定该书可以任意装订,也就是该书可以由读者任意编排文章。
在这种情况下,一篇文章如何加入到某页码中、或把一篇文章从书中撕掉,对应的目录又如何修改?
?
还要考虑加入的或撕掉的文章的日期、文章的长度?
?
2、构造一个线性的文件管理系统
根据一本书的对文章的管理思想,在一个主分区内,理解进行文件的管理思想(或是数据存储的原理)。
在该分区,已分好了区(由FDISK完成!
)、进行了高级格式化(由FORMAT完成!
),于是便有了MBR、DBR及某种FAT。
不过,MBR及DBR暂时不考虑!
这里只关心FAT!
!
现在假定有100KB的一个分区。
可以简单地认为:
这100KB是线性地地址空间!
为了讨论方便,把这100KB分成100份,每份1KB!
再假定,有三个文件要依次存储在这100KB地空间中,这三个文件是:
1.A.TXT10KB;
2.B.TXT53.6KB;
3.C.TXT20.5KB
很自然地想到,为了要与一本书地管理方式相同,这三个文件是顺序地存放在这100KB的空间中的。
同时,要注意,这三个文件的大小、文件开始的位置等信息!
!
为了能方便地进行文件地查找,这是必须要考虑的信息!
!
如同书的目录!
!
在这个目录中,用100KB中的第一个1KB来放这个目录。
这个目录,就是我们所说的这三个文件的特征,或叫文件的属性!
另外,还要了解,100KB空间,分成了100份后,每份为1KB,而且是该分区中的最小单位,是不能再分割的,我们就把这个1KB叫扇!
同时也叫簇!
!
很明显,A.TXT是10KB,就要用10个扇,或叫10个存储单位,或叫10个簇!
!
B.TXT是53.6KB,要54个簇;
C.TXT是20.5KB,要21个簇。
如下图4.3.1的存储方式。
!
!
(可以看出这样一个问题!
!
B.TXT和C.TXT的这种存放方式,不是要浪费空间吗?
(各自浪费了不到1簇的空间)能不能紧挨着!
!
关于这个问题,将在后面讨论!
!
提示:
如果按照这样的方式存储,目录中原本只需要记下簇号,现在还需要记下簇内的偏移,这样会增加目录的存储量,而且存取没有了规则,读取也不太方便,是得不偿失的。
)
接下来,要考虑这三个文件的目录内容(存储的属性!
)有那些!
!
与书的目录比较!
!
对于一个文件而言,有:
(1)文件名;
(2)开始的位置(即所在簇的位置号);
(3)文件大小;
(4)创建日期、时间;
(5)文件可能的修改日期、时间;
(6)文件可能的读写属性等。
(注意:
一个问题!
文件的大小能不能用结束的簇号来表示呢?
肯定是不能的!
!
提示:
要注意簇号必须是整正数!
!
对于文件B.TXT,大小是53.6KB,是无法用簇来表示的,而用54簇或53簇来表示又是无意义的!
!
为什么?
?
)
有了这些文件的属性后,就可以用数据库的思想来存放这些文件的属性了!
方法是:
在100KB的第一个1KB的空间内,看成是10份(每份100B)文件的属性记录。
就有了10条数据库记录。
如下图4.3.2!
!
(对于用100B来存放文件的属性是足够用的!
)
看来,这个文件的结构,是可以对这些文件进行正确的读写了,一下就是对这三个文件进行一些操作。
(1)读:
很自然,目录很清楚,是不成问题的;
(2)写:
要注意,一个新的文件一定要是一个14KB的、或以内的!
而且也只能写在最后面的空余空间内。
另外,假如A.TXT的10KB文件是不存在的,则新加入的文件一定要小于或等于10KB,才能在原A.TXT文件的位置放下!
(3)修改:
如果对A.TXT这个10KB的文件进行修改,其修改后的大小是不能大于10KB!
(4)超写:
如果对A.TXT文件修改后(增加了内容!
),大于了10KB,或新放一个大于10KB的文件,将如何进行?
?
对于前面的三种操作是能够顺利进行的,对于第四个操作,有什么解决方法?
?
一个方法是:
由于这三个文件加起来之和只有85个簇。
10KB+53.6KB+20.5KB=84.1KB
10个簇+54个簇+21个簇=85个簇
可以看出,这100KB空间还有剩余!
还余下14个簇(除掉一个目录簇!
)。
如果把A.TXT文件放在最后,要浪费处理资源,而且也不一定解决问题。
这个问题看来暂时解决不了。
如果把B.TXT和C.TXT文件向后移动!
也是相同的问题!
(那不是成天啥也不要干了,就是倒腾东西了吗?
!
!
)
另外一个解决方法是:
要加大A.TXT文件的容量,可以把B.TXT文件删除了!
同时,在A.TXT文件处,还可以放一个大的文件,但是,这个文件不能大于64个簇(10个簇+54个簇)!
!
接下来,不可避免地,(目前假定,A.TXT和C.TXT文件还存在,共用簇为31个簇,还余下68个簇!
),要在B.TXT的位置放一个文件,假定文件为:
D.TXT,大小为60.3KB,占用簇为61簇。
如下图4.3.3和4.3.4!
!
这个操作看来还可以,按说能放下。
可是往那里放呢?
没有61个连续的空间了,不可能把一个文件切割成两个文件来存放,而且目录行没办法写了,一个文件也不可能有两个目录。
看来无连续块存储暂时也是不行的。
可以看出,以前的假定,文件必须是连续空间的存储方法!
这个文件管理系统(方法)有问题!
!
进入了僵局!
!
3、构造一个非线性的文件管理系统(一个FAT的雏形!
)
有一种杂志,由于排版的问题,可以让一些文章在不同的页中排版,并在转页的那一页标明要转到的那一页,也就是一篇文章可以拆成几个部分分别排在书的不同位置。
这是一个十分重要的思想!
!
这就是说:
允许文件不连续地存放!
或是,文件可以在不同的簇中存放!
很明显,如果还用以前设计的文件目录结构,又如何反映文件在不同簇中的存放呢?
解决方法1:
以文件映射簇!
也就是一个文件用了多少簇,就在目录中加入这些文件簇的相关记录!
!
很明显,这个方法使问题更复杂了!
首先是,目录空间可能不够用!
第二是,同一个文件有若干个属性记录!
当如果文件名修改后,还得对这些记录进行修改!
看来,用文件映射簇的方法不可取!
!
解决方法2:
如果换个思想,以簇来映射文件呢?
具体做法是:
在100KB的第一个1KB中,即第0簇,专门用来存放数据区中数据与簇号的关系!
也就是用来记录数据区中每一簇的被占用情况,暂时称其为文件分配表(将来的FAT)。
假定,还是以前的三个文件!
如图4.3.5和4.3.6。
第1簇还是原来的目录,数据就从第二簇开始存放!
现在就把0簇叫文件分配表FAT!
很明显,有了“文件分配表”和“文件目录”,就可以完全解决文件的自由读写和自由修改了!
这个文件分配表是一个数据表,也是被构造出来的一个数据表。
如图4.3.7记录了簇与数据(文件)的对应关系:
该组织方式是完全可以实现对文件占有簇的记录的。
但还不够效率,从这张表可以看出,也有问题!
就是太罗嗦!
!
比如文件名在文件分配表中记录太多,浪费空间,而实际上在目录中已经记录了文件的开始簇了。
簇所对应的文件名,要反复地使用,而文件名本身要占用一定地空间,所以,这个文件分配表会随文件的修改而越来越大,最后会空间不够!
!
即是一个簇与文件名的对应要占用多个字节!
所以,这个文件分配表不合理!
事实上,在文件目录中,一个文件的目录记录,已标明了该文件的文件名,同时,也是重要的一点,他标明了该文件的开始簇!
那么,能不能在文件分配表中,只用2个字节来表示簇与数据(文件)的对应呢?
这又是一个重要的思想!
也就是:
用链的方式来存放占有簇的关系!
如图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。
请同学们自己分析图4.3.9、4.3.10和4.3.11的对A.TXT文件进行读、写、修改等的操作过程!
!
可以看出,原来的三个文件的存放问题,要对其进行修改、读取、写入等已完全解决了!
总之,虽然以上是人们对文件存储的一种假设,但是,这也是“FAT文件系统”的思想精髓!
!
在后面的内容中,将重点介绍FAT文件管理系统的相关原理!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 构造 文件 管理 系统 FAT