首先不得不說畫畫很好耍。
7.1的知識還是很多的,畫畫畫了四頁紙。那接下來就總結(jié)一下吧。
首先是格式化,格式化簡單來說就是讓我們的操作系統(tǒng)可以對硬盤操作。然后介紹了一個東西叫文件系統(tǒng),定義我沒有好好看,win98之氣那使用的是FAT文件系統(tǒng),2000之后用的是NTFS文件系統(tǒng),EXT2是Linux用的文件系統(tǒng),之后的EXT3和4都是對2的升級。
接下來就介紹了三個部分,分別是inode,block和superblock,其中inode記錄了文件的屬性,比如說訪問權(quán)限,指向的block等等,block記錄的是文件的內(nèi)容,superblock記錄的是文件系統(tǒng)的總體信息,比如說inode,block的容量等等。linux使用的ext2是索引性文件系統(tǒng),不需要太多的碎片整理,但是FAT文件系統(tǒng)就不行,因為沒有inode,所以搜索的時候使用的是一種鏈?zhǔn)浇Y(jié)構(gòu),需要經(jīng)常進行隨便整理,否則讀取速度會很慢。
EXT2文件系統(tǒng)把硬盤分成了一個boot區(qū)和很多的block 組,每個組里面有inode group ,data block等等,接下來一一介紹他們的功能。
資料區(qū)塊(data block):首先說一下block大小和最大單一文件,最大文件系統(tǒng)容量之間的關(guān)系,block大小有1k,2k,4k幾種類型,別的查表。資料區(qū)塊會有一些限制,比如說在里面只能存一種文件,哪怕一個文件只有1b,只要占用了一個block,該block就不能再儲存別的文件了,而且格式化完畢之后,block的大小數(shù)量等等就不能再改變,除非重新格式化。
inode 表格:inode至少需記錄文件權(quán)限,所有者和所屬組,文件容量,文件建立和改變時間,最近的讀取時間,最近的修改時間,文件的特征,文件指向的內(nèi)容。每個inode大小都是128bytes,每個文件都只占用一個inode,顯然對于文件系統(tǒng)來說,文件數(shù)和inode數(shù)有關(guān)。由于inode里面記載了和權(quán)限有關(guān)的數(shù)據(jù),所以它就相當(dāng)于一個大門,讓沒有讀文件權(quán)限的人不能進入。
superblock:超級區(qū)塊記錄的信息有block和inode的容量,inode和block的使用情況,block和inode的大小,文件系統(tǒng)掛載時間,最近一次寫入數(shù)據(jù)的時間等等。
FilesystemDescription:描述區(qū)塊開始的和結(jié)束的inode號
blockbitmap和inodebitmap:查詢未使用的block和inode
建立目錄:新建目錄的時候,文件系統(tǒng)會分配一個inode和至少一個block
目錄樹讀?。篿node到block再到inode。。。 一直到找到那個文件的block為止
新建文件:首先會查找兩個bitmap,分配inode和block之后在兩者上面記錄信息,然后更新兩個bitmap
日志文件是為了解決數(shù)據(jù)不一致的情況。
文件系統(tǒng)的異步處理:(提升速度),內(nèi)存里的數(shù)據(jù)修改過的記錄為dirty,否則就是clean,系統(tǒng)會把dirty預(yù)先存到硬盤里,而不是到時候一塊存到里面。
掛載就是把目錄樹和inode,block聯(lián)系起來的過程。