![文件系统操作是内核的功能吗?](https://linux22.com/image/1330476/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%93%8D%E4%BD%9C%E6%98%AF%E5%86%85%E6%A0%B8%E7%9A%84%E5%8A%9F%E8%83%BD%E5%90%97%EF%BC%9F.png)
我认为该问题与操作系统有关,因此我将考虑以下场景:
- Windows(NTFS)
- OSX(HFS)
- Linux(ext2、ext3、ext4)
每个操作系统都有其默认文件系统(我相信 OSX 只有一个选择)。我注意到有些实用程序可供操作系统读取不同的文件系统(这显然是不是我经常在阅读一些关于文件系统操作的文章时提到,文件系统操作是驱动程序的一个功能(即,可能是模块化的),还是真正属于内核的一部分?
答案1
在 Linux 中,当您自己编译内核时,您可以选择编译对每个可用文件系统(例如 ext2、ext3、ext4、reiserfs 或 JFS)的支持,这些文件系统可以作为模块或在内核中独立运行。我还没有尝试过编译为模块时它是否有效,但我认为它肯定不适用于启动分区的文件系统,但可能适用于其他文件系统。
不知道适用于 Windows 还是 OSX。
答案2
答案3
对于 Linux 和 OSX(我不确定 Windows 是否适用),你可以看看用户空间中的文件系统和MacFuse. 这使得 FS 实现不再写在内核中,而是作为用户空间驱动程序 — — 这自然危险性要小得多。