當前位置:首頁 » 電腦資訊 » 為什麼要使用索引文件

為什麼要使用索引文件

發布時間: 2025-04-25 17:48:04

A. 為什麼要引入索引分配方式其主要問題是什麼

索引節點,其英文為 Inode,是 Index Node 的縮寫。索引節點是整個 Linux
文件系統的基礎。存儲於文件系統上的任何文件都可以用索引節點來表示。舉一個例子來說,假設有一個老圖書館裡面有一本登記簿,上面記錄著館內的書名及存放

位置,比如在哪一間的第幾排存放著哪一本書,以及書的作者是誰。在這里,記錄著一本書的那一行就是索引節點。索引節點以同樣的方式來存儲對象,我們會在下
面學習。

在 Linux 系統中,文件系統主要分為兩部分,一部分為元數據(metadata),另一部分為數據本身。元數據,換句話說,就是「包含了與數據有關信息的數據」。索引節點就管理著文件系統中元數據的部分。

索引節點基礎知識

如上所述,文件系統中的任何一個文件或目錄都與一個索引節點相對應。每個索引節點都是一個數據結構,存儲著目標數據的如下信息:

文件大小(以位元組為單位)
(存放文件的)設備標識符
(文件所有者的)用戶標識符
用戶組標識符
文件模式(所有者、用戶組及其他人對於文件的讀取有怎樣的許可權)
擴展屬性(如 ACL)
文件讀取或修改的時間戳
鏈接數量(指向該文件的硬鏈接數,記住,軟鏈接不計算在內)
指向存儲該內容的磁碟區塊的指針
文件分類(是普通文件、目錄還是特殊區塊設備)
文件佔用的區塊數量

Linux 文件系統從來不存儲文件創建時間,許多人都不清楚這一點。

一個典型的索引數據看起來會是像下面這樣:

# stat 01

Size:Blocks:1816IO Block:4096regular file

Device:803h/2051dInode:Links:1

Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)

Access:2012-09-0701:46:54.-0500

Modify:2012-04-2706:22:02.-0500

Change:2012-04-2706:22:02.-0500

索引節點是在何時並以怎樣的方式創建的?

索引節點的創建與正在使用的文件系統有關。一些文件系統在創建時就創建了索引節點,故其索引節點的數量有限。而一些如 JFS 和 XFS 等系統也在文件系統創建時創建索引節點,但使用動態節點分配,並按需擴大索引節點的數量,因此可以避免所有索引節點用完的情況。

當讀取文件時都發生了什麼?

當用戶試圖讀取文件或與該文件相關的信息時,他會使用文件名稱。但是,實質上這個文件名稱首先映射為存儲於目錄表中的索引點節號碼。通過該索引節點號碼又讀取到相對應的索引節點。索引節點號碼及相對應的索引節點存放於映射表(Inode table)中。

索引節點指針結構

上面已經解釋過,索引節點只存儲元數據信息,其中包括真正的數據存儲的區塊的信息。下面就來解釋一下索引節點指針結構。
如這篇維基網路上面的文章解釋的那樣,這個結構可能會有 11 到 13 個指針,但大多數文件系統會以 15 個指針的形式來存儲數據結構。這 15 個指針包括:

直接指向文件數據區塊的 12 個指針,稱為直接指針(direct pointer)。
一個單獨非直接指針(singly indirect pointer),指向一個由多個指針構成的區塊,後者的指針又指向文件數據區塊。
一個雙重非直接指針(doubly indirect pointer),指向一個由多個指針構成的區塊,後者的指針又指向一個由多個指針構成的區塊,這一區塊的指針又指向文件數據的區塊。
一個三重非直接指針(triply indirect pointer),指向一個由多個指針構成的區塊,後者的指針又指向一個由多個指針構成的區塊,其指針又指向另一個由多個指針構成的區塊,這一區塊的指針又指向文件數據的區塊。

熱點內容
為什麼要把橡皮筋箍在手機上 發布:2025-04-25 22:19:42 瀏覽:13
網上買的枸杞顏色為什麼有點黑 發布:2025-04-25 22:09:37 瀏覽:604
女人下面為什麼不長毛 發布:2025-04-25 22:05:09 瀏覽:79
為什麼有些人用qq沒有時間限制 發布:2025-04-25 21:54:33 瀏覽:311
日本國會的椅子為什麼有顏色 發布:2025-04-25 21:49:25 瀏覽:318
北方晚上為什麼會起霧 發布:2025-04-25 21:36:46 瀏覽:848
蘋果4s為什麼自動重啟 發布:2025-04-25 21:05:00 瀏覽:750
乩童用的寶劍為什麼不一樣 發布:2025-04-25 20:46:48 瀏覽:489
哈達為什麼有不同顏色 發布:2025-04-25 20:29:14 瀏覽:805
為什麼動物吃東西洗一臉 發布:2025-04-25 20:21:35 瀏覽:36