探索文件的奥秘:操作系统视角下的文件构造剖析
2023-12-10 16:03:56
第一章:揭开文件面纱
文件是信息存储的基本单元,承载着海量的数据和知识。要探究文件的本质,首先要从宏观上审视其构成。一个完整的文件由两部分构成:
- 元数据:文件属性和管理信息,如文件长度、创建时间、访问权限等。
- 文件数据:存储文件具体内容。
第一章小结:
- 文件由元数据和文件数据两部分构成。
- 元数据文件属性和管理信息。
- 文件数据存储文件具体内容。
过渡:
知道了文件的整体结构,我们不妨再进一步,探究文件内部是如何组织和管理数据的。
各章
第一章:FCB——文件信息的中枢
FCB,全称文件分制表,是文件管理中的核心数据结构,负责存储文件的元数据。它包含指向文件数据的指针,使操作系统可以轻松定位和管理文件。
1. FCB的结构:
- 文件名和文件属性
- 起始簇号和文件长度
- 访问权限和时间戳
2. FCB的作用:
- 唯一性:一个文件只对应一个FCB,反之亦然。
- 元数据管理:存储文件的属性和管理信息。
- 文件定位:包含指向文件数据的指针。
1.1 FCB的局限性:
当文件数据分散存储在多个簇中时,FCB的定位效率会受到限制。为此,操作系统引入了一种更灵活、更高效的结构——Index Block。
1.2 Index Block
Index Block是一种间接寻址结构,它将文件数据分成固定大小的块,并使用一个Index Block表来存储指向这些块的指针。
1.3 Index Block的优势:
- 定位效率:Index Block表将文件数据块的物理分布信息集中存储,减少了文件定位的时间。
- 扩展性:Index Block表可以随着文件数据的增长而扩展,打破了FCB的寻址限制。
第一章小结:
- FCB存储文件的元数据和文件数据的指针。
- Index Block是一种间接寻址结构,提高了文件的定位效率和扩展性。
- FCB和Index Block是文件管理中的两种互补数据结构。
过渡:
有了FCB和Index Block的加持,文件组织和管理变得高效而灵活。在下一章中,我们将进一步探究文件的存储细节,揭开FAT和MFT的奥秘。
第一章:FAT与MFT——文件的存储基石
FAT(File FAT)和MFT(Master FAT)是Windows操作系统中管理文件存储的核心数据结构。
2.1 FAT(File FAT)
- FAT是一种位图数据结构,用于管理文件数据块的物理存储。
- FAT表中的每个条目对应一个簇,"0"表示该簇未使用,非零值表示该簇被文件使用。
- FAT表可以快速确定文件的下一个数据块。
2.2 MFT(Master FAT)
- MFT是一种特殊的文件,用于存储所有文件和文件夹的FCB信息。
- MFT本质上也是一个文件,由操作系统管理。
- 通过MFT,操作系统可以间接获取到文件的元数据和数据块的物理存储信息。
2.3 FAT和MFT的协作:
FAT和MFT协同工作,共同管理文件的存储。FAT负责跟踪文件数据块的物理分布,MFT存储文件的FCB信息和指向FAT表的指针。
2.4 FAT和MFT的局限性:
- FAT表随着文件系统的增大会变得庞大,进而降低文件定位的效率。
- MFT文件本身也会随着文件系统的增大而变大,给文件系统的管理带来负担。
2.5 NTFS(New FAT)
为克服FAT和MFT的局限性,Windows操作系统推出的NTFS文件