文件系統(tǒng)基礎(chǔ)_第1頁
文件系統(tǒng)基礎(chǔ)_第2頁
文件系統(tǒng)基礎(chǔ)_第3頁
文件系統(tǒng)基礎(chǔ)_第4頁
文件系統(tǒng)基礎(chǔ)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、文件系統(tǒng)基礎(chǔ)知識目錄u硬盤基礎(chǔ)磁道、扇區(qū)、柱面u分區(qū)知識DOS分區(qū)體系u文件系統(tǒng)概述FAT32文件系統(tǒng)NTFS文件系統(tǒng)硬盤基礎(chǔ)u磁道:當(dāng)磁盤旋轉(zhuǎn)時,磁頭若保持在一個位置上,則每 個磁頭都會在磁盤表面劃出一個圓形軌跡,這些 圓形軌跡就叫做磁道。 u扇區(qū):磁盤上的每個磁道被等分為若干個弧段,這些弧 段便是磁盤的扇區(qū),每個扇區(qū)可以存放512個字 節(jié)的信息,磁盤驅(qū)動器在向磁盤讀取和寫入數(shù)據(jù) 時,要以扇區(qū)為單位。 u柱面:硬盤通常由重疊的一組盤片構(gòu)成,每個盤面都被 劃分為數(shù)目相等的磁道,并從外緣的“0”開始編 號,具有相同編號的磁道形成一個圓柱,稱之為 磁盤的柱面。 分區(qū)知識 使用DOS分區(qū)體系時,磁盤

2、的第一個扇區(qū)被稱為主引導(dǎo)記錄扇區(qū)。當(dāng)系統(tǒng)完成自檢后,首先尋找磁盤的MBR扇區(qū)并讀取其中的引導(dǎo)記錄,然后將系統(tǒng)控制權(quán)交給它。u主引導(dǎo)記錄(MBR):由446個字節(jié)的引導(dǎo)代碼、64個字節(jié)的主分區(qū)表及2個字節(jié)的簽名值“55AA”組成。 引導(dǎo)代碼:MBR接管系統(tǒng)的控制權(quán)后,引導(dǎo)代碼負(fù)責(zé)對其他代碼信息進(jìn)行檢查并進(jìn)一步引導(dǎo)系統(tǒng)。 分區(qū)表:分區(qū)表負(fù)責(zé)描述磁盤內(nèi)的分區(qū)情況。 “55AA”有效標(biāo)志:通知系統(tǒng)該MBR扇區(qū)是否有效。文件系統(tǒng)總論u文件系統(tǒng)中的基本概念 數(shù)據(jù)單元: 數(shù)據(jù)在寫入磁盤或從磁盤讀取時每次操作的數(shù)據(jù)量稱為數(shù)據(jù)單元,它的大小在建立文件系統(tǒng)式確定,一個數(shù)據(jù)單元由若干個連續(xù)的扇區(qū)組成,存儲數(shù)據(jù)時,系

3、統(tǒng)以數(shù)據(jù)單元為單位為其分配存儲空間。數(shù)據(jù)單元在不同的操作系統(tǒng)中有不同的稱呼方式。 分配策略:第一可用分配策略:即當(dāng)為一個文件分配了一個存儲單元后還需要繼續(xù)為其分配時,操作系統(tǒng)重新從文件系統(tǒng)的起始處搜索可以使用的空間下一可用分配策略:即為文件分配了一個存儲單元后并不再回到起始處重新尋找可用空間,而是直接向后進(jìn)行搜索。最佳可用分配策略:即在為文件分配空間時,會盡可能找到足夠連續(xù)的空間以避免其片段化。 文件更新策略:有的程序在對文件更新時,直接打開原文件,更新后直接用新文件覆蓋原文件進(jìn)行保存。有的程序則是先產(chǎn)生一個原文件的副本,對副本進(jìn)行更新,然后將副本以原文件名保存在新的位置同時刪除原文件。FAT

