理解inode,要從文件儲存說起。
文件儲存在硬盤上,硬盤的最小存儲單位叫作扇區,每個扇區儲存512字節,相當於0.5KB。
操作系統讀取磁盤的時候,不會壹個壹個扇區地讀取,這樣效率太低,而是壹次性連續讀取多個扇區,即壹次讀取壹個塊。這種由多個扇區組成的塊,是文件存取的最小單位。塊的大小,最常見的是4KB,即連續八個sector組成壹個block。
文件數據都存儲在塊中,很顯然,我們還必須找到壹個地方儲存文件的元信息,比如文件的創建者、文件的創建日期、文件的大小等。這種儲存文件元信息的區域就叫作inode,中文譯名為索引節點。
每壹個文件都有對應的inode,裏面包含了與該文件有關的壹些信息。
接下來,小編為大家簡述壹下Linux文件系統通過i節點把文件的邏輯結構和物理結構轉換的工作過程:
Linux通過inode節點表將文件的邏輯結構和物理結構進行轉換。
inode節點是壹個64字節長的表,表中包含了文件的相關信息,其中有文件的大小、文件所有者、文件的存取許可方式以及文件的類型等重要信息。在inode節點表中最重要的內容是磁盤地址表。在磁盤地址表中有13個塊號,文件將以塊號在磁盤地址表中出現的順序依次讀取相應地塊。
Linux文件系統通過把inode節點和文件名進行連接,當需要讀取該文件時,文件系統在當前目錄表中查找該文件名對應的項,由此得到該文件相對應的inode節點號,通過該inode節點的磁盤地址表把分散存放的文件物理塊連接成文件的邏輯結構。