首页 > 解决方案 > 我可以使用文件描述符来创建自定义文件系统吗?

问题描述

在我注册的一门课程中,我的任务是创建一个具有一些自定义功能的文件系统。我只是使用 dd 创建了一个零图像,并通过为其创建超级块、inode、stat 文件等来创建我的文件系统。它可以读取/写入文件,导入和导出文件和目录,具有适当的目录层次结构。

现在我想用一个实际的物理分区来完成这项工作。我看了很多地方,发现文件描述符可以作为普通文件读取。但我想知道它是否依赖于分区中现有的文件系统。我可以绕过所有内容并简单地获得一个按块读取/写入接口,并且能够查找字节或块吗?那会有什么开销?

另外,我想把它变成一个 linux 模块,以便我的文件系统可以与文件管理器一起使用。为了实现它,我需要实现什么标准 API 接口?
请引导我走向正确的方向。

标签: clinuxlinux-kernelfilesystemslinux-device-driver

解决方案


你有很多选择;集成到内核中相对困难,而与用户空间文件系统框架(github 上的 libfuse)集成是一个很好的中间步骤。最后,您将拥有一个可用的文件系统。


推荐阅读