4、文件系統(tǒng)概述u名字由來FAT(File Allocation Table,文件分配表)文件系統(tǒng)的名字由來就是因為它使用文件分配表描述文件系統(tǒng)內(nèi)存儲單元的分配狀態(tài)及文件內(nèi)容的前后鏈接關(guān)系。u簇FAT文件系統(tǒng)數(shù)據(jù)單元稱之為“簇”,一個“簇”由一組連續(xù)的扇區(qū)組成。用戶文件和目錄都存儲在簇中。所有的簇從2開始編號。uFAT文件系統(tǒng)整體布局總體來講,一個FAT文件系統(tǒng)可以分為三個部分:保留區(qū)、FAT區(qū)和數(shù)據(jù)區(qū)。這個三個區(qū)域在建立文件系統(tǒng)(格式化)時即被創(chuàng)建。FAT文件系統(tǒng)整體布局 保留區(qū)FAT1FAT2數(shù)據(jù)區(qū)FAT區(qū)FAT32文件系統(tǒng)保留區(qū)u保留區(qū): 位于FAT32文件系統(tǒng)前部,由若干個扇區(qū)組成而成。其

5、中包含一個重要的數(shù)據(jù)結(jié)構(gòu)系統(tǒng)導(dǎo)扇區(qū)。保留區(qū)的大小存在于引導(dǎo)扇區(qū)中。引導(dǎo)扇區(qū)是FAT32文件系統(tǒng)的第一個扇區(qū),也稱為 DBR扇區(qū)。包含如下基本信息: 每扇區(qū)字節(jié)數(shù) 每簇扇區(qū)數(shù) 保留扇區(qū)數(shù) FAT表個數(shù) 文件系統(tǒng)大小(扇區(qū)數(shù)) 每FAT表大小(扇區(qū)數(shù)) 根目錄起始簇號 其他附加信息FAT32文件系統(tǒng)的FAT表uFAT表的作用描述簇的分配狀態(tài)及標(biāo)明文件或目錄的下一簇的簇號。uFAT表的組成一系列的大小相等的FAT表項組成,F(xiàn)AT表項從0開始進(jìn)行地址編號,0號地址和1號地址被系統(tǒng)保留并存儲特殊標(biāo)志內(nèi)容。從2號地址開始,每個地址對應(yīng)于數(shù)據(jù)區(qū)的簇號。注:由創(chuàng)建文件系統(tǒng)時同時也會創(chuàng)建根目錄,也就是要為根目錄

6、分配一個簇空間, 通常 為2號簇。FAT表的記錄情況: 新建文件新建文件:如果新建的文件只占用一個簇,為其分配的簇所對應(yīng)的FAT表項將會 被寫入結(jié)束標(biāo)記,如果新建的文件不只占用一個簇,則在為其所占用 的每個簇對應(yīng)的FAT表項中寫入為其分配的下一個簇號,最后一個簇 對應(yīng)的FAT表項中寫入結(jié)束標(biāo)記。 新建目錄新建目錄:新建目錄時,只為其分配一個簇的空間,對應(yīng)的FAT表項中寫入結(jié)束 標(biāo)記。 刪除文件或目錄刪除文件或目錄:它們所對應(yīng)的FAT表項將被清空,設(shè)置為0。FAT32文件系統(tǒng)的數(shù)據(jù)區(qū)u概述: 數(shù)據(jù)區(qū)是真正用于存儲用戶數(shù)據(jù)的區(qū)域。數(shù)據(jù)區(qū)緊跟在FAT2之后,被劃分為一個個的簇,所有的簇從2開始依次編

