filesystems - 虚拟文件系统

标签 filesystems memory-mapped-files

大多数游戏都将其资源(模型、纹理等)打包到特殊文件中(例如 Quake 3 中的 .pk3 文件)。显然,这些文件以某种方式被“挂载”并被用作单独的文件系统。

我想知道这是如何实现的。到目前为止,我想出的唯一策略是将偏移大小信息放在文件头中,然后对文件进行内存映射并访问资源,就好像它们是独立的受写保护的内存块一样。

我想知道我的策略是否可行以及是否有更好的选择。

谢谢!

最佳答案

你的策略很合理;事实上,它与文件系统驱动程序对原始 block 设备所做的操作完全类似。您对该实现有什么问题?

关于filesystems - 虚拟文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5463196/

相关文章:

javascript - Node.js 递归列出文件的完整路径

.net - Get-ChildItem 与直接使用具有 UNC 路径的 .NET Framework 的 [System.IO.Directory]::GetFiles() 方法

C#.NET MMF : Is implementation of proprietary communication over Memory Mapped file just reinvention of Named Pipes?

c++ - 部分文本上的并发 mmap()

java - 内存映射文件的性能特点

ios - 具有内存映射原始数据的 UIImage (CGImage)

linux - 在 Linux 平台上捕获文件系统调用

Python:以比一秒更高分辨率获取文件修改时间

Java - 确定磁盘格式(RAW 或 FS)

c# - 使用 MemoryMappedFile 对大型文本文件执行搜索是否有意义?