- 文件系统区别
- 文件系统区别主要在外存分配上以不同的方式存放;
- 不同文件系统操作系统对于文件外存的访问方式都不一样,例如有连续的内存分配,也有显示的链接分配;
- 例如FAT文件系统,在操作系统内部有个12位的文件分配表,表里面存放整个硬盘盘块(分区)的使用情况,例如某个文件占那个盘块,这样来读取文件的时候,首先回去这个文件分配表(FAT)里面去查找这个文件具体的物理磁盘位置信息,然后再进行读取;FAT12文件系统的分配表位数是12位的,所以叫FAT12;同理,为了满足更大的内存,又出现了FAT16文件系统,那么他的文件分配表位数就是16位,能支持更多的硬盘存贮;随着对硬盘的容量要求越来愈大,又出现了NTFS文件系统,这个系统以簇的概念来划分硬盘,几个盘快(分区)组成一个簇,那么对于这个文件系统里面的表就叫做MFT即主控文件表。
- 每个分区都一个属于自己的文件分配表;
- 对于NTFS文件系统来说,他引入簇的概念。簇的大小叫做“卷因子”,一个簇包含多个盘快,至于具体包含多少个,即卷因子的大小,实际上实在硬盘格式化的时候来确定的。因此硬盘需要被格式化才可使用,而且格式化时候也会让选择不同的文件系统;
- 文件目录、文件目录项(FCB)也叫文件控制块、文件分配表、盘块(扇区)之间的关系
- 当要查询一个文件时候,文件系统具体流程如下:
- 文件目录里面包含多个文件目录项(FCB)。因此首先需从硬盘第一个盘块把文件目录项调入到内存,来对文件一对一的比对目录项里面是否有请求的目录项,如果没有,继续启动下个硬盘,重复比较;如果有,则进行下一步;
- 查找到文件目录项,则可以确定此文件的硬盘地址,文件目录项即FCB里面通常会记录文件所在磁盘的第一个盘快和最后一个盘块的指针;
- 但是一个文件会有占有很多盘块,因此,此时就需要从硬盘把文件分配表(FAT)调入内存,注意,一个分区只有一个文件分配表。文件分配表会记录文件当前盘快的下一个盘快的指针,这样文件系统就可以确定了文件所占的那些盘块,然后就可以启动盘块,进行数据的读写;
版权声明:本文为liliangbing123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。