7、號。u數(shù)據(jù)區(qū): 根目錄:在文件系統(tǒng)建立時即被創(chuàng)建,其目的就是存儲子目錄或文件的目錄項。 子目錄:我們將除根目錄以外的目錄都稱為子目錄。 目錄項:目錄項中記錄子目錄或文件的起始簇號、名字、大小時間值等信息。每個目錄項的大小為32個字節(jié)。文件系統(tǒng)在創(chuàng)建時即為根目錄分配了一個簇的空間(通常為2號簇)。在根目錄下新建目錄或文件時,就是在為根目錄分配的簇中為其建立目錄項。在為子目錄建立目錄項的同時,也在為子目錄分配的簇中,使用前兩個目錄項描述與父目錄的的關(guān)系。FAT32文件系統(tǒng)下建立和刪除文件實例u建立文件 假設(shè)現(xiàn)在有一個子目錄,名字為“子目錄1”,我們要在其下建立一個文件“文件1.txt”,簇大小為4

8、096字節(jié),文件大小為5000字節(jié)。 操作步驟u刪除文件 刪除前面建立的“子目錄1文件1.txt” 操作步驟NTFS文件系統(tǒng)概述u概述: NTFS與以前的FAT文件系統(tǒng)完全不同,它采取了不同的方式對文件系統(tǒng)中的數(shù)據(jù)進(jìn)行管理,甚至包括文件系統(tǒng)管理數(shù)據(jù)本身,NTFS文件系統(tǒng)將所有的數(shù)據(jù)都視為文件,通常在其他文件系統(tǒng)中被隱藏的管理數(shù)據(jù)在NTFS中也被存儲在文件中。u基本概念:MFT:即主文件表的簡稱,它是NTFS文件系統(tǒng)的核心。MFT由一個個的MFT項( 也稱為文件記錄)組成,每個MFT項占用1024字節(jié)的空間。屬性:在NTFS中,所有與數(shù)據(jù)相關(guān)的信息都被稱為“屬性”,文件名屬性、時間 日期屬性、甚

9、至文件內(nèi)容被稱為“數(shù)據(jù)屬性”。NTFS元文件:NTFS文件系統(tǒng)被創(chuàng)建時,會同時建立一些重要的系統(tǒng)信息。這些 系統(tǒng)信息也全是以文件的形式存在,被稱為元文件。元文件的文件名都以 “$”符號開頭,表示其為隱藏的系統(tǒng)文件,用戶不可直接訪問。NTFS文件系統(tǒng)總體布局用戶數(shù)據(jù)MFT區(qū)用戶數(shù)據(jù)用戶數(shù)據(jù)引導(dǎo)區(qū)(通常16個扇區(qū))MFT部分記錄的備份DBR備份(1個扇區(qū))NTFS文件系統(tǒng)的主文件表MFTu概述格式化成NTFS文件系統(tǒng)式,就在其中建立了一個主文件表MFT,其中包含16個元文件的文件記錄。主文件表MFT由一個個的MFT項組成,每個MFT項實際上就是一個文件記錄,其中用各種屬性記錄著該文件或目錄的各種信

10、息。Microsoft的所有版本中每個MFT項都是用1024字節(jié)的大小。u主文件表項MFT頭:MFT項前部為一個包含幾十個字節(jié)的具有固定的大小和結(jié)構(gòu)的MFT頭。屬性列表:MFT項除了MFT頭以外的剩余字節(jié)為屬性列表,用于存放各種屬性。MFT屬性uMFT屬性:每個MFT項的大小為1024字節(jié),分為兩個部分一部分MFT頭,另一部分為屬性列表。屬性分為常駐屬性和非常駐屬性:常駐屬性常駐屬性:有的屬性屬性內(nèi)容很小,它的MFT項可以容納下它的全部內(nèi)容,為節(jié)省空 間系統(tǒng)會直接將其存放在MFT項中,不再為其另外分配簇空間,這樣的屬性 稱為常駐屬性。非常駐屬性非常駐屬性:非常駐屬性是指那些內(nèi)容較大,無法完全存

