filesystem
格式化的真正含義?
每次重灌系統到都需要格式化一下主分割槽,想過為什麼嗎?如果只是為了清空儲存資料,直接丟棄儲存記錄就行了,根本沒有必要做耗時長久的格式化.
格式化的實質是建立一個新的檔案系統(filesystem),藉以管理磁碟.
windows常用的檔案系統是NTFS(自winows 2000開始),linux使用Ext2/Ext3/Ext4/xfs.
以ext4為例
Ext4分為3部分,inode
block
superblock
.檔案屬性/許可權和檔案的實際內容是分開存放的.
- inode 記錄檔案的屬性和檔案資料所在得block編號(使用多級級聯保證大檔案儲存)
- block 檔案的實際儲存區域.
- superblock 記錄檔案系統的整體資訊,包括inode/block的總量 使用量 剩餘量,以及檔案系統的格式等等,極其重要.
發生異常如何處理?
如果系統執行時由於不可抗力強制關閉,資料可能已經寫入inode和block卻沒有更新superblock,導致資料得不一致狀態(inconsistent)這時為了保證安全,開機時系統會就逐個對比,直到找到差異所在,取決於檔案系統的大小,這可能需要幾個小時,為此出現了日誌式檔案系統.每當對檔案進行操作,就在一個特定區域記錄修改或建立檔案的細節,這樣出了問題,就到這個區域進行檢查.
掛載點
講檔案系統與目錄樹結合的行為稱為掛載,掛載點一定是目錄!!,並且如果不是空目錄的話,原本的內容會被遮蔽,停止掛載(解除安裝,總感覺怪怪的)後會復原.
VFS
virtual filesystem switch,虛擬檔案系統切換.linux提供的一箇中間層,實現對多種檔案系統的支援.