1. 程式人生 > >Linux學習補充A--I node節點

Linux學習補充A--I node節點

前言

很奇怪,昨晚發的部落格不見了....所以就少了Linux學習第六篇, 這篇部落格是第六篇Inode節點的補充.
什麼叫Inode節點

inode節點翻譯成中文應該叫做索引節點,學過程式語言的人都知道陣列儲存資料時就需要使用索引(index).

Inode在linux中是一種資料結構,包含了檔案系統中檔案相關的重要資訊.

提到Inode節點通常還會提到一個詞彙:索引編號,索引編號本質上是Inode節點的標誌編號,所以也被稱為inode編號/索引編號.

如果想要詳細的講清楚inode節點,那麼就要涉及到一個概念檔案系統.

在linux中每一個分割槽都是一個檔案系統,他們各自擁有自己的目錄樹,當然最後,linux會把他們整合成一個目錄樹.

為了維護這顆目錄樹,linux使用了Inode節點來記錄檔案資訊.需要注意的是,每個檔案系統(分割槽)都會維護一個索引節點的陣列


那麼這個節點中又存放了什麼樣的資料呢?


在上圖中涉及到了一個概念--塊(block).

塊(block):在之前的部落格中提到過硬碟的儲存,其中硬碟儲存的最小單位是扇區,大小為512個位元組,系統在讀取硬碟時,為了提高效率會連續讀取多個扇區的內容,這幾個扇區構成一個塊,所以塊是檔案存取的最小單位,通常8個扇區組成一個塊,即每個塊的大小4KB.

那麼linux又是如何將inode節點和檔案進行關聯的呢?如果學過程式語言的話,應該會知道一種資料結構,HashMap.

在linux中,會將檔案的名稱和inode節點的索引同時儲存在一塊,每一對檔名稱好索引成為一個連結.


這樣當用戶訪問檔案時,通過檔名稱查詢到對應的inode節點,然後就能讀取到指定塊內的資料了.

當然inode節點不止這麼簡單,但是此處只是作為第六篇的補充,所以瞭解其概念就好啦~