我對linux核心了解一點。但是對於Freebsd來說,「vnode」實際上類似於Linux核心中的「inode」。
在FreeBSD或Solaris中有一個「inode」的概念。
所以我的問題是:FreeBSD 中的「inode」有什麼用?
下面很好讀。
謝謝。
http://hub.opensolaris.org/bin/view/Community+Group+advocacy/solaris-linux-freebsd
所有三個作業系統都使用資料抽象層來向應用程式隱藏檔案系統實作細節。在所有三個作業系統中,您都使用 open、close、read、write、stat 等系統呼叫來存取文件,而不管文件資料的底層實作和組織如何。 Solaris 和 FreeBSD 將此機制稱為 VFS(「虛擬檔案系統」),其原理資料結構為 vnode,或稱為「虛擬節點」。在 Solaris 或 FreeBSD 中存取的每個檔案都有一個指派給它的 vnode。除了通用文件資訊之外,vnode 還包含指向檔案系統特定資訊的指標。 Linux 也使用類似的機制,也稱為 VFS(「虛擬檔案切換」)。在Linux中,獨立於檔案系統的資料結構是inode。此結構類似於 Solaris/FreeBSD 上的 vnode。 (請注意,Solaris/FreeBSD 中有一個 inode 結構,但對於 UFS 檔案系統來說,這是與檔案系統相關的資料)。 Linux有兩種不同的結構,一種用於檔案操作,另一種用於inode操作。 Solaris 和 FreeBSD 將這些組合為「vnode 操作」。
答案1
Aninode
是某些檔案系統中的一種結構,用於保存檔案或目錄的元資料(有關檔案的所有信息,除了其名稱和資料)。它保存有關權限、所有權、建立和修改時間等資訊。
提供虛擬化檔案系統存取層的系統(FreeBSD、Solaris、Linux)可以支援可能使用或不使用 inode 的不同底層檔案系統。例如,ReiserFS 不使用它們,而 FreeBSD 則ffs2
使用它們。存取檔案系統所通過的抽象層為檔案操作提供了單一且定義良好的接口,因此應用程式不需要了解不同檔案系統實作之間的差異。