11、放在起MFT項中的屬性,如文 件的數(shù)據(jù)屬性,通常內(nèi)容較大,需要在MFT外另外分配簇空間進(jìn)行存儲,這 樣的屬性就是非常駐屬性。uMFT屬性的組成:屬性有很多類型,每種類型的屬性都有自己的內(nèi)部結(jié)構(gòu),其大體結(jié)構(gòu)都可以分成兩個部分:屬性頭和屬性內(nèi)容。屬性頭屬性頭:用以說明該屬性的類型、大小和名字,同時還包含壓縮和加密標(biāo)志。常駐屬性和非常駐屬性的屬性頭結(jié)構(gòu)不同。屬性內(nèi)容屬性內(nèi)容:實際的屬性內(nèi)容,屬性內(nèi)容有不同的格式和大小。MFT屬性-常規(guī)屬性類型標(biāo)準(zhǔn)信息屬性標(biāo)準(zhǔn)信息屬性:$STANDARD_INFORMATION,存儲時間、所有權(quán)和安全信 息;文件名屬性文件名屬性:$FILE_NAME,存儲文件名、文件

12、大小、時間信息;數(shù)據(jù)屬性數(shù)據(jù)屬性:$DATA,存儲文件內(nèi)容;屬性列表屬性屬性列表屬性:$ATTRIBUTE_LIST,存儲文件或目錄的全部屬性;索引根目錄索引根目錄:$INDEX_ROOT,包含存儲在其中讀、的文件或子目錄的相關(guān) 信息;索引分配屬性索引分配屬性:$INDEX_ALLOCATION,當(dāng)目錄較大時,存儲它的索引項;位圖屬性位圖屬性:$BITMAP,用于描述索引或$MFT的分配情況;NTFS文件系統(tǒng)元文件 創(chuàng)建一個NTFS文件系統(tǒng)是,就會在其中建立一些用于文件系統(tǒng)管理的元數(shù)據(jù)文件,部分元數(shù)據(jù)文件介紹如下:$MFT文件:主文件表文件。我們訪問一個MFT項時,就是訪問$MFT文件中某個文

13、件記錄。$MFTMirr文件:MFT前幾個MFT項的備份。$LogFile文件:日志文件。$Volume文件:卷文件。$AttrDef文件:屬性定義列表文件,定義每種屬性屬性的名字和類型$Root文件:根目錄文件$Bitmap文件:位圖文件,它的數(shù)據(jù)屬性的每個bit對應(yīng)文件系統(tǒng)中的一個簇,用以描述簇的分配 情況。$Boot文件:引導(dǎo)文件。$Secure文件:安全文件。$UsnJrnl文件:變更日志文件。$Quota文件:配額管理文件。$Objld文件:對象ID文件。NTFS文件系統(tǒng)中建立、刪除文件實例u建立文件 我們要建立一個文件“子目錄1file.txt”,假設(shè)目錄“子目錄1”已經(jīng)存在于根目

14、錄下。要建立的文件大小為7000個字節(jié),每簇大小為4096個字節(jié)。 操作步驟u刪除文件 刪除“子目錄1file.txt” 操作步驟附錄1 FAT32系統(tǒng)下建立文件步驟步驟1:讀取引導(dǎo)扇區(qū),根據(jù)引導(dǎo)扇區(qū)中的信息定位FAT表、數(shù)據(jù)區(qū)和根目錄的位置。步驟步驟2:查看根目錄下的每個目錄項,尋找名字為“子目錄1”且具有目錄屬性的目錄項 。找到后,查看它的起始簇號,為3。步驟步驟3:讀取子目錄1的起始簇的內(nèi)容,查看每個目錄項,直到直到一個未分配的目錄項步驟步驟4:找到可用項后寫入文件名“文件1.txt”,并將文件大小和當(dāng)前時間寫入相應(yīng)的位置步驟步驟5:為文件內(nèi)容分配簇空間,找到FAT分配表,尋找空閑的位置

