linux inode基本概念

內存中的inode

VFS inode包含文件訪問權限、屬主、組、大小、生成時間、訪問時間、最後修改時間等信息。它是linux管理文件系統的最基本單位,也是文件系統鏈接任何子目錄、文件的橋樑。inode結構中的靜態信息取自物理設備上的文件系統,由文件系統指定的函數填寫,它只存在於內存中,能夠經過inode緩存訪問。雖然每一個文件都有相應的inode結點,可是隻有在須要的時候系統纔會在內存中爲其創建相應的inode數據結構,創建的inode結構將造成一個鏈表,咱們能夠經過遍歷這個鏈表去獲得咱們須要的文件結點,VFS也爲已分配的inode構造緩存和hash table,以提升系統性能。inode結構中的struct inode_operations *iop爲咱們提供了一個inode操做列表,經過這個列表提供的函數咱們能夠對VFS inode結點進行各類操做。每一個inode結構都有一個i結點號i_ino,在同一個文件系統中每一個i結點號是惟一的。node

磁盤上的inode

EXT2經過使用inode來定義文件系統的結構以及描述系統中每一個文件的管理信息,每一個文件都有一個inode且只有一個,即便文件中沒有數據,其索引結點也是存在的。每一個文件用一個單獨的Ext2 inode結構來描述,並且每個inode都有惟一的標誌號。Ext2 inode爲內存中的inode結構提供了文件的基本信息,隨着內存中inode結構的變化,系統也將更新Ext2 inode中相應的內容。Ext2 inode對應的是Ext2_inode結構。linux

對比

位置: VFS inode結構位於內存中,而Ext2_inode位於磁盤。
生存期: VFS inode在須要時纔會被創建,若是系統斷電,此結構也隨之消失。
惟一性: 二者在本身的做用域中都是惟一的。
關係: VFS inode是Ext2 inode的抽象、映射與擴充,然後者是前者的靜態信息部分,也是對前者的具體化、實例化和持久化。
操做: 對VFS inode的操做具備通用性,對文件系統inode的操做則是文件系統相關的,依賴於特定的實現。
組織管理: 系統經過VFS inode鏈表來對其進行組織,而且爲了提升訪問效率相應地構造了inode構造緩存和hash table。Ext2 inode的信息位於EXT2文件系統的劃分的塊組中,在每一個塊組中包含相應的inode位圖、inode表指定具體的inode信息,每一個inode對應Ext2_inode結構。緩存

相關文章
相關標籤/搜索