系統架構設計師 檔案系統之索引節點

2021-08-22 06:16:46 字數 1720 閱讀 8704

ps:下面的講解,基於linux/unix

可以參考這篇文章:

索引節點,其英文為 inode,是 index node 的縮寫。儲存於檔案系統上的任何檔案都可以用索引節點來表示。

檔案系統主要分為兩部分,一部分為元資料(metadata),另一部分為資料本身。元資料,「包含了與資料有關資訊的資料」。索引節點管理著檔案系統中元資料的部分。

檔案系統中的任何乙個檔案或目錄都與乙個索引節點相對應。每個索引節點都是乙個資料結構,儲存著目標資料的如下資訊:

檔案大小(以位元組為單位)

( 存放檔案的)裝置識別符號

(檔案所有者的)使用者識別符號

使用者組識別符號

檔案模式(所有者、使用者組及其他人對於檔案的讀取有怎樣的許可權)

擴充套件屬性(如 acl)

檔案讀取或修改的時間戳

鏈結數量(指向該檔案的硬鏈結數,記住,軟鏈結不計算在內)

指向儲存該內容的磁碟區塊的指標

檔案分類(是普通檔案、目錄還是特殊區塊裝置)

檔案占用的區塊數量

linux 檔案系統從來不儲存檔案建立時間。

乙個典型的索引資料看起來會是像下面這樣:

# stat 01

size:7845633 blocks:1786 io block:4096 regular file

device:803h/2051d inode:12684895 links:1

access:(0644/-rw-r--r--) uid:(0/root)gid:(0/root)

access:2017-09-0701:46:54.000000000-0500

modify:2017-04-2706:22:02.000000000-0500

change:2017-04-2706:22:02.000000000-0500

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

當使用者試圖讀取檔案或與該檔案相關的資訊時,他會使用檔名稱。但是,實質上這個檔名稱首先對映為儲存於目錄表中的索引點節號碼。通過該索引節點號碼讀取到相對應的索引節點。

索引節點號碼及相對應的索引節點存放於對映表(inode table)中。

索引節點只儲存元資料資訊,其中包括真正的資料儲存的區塊的資訊。

大多數檔案系統會以 15個指標的形式來儲存資料結構。這 15個指標包括:

直接指向檔案資料區塊的 12個指標,稱為直接指標(direct pointer)。

乙個單獨非直接指標(singly indirect pointer),指向乙個由多個指標構成的區塊,後者的指標又指向檔案資料區塊。

乙個雙重非直接指標(doubly indirect pointer),指向乙個由多個指標構成的區塊,後者的指標又指向乙個由多個指標構成的區塊,這一區塊的指標又指向檔案資料的區塊。

乙個三重非直接指標(triply indirect pointer),指向乙個由多個指標構成的區塊,後者的指標又指向乙個由多個指標構成的區塊,其指標又指向另乙個由多個指標構成的區塊,這一區塊的指標又指向檔案資料的區塊。

系統架構設計師 Cache

試題1 以下關於cache的敘述中,正確的是 答案 b 解析 cache是介於cpu與記憶體之間的一種快取記憶體。這種儲存器速度比記憶體快了很多倍,利用到區域性性原理,只需要少量的cache,便能使整個機器訪問記憶體資料得到極大的提公升。所以cache是一種應用非常普遍的技術,cache在實際應用中...

系統架構設計師 匯流排

試題1 掛接在匯流排上的多個部件,答案 b 解析 本題考查考生對匯流排概念的理解。匯流排是乙個大家都能使用的資料傳輸通道,大家都可以使用這個通道,但傳送資料時,是採用的分時機制,而接收資料時可以同時接收,也就是說,同乙個資料,可以並行的被多個客戶收取。如果該資料不是傳給自己的,資料報將被丟棄。試題2...

軟考之系統架構設計師

自己報名了軟考中的高階考試,系統架構設計師。知道軟考這個考試因為在本科上學的時候,那時候學校有保研的名額,學院是根據綜合成績的排名決定是否有資格,其中通過了軟考中級有相應的加分,通過了軟考高階有更高的加分。當時參加了軟考,但是在確定排名之前僅有兩次軟考的機會,本來計畫先通過中級,然後在挑戰高階,但是...