所以我正在制作这个软件来加密计算机上的文件。我的一个朋友(我们都是学生,所以不要对我们太严厉)建议我使用虚拟文件系统。我问为什么,甚至那是什么,他们给了我一些半途而废的答案,但没有帮助
[我不知道这是否重要,但我在linux环境下]
所以不用担心,我在谷歌上进行了搜索。但我还是不明白。这些解释,尤其是维基百科上的解释对我来说没有意义。什么是VFS?使用虚拟文件系统的实际需求或优势是什么?相对于只是,不是? 我问这个问题是因为我真的很好奇,如果它真的那么有用,我想将它应用到我正在制作的东西中。
谢谢你
(任何我可以阅读的链接、书籍或其他可以扩展我的知识的内容也会有帮助)
VFS
是一个抽象层。将 VFS 想象成一个抽象基类,当您想要实现文件系统的具体类(如
NTFS
、Ext3
、NFS
或其他)时必须使用它。它提供了具体文件系统可以使用的基本功能,同时也是具体类必须实现的接口。不知道这是否是您正在寻找的。如果不是,请告诉我,我可以添加更多详细信息。
VFS 包括:
文件 IO / 文件映射 / 文件元数据 / 目录遍历 API,无论文件系统是什么,都会调用挂载到卷的底层文件系统。
我假设我们都知道“真正的”文件系统(只是保存文件方法的分类(实际操作将在下面提到):
NTFS、FAT、FAT32、...)
所以首先我们需要了解什么是“虚拟”???
实际上,我们无法在 2 个不同的“真实”文件系统“类型”之间连接、复制、移动文件(例如 NTFS 无法连接到 FAT)
总结:
许多真实的文件系统 -> Linux 收集所有信息并以自己的方式为我们重写 -> 为我们带来一个新的文件树(这里虚拟是因为当我们进行任何更改时,Linux 会收集该操作并将其转换为真实的文件系统)纠正文件系统类型的操作)
这只是类型,在Linux中我们也有类似
ls /proc