ext2 檔案系統相關介紹:ext2檔案系統,乙個檔案除了資料需要儲存之外,一些描述資訊也需要儲存,例如檔案型別(常規、目錄、符號鏈結等),許可權,檔案大小,建立/修改/訪問時間等,也就是ls -l命令看到的那些資訊,這些資訊存在inode中而不是資料塊中。但是檔名存在**,首先檔名不是存在inode中的,那麼檔名存在**?
這裡我們可以看到目錄大小都為4096,當你建立乙個目錄的時候作業系統會為其分配乙個塊(4096),檔名也就是存在目錄檔案中,值得說明的是:當檔案的目錄下檔案很多的時候,目錄檔案大小就會增大。如下所示如bin目錄檔案大小就比69632要大了。
下面就以home目錄為例:
/home 目錄檔案中存放一條條記錄項,這裡記錄項包含目錄下的檔名和對應的inode號,記錄長度等資訊。
open()乙個/home 目錄下為檔案hello.c 檔案的定址過程,先找到/home 檔案資料塊,去匹配記錄項的檔名,如果匹配到就可以獲取其inode號,然後再根據inode去獲取資料指標。可能有人會問/home 怎麼找到的呀?home目錄的上一級目錄為根目錄/,作業系統規定根目錄/必須放在inode為2的編號上。
可以看到/目錄的inode為2.
當open("/home/hsc/ss.c")
因此定址過程為:作業系統首先找到inode2的資料塊,然後根據記錄項匹配獲得home目錄inode號,根據inode號獲取相應的資料塊,然後再根據記錄項找到hsc檔案inode號
依次最終找到ss.c 的inode然後找到檔案。
ext2檔案系統
ext2磁碟結構 ext2分割槽和ext2分組的分布圖 下圖是借用其他部落格的 塊組中的每個塊包含的資訊 超級快 1個塊 描述該分割槽中的整個檔案系統的資訊,包括有多少個快組,每個快組有多少個塊,多少個索引節點等。組描述符塊 n塊 塊點陣圖 1塊 索引節點位圖 1塊 索引節點 n塊 資料塊 n塊 塊...
Ext2檔案系統
ext2檔案系統的總體布局,如下圖。1檔案系統的最小儲存單元是塊 block 塊的大小一般為512bytes,或者是它的整數倍,塊的大小是在格式化是所確定的。不能修改除非重新格式化。上圖中顯示了檔案系統的總體布局,由乙個boot block和對個block group組成,每個block group...
掛載EXT2檔案系統
檔案系統的安裝主要是通用mount命令來實現的,然後通過系統呼叫由使用者態進入到核心態,把某乙個分割槽下的檔案系統掛載到某乙個目錄下,當然掛載也可以能指定掛載的檔案系統。mount函式通過sys mount函式來實現,其具體函式如下 asmlinkage long sys mount char us...