ext2檔案系統

2021-06-16 10:58:38 字數 1602 閱讀 8993

ext2磁碟結構

ext2分割槽和ext2分組的分布圖(下圖是借用其他部落格的)

塊組中的每個塊包含的資訊:

超級快(1個塊):描述該分割槽中的整個檔案系統的資訊,包括有多少個快組,每個快組有多少個塊,多少個索引節點等。

組描述符塊(n塊):

塊點陣圖(1塊):

索引節點位圖(1塊):

索引節點(n塊):

資料塊(n塊):

塊大小:ext2塊大小可以設定為1k,2k或4k。

超級塊:

ext2_super_block結構,重點字段:

s_inodes_count; 索引節點的總數

s_blocks_count; 檔案系統中塊的總數

s_free_blocks_count; 空閒塊的數目

s_free_inodes_count;  空閒節點的數目

s_first_data_block; 第乙個使用的塊號(總是1)

s_log_block_size;   塊的大小,1k,2k,4k

s_blocks_pre_group; 每個塊組的塊數

s_inodes_pre_group;每個快組的索引節點數

組描述符:

每個塊組都有自己的組描述符,將所有分組的分組描述符都儲存在一起。

ext2_group_desc結構,32個位元組大小。重點字段:

bg_block_bitmap; 資料塊點陣圖的塊號

bg_inode_bitmap;索引節點點陣圖的快號

bg_inode_table ; 第乙個索引節點表塊的塊號

bg_free_blocks_count; 該組中的空閒塊的數目

bg_free_inodes_count;該組中的空閒索引節點的數目

bg_used_dirs_count; 改組中的數目的個數。

塊點陣圖:

塊點陣圖用來描述整個塊組中哪些塊是空閒的,那些塊是占用的,0代表空閒,1代表占用。

如果塊大小為1k,那麼每個組塊,最多有1024*8個塊,也就是8m

如果塊大小為4k,那麼每個組塊最多4k*8個塊,也就是128m

索引節點位圖:

占用乙個塊。

索引節點表:

每個索引節點佔128位元組,塊大小為1k時,每塊包含8個索引節點,塊大小為4k時,每塊可以包含32個索引節點。

索引節點ext2_innode 包含的重要字段:

i_mod; 檔案型別、訪問許可權

i_uid; 擁有者標識

i_size; 以位元組為單位,檔案大小

i_links_count;  硬鏈結計數器,也就是有多少個目錄指向該檔案

i_blocks;  檔案的資料塊

i_block;   指向資料塊的指標。預設包含15個元素,0-11元素,對應檔案最初的12個塊,後面則是2級,3級,4級索引。

Ext2檔案系統

ext2檔案系統的總體布局,如下圖。1檔案系統的最小儲存單元是塊 block 塊的大小一般為512bytes,或者是它的整數倍,塊的大小是在格式化是所確定的。不能修改除非重新格式化。上圖中顯示了檔案系統的總體布局,由乙個boot block和對個block group組成,每個block group...

掛載EXT2檔案系統

檔案系統的安裝主要是通用mount命令來實現的,然後通過系統呼叫由使用者態進入到核心態,把某乙個分割槽下的檔案系統掛載到某乙個目錄下,當然掛載也可以能指定掛載的檔案系統。mount函式通過sys mount函式來實現,其具體函式如下 asmlinkage long sys mount char us...

ext2檔案系統定址

ext2 檔案系統相關介紹 ext2檔案系統,乙個檔案除了資料需要儲存之外,一些描述資訊也需要儲存,例如檔案型別 常規 目錄 符號鏈結等 許可權,檔案大小,建立 修改 訪問時間等,也就是ls l命令看到的那些資訊,這些資訊存在inode中而不是資料塊中。但是檔名存在 首先檔名不是存在inode中的,...