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

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

VFAT(Virtual File Allocation Table) 是一种文件系统,主要用于存储在磁盘上的文件和目录的管理。VFAT 文件系统最初是为 DOS 和 Windows 操作系统开发的,但它也在 Linux 和其他操作系统上得到了广泛的支持,用于与 FAT12、FAT16 和 FAT32 格式的存储设备交互。以下是 VFAT 文件系统的一些主要特点和概述:

  • 兼容性: VFAT 文件系统是一种 FAT(File Allocation Table)文件系统的扩展,它与早期的 FAT 文件系统(如 FAT12 和 FAT16) 和较新的 FAT32 格式兼容。这使得它成为与 Windows 和其他操作系统兼容的通用文件系统
  • 长文件名支持: VFAT 引入了对长文件名(Long File Names,LFN) 的支持,允许文件名包含多达 255 个字符,并支持 Unicode 字符。这改善了文件和目录命名的灵活性,使其适用于多语言环境
  • 8.3 文件名兼容: 尽管 VFAT 支持长文件名,但它也保留了对传统的 8.3 文件名格式(8 个字符的文件名 +3 个字符的文件扩展名)的兼容性。这允许 VFAT 文件系统与不支持长文件名的老式操作系统和应用程序兼容
  • 跨平台兼容性: VFAT 文件系统通常用于可移动存储介质,如 USB 闪存驱动器和 SD 卡。由于其广泛的兼容性,这些存储设备可以轻松地在不同的操作系统之间共享文件
  • 文件和目录权限: VFAT 文件系统在权限管理方面较简单,通常使用简单的读写执行标志来控制文件和目录的访问。它不支持像 Linux 上的更复杂的权限和 ACL(Access Control List) 系统
  • 可用性: VFAT 文件系统通常在 Linux、Windows、macOS 和其他操作系统中内置支持,因此可以方便地访问和使用

尽管 VFAT 文件系统在交互性和兼容性方面具有一定优势,但它也有一些限制,如不支持 Unix 样式的文件权限、不支持链接等。因此,对于在 Linux 系统上进行高级文件操作或需要更复杂的权限控制的用例,可能需要使用其他文件系统. 在 Linux 中使用 VFAT 需要打开内核宏 CONFIG_FAT_FS.

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

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

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

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

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

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