索引節點

索引節點是指在許多類Unix檔案系統中的一種數據結構。每個索引節點保存了檔案系統中的一個檔案系統對象的元信息數據,但不包括數據內容或者檔案名稱。

基本介紹

  • 中文名:索引節點
  • 外文名:inode
  • 套用:類Unix檔案系統
索引節點的創建,使用索引節點,

索引節點的創建

首先需要明白的是,在Unix作業系統中的任何資源都被當作檔案來管理。如目錄、光碟機、終端設備等等,都被當作是一種檔案。從這方面來說,Unix作業系統中的所有的目錄、硬體設備跟普通檔案一樣,具有共同的屬性。而這些屬性的話,就是保存在inode塊中。
Inode塊中保存了一個檔案系統中的全部Inode節點。也就是說,當系統創建了一個檔案(或者添加了一個新設備)時,系統就會從這個塊中給 這個檔案分配一個Inode結點。在這個結點中存儲了這個檔案的大部分屬性,如創建、修改時間等等。但是需要注意的是,有兩個屬性不包含在這個inode 結點中,分別為檔案名稱與結點號。這主要是因為inode節點按順序排列,所以系統核心就可以採用簡單的算法,就可以得出inode節點號。

使用索引節點

Linux檔案系統使用索引節點來記錄檔案信息,作用類似於Windows下的檔案分配表。一個檔案系統維護了一個索引節點的數組,每個檔案或目錄都與索引節點數組中的唯一一個元素對應。
linux檔案系統將檔案索引節點號和檔案名稱同時保存在目錄中。
所以,目錄只是將檔案的名稱和它的索引節點號結合在一起的一張表,目錄中每一對檔案名稱稱和索引節點號稱為一個連線。對於一個檔案來說有唯一的索引節點號與之對應,對於一個索引節點號,卻可以有多個檔案名稱與之對應。因此,在磁碟上的同一個檔案可以通過不同的路徑去訪問它。
系統管理員使用的很多程式往往用inode號碼來替代檔案名稱來訪問檔案系統。例如磁碟完整性檢查程式fsck或pfiles。因此,inode號碼與檔案全路徑名的互查是需要的。可以用find帶參數選項-inum,ls帶參數選項(-i做到。
檔案系統可能會用盡inode。這導致檔案系統還有空閒的存儲空間,但已經沒有空閒的inode可供使用了。例如,一個電子郵件伺服器可能會被大量的小檔案用盡所有inode,但是卻沒有填滿檔案存儲空間。
現代的檔案系統如JFS和XFS能夠動態地增加inode,因此不會用盡inode。

相關詞條

熱門詞條

聯絡我們