范文為教學中作為模范的文章,,也常常用來指寫作的模板,。常常用于文秘寫作的參考,,也可以作為演講材料編寫前的參考。大家想知道怎么樣才能寫一篇比較優(yōu)質的范文嗎,?下面是小編為大家收集的優(yōu)秀范文,,供大家參考借鑒,,希望可以幫助到有需要的朋友,。
簡述linux文件系統(tǒng)結構篇一
闡述了linux系統(tǒng)的文件結構類型,指出了ext2是在linux系統(tǒng)中最為常用的文件系統(tǒng),。
分析了ext2文件系統(tǒng)的磁盤布局,、索引結點及目錄結構,研究了ext2系統(tǒng)實現(xiàn)按名存取的方法,,文件讀取速度更高效,。
ext2文件系統(tǒng);索引結點,;混合索引,;文件目錄
linux系統(tǒng)的一個重要的特征就是支持多種不同的文件系統(tǒng),如:ext,、fat,、ext2、ext3、sysv等,。目前,,linux主要使用的文件系統(tǒng)是ext2和ext3文件系統(tǒng),也是linux用戶最常用的文件系統(tǒng),。
各種linux的系統(tǒng)發(fā)布都將ext2作為操作系統(tǒng)的基礎,。ext2文件系統(tǒng)支持標準unix文件類型:普通文件、目錄文件,、特別文件和符號鏈接,。
1 ext2磁盤布局
ext2和其他邏輯塊文件一樣,由邏輯塊序列組成,,根據(jù)用途劃分,,這些邏輯塊通常有:引導塊、超級塊,、inode區(qū)及數(shù)據(jù)區(qū)等,。
ext2將其所占的邏輯分區(qū)劃分為塊組,由一個引導塊和其他塊組組成,,每個塊組又由超級塊、組描述符表,、塊位圖,、索引節(jié)點位圖、索引節(jié)點表,、數(shù)據(jù)區(qū)構成,,如圖1所示。
圖1 ext2磁盤布局在邏輯空間的映像每個塊中保存的這些信息是有關ext2文件系統(tǒng)的備份信息,。當某個塊組的超級塊或inode受損時,,這些信息可以用來恢復文件系統(tǒng)。
2 ext2索引結點
ext2文件系統(tǒng)中的數(shù)據(jù)是以數(shù)據(jù)塊的方式存儲在文件中的,。這些數(shù)據(jù)塊的大小相同,,其大小在ext2創(chuàng)建時設定。磁盤上存儲文件的基本單位是簇,。一個簇也稱為一個磁盤塊,,它通常是2n個磁盤扇區(qū)大小。
ext2文件系統(tǒng)用一個inode數(shù)據(jù)結構描述系統(tǒng)中的每一個文件,,定義系統(tǒng)的拓撲結構,。一個inode描述了一個文件中的數(shù)據(jù)占用了哪些塊以及文件的訪問權限、文件的修改時間和文件的類型,。ext2文件系統(tǒng)中的每一個文件都用一個inode描述,,而每一個inode都用一個獨一無二的數(shù)字標識。文件系統(tǒng)的inode都放在一起,在inode索引表中,。
ext2塊組中組描述符中的項稱為組描述符,,用于描述某個塊組的整體信息。每個塊組都有一個相應的組描述符來描述它,,所有的組描述符形成一個組描述符表,,并在使用時被調入塊高速緩存。
ext2中每個塊組有兩個位示圖塊,,一個用于表示數(shù)據(jù)塊的使用情況,,叫數(shù)據(jù)塊位圖;另一個用于表示索引結點的使用情況,,叫索引結點位圖,。位圖中的每一位表示該組中一個數(shù)據(jù)塊或一個索引塊的使用情況,用0表示空閑,,用1表示已分配,。
在linux的ext2文件系統(tǒng)中,索引結點inode分為兩類,,即磁盤索引結點和內(nèi)存索引結點,,通常也分別叫做ext2 inode和vfs inode。
(1)磁盤索引節(jié)點
磁盤索引節(jié)點是指存放在磁盤上的索引節(jié)點,。每個文件有唯一的一個磁盤索引節(jié)點,,它主要包括以下內(nèi)容:文件所有者標識號:指擁有該文件的文件主或同組的標識符。
文件類型:指明文件是普通文件,、目錄文件還是特別文件等類型,。
文件物理地址:指出數(shù)據(jù)文件所在的物理塊號。如在linux系統(tǒng)中,,通過15個地址項來表明文件所在的物理塊號,。
文件存取權限:用戶對文件的操作類型,如讀,、修改,、執(zhí)行等。
文件大?。何募加械淖止?jié)個數(shù),。
文件連接計數(shù):指明系統(tǒng)中共享該文件的進程個數(shù)。
文件存取時間:指出該文件最近被進程存取的時間,、最近被修改的時間及索引節(jié)點最近被修改的時間等,。
(2)內(nèi)存索引節(jié)點
內(nèi)存索引節(jié)點是指存放在內(nèi)存的索引節(jié)點。當文件打開時,,要將磁盤索引節(jié)點復制到內(nèi)存索引節(jié)點中,,便于以后使用。內(nèi)存索引節(jié)點包括以下內(nèi)容:索引節(jié)點編號:標識內(nèi)存索引節(jié)點。
索引節(jié)點狀態(tài):指示該節(jié)點是否已被修改或已被上鎖,。
訪問計數(shù):當進程訪問該節(jié)點時,,訪問計數(shù)加1,訪問完再減1,。
鏈接指針:指向空閑鏈表和散列隊列的指針,。
邏輯設備名:含有該文件的文件系統(tǒng)的邏輯設備名。
3 文件的.目錄結構
linux系統(tǒng)的目錄結構采用了將文件名與文件描述信息分開的方法,。文件目錄由文件名和該文件的索引節(jié)點號構成,,一個目錄項共占16b。其中,,文件名占14個字節(jié),,索引節(jié)點號(或索引節(jié)點指針)占2個字節(jié)。因此,,1kb的盤塊中可以存放64(1k/16)個目錄項,,這樣就節(jié)省了系統(tǒng)查找及訪問文件的時間。在一個共有640個fcb的文件目錄中查找一個文件時,,平均只需啟動磁盤5次,,因此大大減少了系統(tǒng)開銷。如表1所示為一個文件目錄的實例,。
一個文件的磁盤索引節(jié)點占64個字節(jié),,主要包括文件標識符、文件存取權限,、文件物理地址,、文件長度,、文件連接系數(shù),、文件存取時間等一些文件的重要信息。
4 文件的物理結構
linux系統(tǒng)文件的物理結構采用混合索引方式,,對分配給文件的磁盤塊進行管理,。在linux文件系統(tǒng)的索引節(jié)點中存在一項i。addr[14],,用于存放該文件的磁盤塊號,。如圖2所示為linux系統(tǒng)的混合索引文件結構。
(1)直接尋址,。i,。addr[0]—i。addr[9]這10項用于直接存放該文件所占用的磁盤塊號,,文件的前10個磁盤塊號依次放入其中,。如果磁盤塊的大小為1kb,則當文件長度不大于10k時,操作系統(tǒng)可采用直接索引文件的方式對文件進行訪問,,直接從索引節(jié)點中找出該文件所在的磁盤塊號,,訪問速度較快。
(2)一次間接尋址方式,。i,。addr[10]項中存放的磁盤塊號所指向的磁盤塊再用來存放下一級的磁盤塊號。假設一個磁塊大小為1kb,,每個磁盤塊號占4個字節(jié),,則一個磁盤塊可存放256個(1kb/4b)磁盤塊號。這樣,,通過一次間接尋址,,i。addr[10]項就引出了256個磁盤塊號,,所以,,這一級可支持的文件長度為256k。
(3)二次間接尋址方式,。i,。addr[11]存放的磁盤塊號采用兩級索引的方式,如果沿用以上的假設,,則該項可引出2562個磁盤塊,,可支持的文件長度為2562k。
(4)三次間接尋址方式,。i,。addr[12]存放的磁盤塊號采用三級索引的方式,如果仍沿用以上的假設,,則該項可引出2563個磁盤塊,,可支持的文件長度為2563k。
由以上分析可以看出,,unix系統(tǒng)對于長度較小的文件具有較快的讀寫速度,,同時又具有支持大文件的功能。
圖2 linux的混合索引文件結構
linux系統(tǒng)文件實現(xiàn)了按名查找,。通過文件名訪問文件的過程如下:通過文件名查找文件目錄,,找到該文件的索引結點號;通過索引結點號查找索引節(jié)點區(qū),,找到該文件的索引點,;根據(jù)索引結點中提供a。ad—dr,,找到該文件在磁盤的相應的塊號序列,;根據(jù)塊號,,找到文件內(nèi)容。
fat文件系統(tǒng)與ntfs文件系統(tǒng)目錄的比較:fat文件系統(tǒng)直接以文件控制塊作為文件目錄,,這樣文件系統(tǒng)目錄相應較大,,查詢速度較慢。以索引結點作為文件目錄,,對于一些小的文件系統(tǒng)是可以的,,但是對較大型的文件系統(tǒng)就不適用了。linux系統(tǒng)的文件目錄為:文件名,、索引結點號,。這使得linux系統(tǒng)的文件目錄更小,查詢速度更快,。
5 結束語
由于linux系統(tǒng)的ext2文件系統(tǒng)采用了合理巧妙的文件系統(tǒng)結構,,以及目錄結構,使得該文件系統(tǒng)多項性能得到優(yōu)化,。采用ext2系統(tǒng),,能夠大大改善磁盤i/o速度,提高i/o組織的靈活性及編程效率,。
因此,,ext2文件系統(tǒng)為開發(fā)嵌入式系統(tǒng)及實時應用系統(tǒng)提供了廣泛的基礎和手段。
s("content_relate");【linux文件系統(tǒng)結構分析論文】相關文章:
1.
linux的文件系統(tǒng)
2.linux 文件系統(tǒng)管理
3.linux文件系統(tǒng)的幾個要點
4.解讀 linux 集群的新型文件系統(tǒng)
5.linux環(huán)境下使用gfs文件系統(tǒng)可以嗎
6.linux系統(tǒng)文件系統(tǒng)優(yōu)化及磁盤檢查的方法
7.linux_ext2/ext3文件系統(tǒng)介紹
8.簡單地講解linux的文件系統(tǒng)及相關的掛載命令