參考 《鳥哥的Linux私房菜》7.1節(jié)
1.文件系統(tǒng)特性
- Linux系統(tǒng)的文件擁有兩種東西,一種是元信息补履,也就是文件的屬性和權(quán)限等添坊,另外一種是文件的內(nèi)容。元信息被放在inode中箫锤,文件內(nèi)容被放在data block中贬蛙。另外還有一個superblock記錄整個文件系統(tǒng)的整體信息,包括inode與block的總量谚攒,使用量阳准,剩余量。
- 每個inode與block都有編號
- 每個文件都會占用一個inode馏臭,inode中的屬性會指向block
- superblock,inode,block
2.Linux的EXT2文件系統(tǒng)
- 文件系統(tǒng)一開始就將inode與block規(guī)劃好了野蝇,除非重新格式化(或利用resize2fs等指令變更文件系統(tǒng)大小)括儒,否則inode與block固定后就不再變動
-
Ext2文件系統(tǒng)在格式化的時候回區(qū)分為多個區(qū)塊群組绕沈,每個區(qū)塊群組都有獨立的inode/block/superblock系統(tǒng)
ext2文件系統(tǒng) - 文件系統(tǒng)最前面有一個啟動扇區(qū),這個啟動扇區(qū)可以安裝開機管理程序
- data block:
- 所謂block就是一塊存放數(shù)據(jù)的地方
- ext2文件系統(tǒng)中支持的block大小有1K帮寻,2K乍狐,4K三種而已
- block
- inode table
- inode記錄的就是文件的元信息
- 一個文件系統(tǒng)能創(chuàng)建的文件數(shù)量是定死的,因為inode的數(shù)量會在格式化的時候定死
- 一個inode的大小為128bytes固逗,新的文件系統(tǒng)可以設(shè)定到256bytes
-
inode記錄block好矛盾區(qū)域定義了12個直接浅蚪,1個間接,一個雙間接與一個三間接記錄區(qū)烫罩。什么意思呢掘鄙?12個直接表示這12個slot內(nèi)的地址直接指向具體的data block,1個間接區(qū)域里存放了一個block的地址嗡髓,這個block地址里存放的都是其他data block的地址操漠,當block大小定為1K的時候,這個一級block可以存放1K/4bytes=256個data block的地址,二級間接和三級間接同理
block - inode
- super block(超級區(qū)塊)
- super block是記錄正filesystem相關(guān)信息的地方
- super block的大小一般為1024bytes
- super block
- filesystem description
描述每個block group開始于結(jié)束的block號碼浊伙,說明每個區(qū)段(super block撞秋,bitmap,inodemap嚣鄙,data block)分別介于哪一個block號碼之間 - block bitmap
記錄哪個block是空閑的吻贿,哪個是忙的 - inode bitmap
記錄哪個inode是空閑的,哪個是忙的