文件系統(tǒng)的基本概念
文件系統(tǒng)是一種把數(shù)據(jù)組織成文件和目錄的存儲(chǔ)方式,提供了基于文件的存取接口,并通過文件權(quán)限控制訪問。

存儲(chǔ)的基本單位(物理)
扇區(qū)——硬盤的最小存儲(chǔ)單位(Sector)。一般每個(gè)扇區(qū)存儲(chǔ)512字節(jié)(相當(dāng)于0.5kb)。

磁盤的每一面被分為很多條磁道,即表面上的一些同心圓,越接近中心,圓就越小。
而每一個(gè)磁道又按512個(gè)字節(jié)為單位劃分為等分,叫做扇區(qū)。
文件存儲(chǔ)單位(Linux下文件系統(tǒng)管理)
塊——文件存取的最小單位?!皦K”的大小,最常見的是4kb,即連續(xù)八個(gè)sector組成一個(gè)block。

文件的結(jié)構(gòu)
Ext*格式化分區(qū)——操作系統(tǒng)將自動(dòng)將硬盤分成三個(gè)區(qū)域。
目錄項(xiàng)區(qū)——存放目錄下文件的列表信息。
數(shù)據(jù)區(qū)——存放文件數(shù)據(jù)。
inode區(qū)(inode table)——存放inode所包含的信息。

文件系統(tǒng)根據(jù)inode編號(hào)來檢索數(shù)據(jù)。
目錄項(xiàng)其實(shí)不屬于文件的一部分,它應(yīng)該被歸納在文件系統(tǒng)中。
關(guān)于inode
inode——“索引節(jié)點(diǎn)”,存儲(chǔ)文件的元信息,比如文件的創(chuàng)建者、文件的創(chuàng)建日期、文件的大小等等。
每個(gè)inode都有一個(gè)號(hào)碼,操作系統(tǒng)用innode號(hào)碼來識(shí)別不用的文件。
代碼語言:JavaScript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
ls -i #查看innode號(hào)
inode節(jié)點(diǎn)大小——一般是123字節(jié)或256字節(jié)。inode節(jié)點(diǎn)的總數(shù),格式化時(shí)就給定,一般是每1kb或每2kb就設(shè)置一個(gè)inode。
一塊1GB的硬盤中,每1kb就設(shè)置一個(gè)inode,那么inode table的大小就會(huì)達(dá)到128MB,占整塊磁盤的12.8%。
系統(tǒng)讀取文件三步曲

對(duì)一個(gè)文件進(jìn)行操作,從根目錄逐級(jí)開始查找,最終找到該文件對(duì)應(yīng)的inode number,在inode table中進(jìn)行查詢,獲取inode信息,根據(jù)inode信息,確定文件存儲(chǔ)的位置。