我想這個問題是特定於作業系統的,所以我將採取以下場景:
- Windows (NTFS)
- 作業系統 (HFS)
- Linux(ext2、ext3、ext4)
每個作業系統都有其運行的預設檔案系統(我相信,OSX 只有一種選擇)。我注意到一些實用程式可供作業系統讀取不同的檔案系統(顯然是不是核心的一部分),這讓我思考:檔案系統操作是驅動程式的功能(即潛在的模組化),還是它確實是核心的一部分?
答案1
在 Linux 中,當您自己編譯核心時,您可以選擇編譯對每個可用檔案系統(例如 ext2、ext3、ext4、reiserfs 或 JFS)的支持,這些檔案系統可單獨作為模組或在核心中進行。我還沒有嘗試過它在編譯為模組時是否有效,但我想它肯定不適用於啟動分區的檔案系統,但可能適用於其他分區。
不知道適用於 Windows 或 OSX。
答案2
答案3
對於 Linux 和 OSX(我不確定 Windows),你可以看看使用者空間中的檔案系統和麥克保險絲。這允許 FS 實作不是在核心中編寫,而是作為用戶空間驅動程式編寫 - 這自然危險性要小得多。