图片无法显示,请右键点击新窗口打开图片

BiscuitOS 内存管理之分页大专题订阅入口

MS-DOS 文件系统通常简称为 FAT(File Allocation Table)文件系统,是一种最早用于 PC 和 MS-DOS 操作系统的文件系统格式。FAT 文件系统最初由 Microsoft 开发,旨在用于早期的个人计算机,如 IBM PC 和兼容机。它后来演化成了 FAT12、FAT16 和 FAT32 等不同版本,每个版本都具有不同的功能和限制。以下是 MS-DOS 文件系统(FAT文件系统) 的一些主要特点和概述:

  • 简单性: FAT 文件系统设计非常简单,易于实现和理解。它使用一种称为文件分配表(File Allocation Table)的数据结构来跟踪文件和目录的存储位置
  • 兼容性: FAT 文件系统具有很好的跨平台兼容性,可以在多个操作系统中访问和使用。它广泛用于可移动存储介质,如 USB 闪存驱动器和 SD 卡
  • 8.3 文件名格式: FAT 文件系统最初使用的是 8.3 文件名格式,即文件名最多由 8 个字符组成,后面跟着一个点和最多 3 个字符的文件扩展名。这种格式在早期个人计算机上非常常见
  • 文件和目录权限: FAT 文件系统的权限管理相对简单,通常使用简单的读写执行标志来控制文件和目录的访问。它不支持像 Linux 上的更复杂的权限和 ACL(Access Control List) 系统
  • 不支持日志功能: 与一些现代文件系统(如 EXT4)不同,FAT 文件系统不提供原生的日志功能,这意味着在意外断电或系统崩溃时,可能需要较长时间来恢复文件系统,并且有一定的数据损坏风险
  • 不支持链接: FAT文件系统不支持硬链接或符号链接,这在某些情况下可能限制了文件的组织和管理方式
  • 限制: 不同版本的FAT文件系统存在一些存储容量和文件大小的限制。例如,FAT12 支持的最大分区大小和文件大小较小,而FAT32允许更大的存储容量和文件大小

MSDOS 文件系统仍然在某些情况下广泛使用,特别是在可移动存储设备上。但在现代操作系统中,如 Windows、Linux 和 macOS,更复杂和功能丰富的文件系统,如 NTFS、EXT4 和 HFS+ 等,通常用于处理更大容量的磁盘和提供更多高级功能. 在 Linux 中使用 MSDOS 需要打开内核宏 CONFIG_FAT_FS.

图片无法显示,请右键点击新窗口打开图片

MSDOS 文件系统提供的文件操作与 VFAT 文件系统一致,可以看到映射文件的 mmap 接口使用了 generic_file_mmap 函数,该函数为文件映射的 VMA 提供的 vm_ops 接口为 generic_file_vm_ops,该数据接口实现了 fault 接口 filemap_fault,那么文件映射 VMA 发生缺页时 filemap_fault 函数会被调用.

图片无法显示,请右键点击新窗口打开图片

图片无法显示,请右键点击新窗口打开图片

BiscuitOS 内存管理之分页大专题订阅入口

图片无法显示,请右键点击新窗口打开图片