15、。發(fā)現(xiàn)4號FAT表項 未使用,這說明4號簇時空閑的。將4號簇分配給文件,并在4號簇的FAT表項內(nèi) 寫入結(jié)束標(biāo)記。步驟步驟6:將簇號4寫入文件目錄項的起始簇號區(qū)域。將文件的前4096字節(jié)寫入到4號簇中 ,還剩余904字節(jié),還要需要再為其分配一個簇。步驟步驟7:再FAT表中繼續(xù)尋找未分配簇,找到5號簇為空閑未使用。步驟步驟8:將文件第一簇的FAT表項值改寫為5,將文件的最后904字節(jié)寫入5號簇。步驟步驟9:再5號簇的FAT表項內(nèi)寫入結(jié)束標(biāo)記。附錄2 FAT32系統(tǒng)下刪除文件步驟步驟1:讀取引導(dǎo)扇區(qū),根據(jù)其中的信息定位FAT表、數(shù)據(jù)區(qū)和個目錄的位置步驟步驟2:再個目下尋找到名字為“子目錄1”且具有目

16、錄屬性的目錄項步驟步驟3:有“子目錄1”的目錄項中獲得它的起始簇號為3,到3號簇查看“子目 1”的內(nèi)容,從中找到文件“文件1.txt”的目錄項,提取出它的起始簇, 為4號簇。步驟步驟4:到FAT表中找到該文件的簇鏈,確定他的存儲為4號簇和5號簇。步驟步驟5:將4號簇和5號簇的FAT項設(shè)置為0.步驟步驟6:將文件“文件1.txt”的目錄項第一個字節(jié)改為0 xE5。附錄3 NTFS文件系統(tǒng)下建立文件步驟1:讀取文件系的引導(dǎo)扇區(qū),獲取簇大小、MFT起始位置以及每個MFT項的大小。步驟2:讀取第一個MFT項,即$MFT文件的MFT項,由它的$DATA屬性獲取其他MFT的位置。步驟3:首先為準(zhǔn)備新建的文

17、件建立MFT項訪問$MFT文件的$BITMAP屬性,找到一個未分 配的項。第一個空閑項為400號,把它分配給新文件并將$BITMAP中的相應(yīng)位設(shè)置為1步驟4:初始化MFT項跳轉(zhuǎn)到400號MFT項的位置,將其中的內(nèi)容清楚。建立標(biāo)準(zhǔn)信息屬性 ($STANDARD_INFORMATION)和文件名屬性($FILE_NAME),時間值設(shè)置為當(dāng)前時間 。在MFT項頭中設(shè)置使用中標(biāo)記。步驟5:從使用6號MFT項的$Bitmap文件中為文件的$DATA屬性尋找并分配兩個簇。使用最佳 分配策略找到兩個連續(xù)的空閑簇722和723號簇,將其相應(yīng)的bit設(shè)置為1。將文件內(nèi)容寫 入簇中,更新$DATA屬性中的簇地址。

18、修改了MFT項所以更新文件的最后修改時間值步驟6:下一步為其添加文件名項。訪問使用5號MFT項的根目錄,定位“子目錄1”。讀取索引 根屬性($INDEX_ROOT)和索引分配屬性($INDEX_ALLOCATION),在倒置樹中分類尋 找,找到“子目錄1”的索引項,它的MFT項地址為200,更新目錄的最后訪問時間。步驟7:跳轉(zhuǎn)到200號MFT項訪問它的索引根屬性($INDEX_ROOT),尋找將為file.txt分配的空間 。為其建立一個新的索引項重新對倒置樹進(jìn)行分類。新索引項的文件參考號地址是400 號MFT項。設(shè)置相應(yīng)的時間值和標(biāo)志更新目錄的最后寫入、最后修改、最后訪問時間值步驟8:在前面的每一步中,在文件系統(tǒng)日志中建立項并將改變記入$Extend$UsrJrnl。如 果設(shè)置了配

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論