Windows操作系統(tǒng)文件系統(tǒng)_第1頁(yè)
Windows操作系統(tǒng)文件系統(tǒng)_第2頁(yè)
Windows操作系統(tǒng)文件系統(tǒng)_第3頁(yè)
Windows操作系統(tǒng)文件系統(tǒng)_第4頁(yè)
Windows操作系統(tǒng)文件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Windows操作系統(tǒng)文件系統(tǒng)演示文稿目前一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)優(yōu)選Windows操作系統(tǒng)文件系統(tǒng)目前二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件系統(tǒng)概述文件概念與實(shí)現(xiàn)目錄概念與實(shí)現(xiàn)文件與目錄的訪問(wèn)權(quán)限Windows文件系統(tǒng)概述文件系統(tǒng)的基本概念目前三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)

信息是計(jì)算機(jī)系統(tǒng)中的重要資源。文件系統(tǒng)是操作系統(tǒng)中的一個(gè)重要組成部分,負(fù)責(zé)信息的組織、存儲(chǔ)和訪問(wèn)。文件系統(tǒng)的功能就是提供高效、快速和方便的信息存儲(chǔ)和訪問(wèn)功能。文件系統(tǒng)概述目前四頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件系統(tǒng)的目的方便的文件訪問(wèn)和控制:以符號(hào)名稱作為文件標(biāo)識(shí),便于用戶使用;并發(fā)文件訪問(wèn)和控制:在多道程系統(tǒng)中支持對(duì)文件的并發(fā)訪問(wèn)和控制;統(tǒng)一的用戶接口:在不同設(shè)備上提供同樣的接口,方便用戶操作和編程;多種文件訪問(wèn)權(quán)限:在多用戶系統(tǒng)中的不同用戶對(duì)同一文件會(huì)有不同的訪問(wèn)權(quán)限;優(yōu)化性能:存儲(chǔ)效率、檢索性能、讀寫性能;差錯(cuò)恢復(fù):能夠驗(yàn)證文件的正確性,并具有一定的差錯(cuò)恢復(fù)能力;文件系統(tǒng)概述目前五頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件管理的服務(wù)功能文件訪問(wèn):文件的創(chuàng)建、打開(kāi)和關(guān)閉,文件的讀寫;目錄管理:用于文件訪問(wèn)和控制的信息,不包括文件內(nèi)容文件結(jié)構(gòu)管理:劃分記錄,順序,索引訪問(wèn)控制:并發(fā)訪問(wèn)和用戶權(quán)限限額(quota):限制每個(gè)用戶能夠建立的文件數(shù)目、占用外存空間大小等審計(jì)(auditing):記錄對(duì)指定文件的使用信息(如訪問(wèn)時(shí)間和用戶等),保存在日志中(文件系統(tǒng)向上層用戶提供的服務(wù))文件系統(tǒng)概述目前六頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件系統(tǒng)的實(shí)現(xiàn)功能文件的分塊存儲(chǔ):與外存的存儲(chǔ)塊相配合I/O緩沖和調(diào)度:性能優(yōu)化文件定位:在外存上查找文件的各個(gè)存儲(chǔ)塊外存存儲(chǔ)空間管理:如分配和釋放。主要針對(duì)可改寫的外存如磁盤。外存設(shè)備訪問(wèn)和控制:包括由設(shè)備驅(qū)動(dòng)程序支持的各種基本文件系統(tǒng)如硬盤,軟盤,CDROM等(文件系統(tǒng)要實(shí)現(xiàn)的功能模塊)文件系統(tǒng)概述目前七頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件體:文件本身的信息;文件屬性:文件存儲(chǔ)和管理信息,例如:文件名、文件內(nèi)部標(biāo)識(shí)、文件存儲(chǔ)地址、訪問(wèn)權(quán)限、訪問(wèn)時(shí)間等;文件是具有符號(hào)名的數(shù)據(jù)項(xiàng)的集合。文件名是文件的標(biāo)識(shí)符號(hào)。文件包括兩部分:1.文件的概念文件概念與實(shí)現(xiàn)目前八頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)2.文件的操作打開(kāi):為文件讀寫所進(jìn)行的準(zhǔn)備。給出文件路徑,獲得文件句柄(filehandle),或文件描述符(filedescriptor)。需將該文件的目錄項(xiàng)讀入到內(nèi)存中。關(guān)閉:釋放文件描述符,把該文件在內(nèi)存緩沖區(qū)的內(nèi)容更新到外存上。讀、寫和文件讀寫定位:系統(tǒng)為每個(gè)打開(kāi)文件維護(hù)一個(gè)讀寫指針,它是相對(duì)于文件開(kāi)頭的偏移地址。讀寫指針指向每次文件讀寫的開(kāi)始位置,在每次讀寫完成后,讀寫指針按照讀寫的數(shù)據(jù)量自動(dòng)后移相應(yīng)數(shù)值?!竾@文件內(nèi)容讀寫進(jìn)行的文件操作。目前九頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)3.文件的邏輯結(jié)構(gòu)文件結(jié)構(gòu)是指文件的組織形式。文件結(jié)構(gòu)分為文件的邏輯結(jié)構(gòu)(Filelogicalstructure)和文件的物理結(jié)構(gòu)(Filephysicalstructure)。邏輯結(jié)構(gòu)是從用戶的觀點(diǎn)出發(fā),所看到的是獨(dú)立于文件物理特性的文件組織形式,是用戶可以直接處理的數(shù)據(jù)及其結(jié)構(gòu)。物理結(jié)構(gòu)是文件在外存上具體的存儲(chǔ)結(jié)構(gòu)。目前十頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件邏輯結(jié)構(gòu)的設(shè)計(jì)要求:訪問(wèn)性能:便于檢索;便于修改存儲(chǔ)性能:向物理存儲(chǔ)轉(zhuǎn)換方便,節(jié)省空間文件的邏輯結(jié)構(gòu)較一般可分為記錄式文件和流式文件兩種。前者是指用戶把每個(gè)文件分為若干記錄單位,存取文件以記錄為單位來(lái)進(jìn)行的,而后者則是指文件由字符流組成,文件內(nèi)部的信息不再劃分單位。文件的邏輯結(jié)構(gòu)是指從用戶觀點(diǎn)出發(fā)討論文件內(nèi)部的邏輯結(jié)構(gòu)或用戶訪問(wèn)模式;它可以獨(dú)立于在外存上的物理存儲(chǔ)。3.文件的邏輯結(jié)構(gòu)目前十一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)4.文件的物理結(jié)構(gòu)(文件實(shí)現(xiàn))研究如何在外部存儲(chǔ)介質(zhì)上為創(chuàng)建文件而分配空間,為刪除文件而回收空間,以及對(duì)空閑空間進(jìn)行管理。空間分配策略:1.連續(xù)空間分配2.鏈接空間分配3.索引空間分配目前十二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)空間分配策略:連續(xù)空間分配4.文件的物理結(jié)構(gòu)(文件實(shí)現(xiàn))磁盤空間目錄文件名起始地址大小Hello.c22z1.cc95a.out2130163115目前十三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)空間分配策略:鏈接空間分配4.文件的物理結(jié)構(gòu)(文件實(shí)現(xiàn))磁盤空間目錄文件名起始地址結(jié)束地址Hello.c24Hello.c:2->5->10->25->19->401631155-11025419目前十四頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)空間分配策略:索引空間分配4.文件的物理結(jié)構(gòu)(文件實(shí)現(xiàn))0磁盤空間目錄文件名索引地址Hello.c202,7,13,16,27,-1磁盤塊20的內(nèi)容:163115目前十五頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)空閑空間管理空閑塊位示圖空閑塊鏈表4.文件的物理結(jié)構(gòu)(文件實(shí)現(xiàn))目前十六頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)簇的大小兩個(gè)極端:大到能容納整個(gè)文件,小到一個(gè)外存存儲(chǔ)塊;簇較大:提高I/O訪問(wèn)性能,減小管理開(kāi)銷;但簇內(nèi)碎片浪費(fèi)問(wèn)題較嚴(yán)重;簇較?。捍貎?nèi)的碎片浪費(fèi)較小,特別是大量小文件時(shí)有利;但存在簇編號(hào)空間不夠的問(wèn)題(如FAT12、16、32);文件的存儲(chǔ)空間通常由多個(gè)分立的簇組成,而每個(gè)簇包含若干個(gè)連續(xù)的扇區(qū)(sector)。5.文件存儲(chǔ)單位:簇(cluster)目前十七頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)簇的分配方法:兩種簇大小可變:I/O訪問(wèn)性能較好,文件存儲(chǔ)空間的管理困難(類似于動(dòng)態(tài)分區(qū)存儲(chǔ)管理)簇大小固定:文件存儲(chǔ)空間使用靈活,但I(xiàn)/O訪問(wèn)性能下降,文件管理所需空間開(kāi)銷較大5.文件存儲(chǔ)單位:簇(cluster)目前十八頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件卷容量與簇大小的關(guān)系文件卷容量越大,若簇的總數(shù)保持不變即簇編號(hào)所需位數(shù)保持不變,則簇越大。缺點(diǎn):簇內(nèi)碎片浪費(fèi)越多文件卷容量越大,若簇大小不變,則簇總數(shù)越多,相應(yīng)簇編號(hào)所需位數(shù)越多。如簇編號(hào)長(zhǎng)度為12、16、32二進(jìn)制位,即構(gòu)成FAT12、FAT16、FAT32。5.文件存儲(chǔ)單位:簇(cluster)目前十九頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)目錄概念與實(shí)現(xiàn)目錄內(nèi)容目錄結(jié)構(gòu)目錄管理目錄是由文件說(shuō)明索引組成的用于文件檢索的特殊文件。文件目錄的內(nèi)容主要是文件訪問(wèn)的控制信息(不包括文件內(nèi)容)。目前二十頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)1.目錄內(nèi)容文件名:字符串,通常在不同系統(tǒng)中允許不同的最大長(zhǎng)度。可以修改。有些系統(tǒng)允許同一個(gè)文件有多個(gè)別名(alias);文件類型:可有多種不同的劃分方法,如:有無(wú)結(jié)構(gòu)(記錄文件,流式文件)內(nèi)容(二進(jìn)制,文本)用途(源代碼,目標(biāo)代碼,可執(zhí)行文件,數(shù)據(jù))屬性attribute(如系統(tǒng),隱含等)文件組織(如順序,索引等)目錄的內(nèi)容是文件屬性信息(properties),其中的一部分是用戶可獲取的。1.基本信息目前二十一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)2.地址信息存放位置:包括哪個(gè)設(shè)備或文件卷volume,以及各個(gè)存儲(chǔ)塊位置;文件長(zhǎng)度(當(dāng)前和上限):以字節(jié)、字或存儲(chǔ)塊為單位??梢酝ㄟ^(guò)寫入或創(chuàng)建、打開(kāi)、關(guān)閉等操作而變化。1.目錄內(nèi)容目前二十二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)4.使用信息創(chuàng)建時(shí)間最后一次讀訪問(wèn)的時(shí)間和用戶最后一次寫訪問(wèn)的時(shí)間和用戶3.訪問(wèn)控制信息文件所有者(屬主):通常是創(chuàng)建文件的用戶,或者改變已有文件的屬主;訪問(wèn)權(quán)限(控制各用戶可使用的訪問(wèn)方式):如讀、寫、執(zhí)行、刪除等;1.目錄內(nèi)容目前二十三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)單級(jí)目錄:整個(gè)目錄組織是一個(gè)線性結(jié)構(gòu),系統(tǒng)中的所有文件都建立在一張目錄表中。它主要用于單用戶操作系統(tǒng)。它具有如下的特點(diǎn):結(jié)構(gòu)簡(jiǎn)單;文件多時(shí),目錄檢索時(shí)間長(zhǎng);有命名沖突:如重名(多個(gè)文件有相同的文件名)或別名(一個(gè)文件有多個(gè)不同的文件名)目錄結(jié)構(gòu)討論目錄的組織結(jié)構(gòu),設(shè)計(jì)目標(biāo)是檢索效率。2.目錄結(jié)構(gòu)目前二十四頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)二級(jí)目錄:在根目錄下,每個(gè)用戶對(duì)應(yīng)一個(gè)目錄(第二級(jí)目錄);在用戶目錄下是該用戶的文件,而不再有下級(jí)目錄。適用于多用戶系統(tǒng),各用戶可有自己的專用目錄。2.目錄結(jié)構(gòu)目前二十五頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)多級(jí)層次目錄:或稱為樹(shù)狀目錄。在文件數(shù)目較多時(shí),便于系統(tǒng)和用戶將文件分散管理。適用于較大的文件系統(tǒng)管理。目錄級(jí)別太多時(shí),會(huì)增加路徑檢索時(shí)間。目錄名:可以修改。目錄樹(shù):中間結(jié)點(diǎn)是目錄,葉子結(jié)點(diǎn)是目錄或文件。目錄的上下級(jí)關(guān)系:當(dāng)前目錄(currentdirectory,workingdirectory)、父目錄(parentdirectory)、子目錄(subdirectory)、根目錄(rootdirectory)等;路徑(path):每個(gè)目錄或文件,可以由根目錄開(kāi)始依次經(jīng)由的各級(jí)目錄名,加上最終的目錄名或文件名來(lái)表示;2.目錄結(jié)構(gòu)目前二十六頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)多級(jí)目錄組織2.目錄結(jié)構(gòu)目前二十七頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)進(jìn)行文件訪問(wèn)和控制時(shí),由操作系統(tǒng)自動(dòng)更新目錄內(nèi)容目錄創(chuàng)建mkdir,刪除rmdir,修改目錄名rename。改變當(dāng)前目錄chdir;目錄管理是指目錄訪問(wèn)和目錄屬性控制。3.目錄管理目前二十八頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件與目錄訪問(wèn)權(quán)限文件訪問(wèn)類型:讀read:可讀出文件內(nèi)容;寫write(修改update或添加append):可把數(shù)據(jù)寫入文件;執(zhí)行execute:可由系統(tǒng)讀出文件內(nèi)容,作為代碼執(zhí)行;刪除delete:可刪除文件;修改訪問(wèn)權(quán)限changeprotection:修改文件屬主或訪問(wèn)權(quán)限設(shè)置文件訪問(wèn)權(quán)限的目的是為了在多個(gè)用戶間提供有效的文件共享機(jī)制;目前二十九頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)用戶范圍類型:指定用戶用戶組任意用戶訪問(wèn)類型和用戶范圍的組合:訪問(wèn)矩陣:矩陣的一維是每個(gè)目錄和文件,另一維是用戶范圍,每個(gè)元素是允許的訪問(wèn)方式訪問(wèn)策略(policy):每種文件訪問(wèn)方式,所允許或禁止的用戶范圍??梢詫⑽募L問(wèn)方式推廣到其他操作如用戶管理,備份,網(wǎng)絡(luò)訪問(wèn)等。文件與目錄的訪問(wèn)權(quán)限目前三十頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)Windows文件系統(tǒng)概述Windows直接支持的文件系統(tǒng)包括:CDFS,UDFFAT12/FAT16/FAT32NTFS目前三十一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)Windows文件系統(tǒng)概述:CDFSCDFS(CDROMFileSystem,只讀光盤文件系統(tǒng))是1988年為只讀光盤所制定的文件系統(tǒng)標(biāo)準(zhǔn)。CDFS比較簡(jiǎn)單,但是有一定的限制:文件和目錄名的長(zhǎng)度必須少于32個(gè)字符。目錄樹(shù)的深度不能超過(guò)8層。現(xiàn)已過(guò)時(shí),已被UDF標(biāo)準(zhǔn)所代替。FSD:\[WinRoot]\System32\Drivers\Cdfs.sys目前三十二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)UDF(UniversalDiskFormat,通用磁盤格式)是于1995年由OSTA(OpticalStorageTechnologyAssociation,光學(xué)存儲(chǔ)技術(shù)協(xié)會(huì))為光磁盤存儲(chǔ)媒介如DVD-ROM等所制定的,用來(lái)代替CDFS,比CDFS更加靈活。UDF具有如下特點(diǎn):文件名區(qū)分大小寫文件名可以有255字符長(zhǎng)最長(zhǎng)路徑為1023個(gè)字符FSD:\[WinRoot]\System32\Drivers\Udfs.sysWindows文件系統(tǒng)概述:UDF目前三十三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)FAT(FileAllocationTable,文件分配表)文件系統(tǒng)屬遺留文件系統(tǒng)。為了向后兼容,也為了方便用戶升級(jí),Windows2000/XP/2003仍然提供對(duì)FAT的支持

每一種FAT文件系統(tǒng)都用一個(gè)數(shù)字來(lái)標(biāo)識(shí)磁盤上簇號(hào)的位數(shù)。例如,F(xiàn)AT12的簇標(biāo)識(shí)為12位(二進(jìn)制數(shù)),這限制了它的單個(gè)分區(qū)最多只能存儲(chǔ)212(=4096)個(gè)簇,而FAT12在Windows2000/XP中的簇大小在512B與8KB之間,這意味著FAT12卷的大小至多只有32M。

FSD:\Winnt\System32\Drivers\Fastfat.sysWindows文件系統(tǒng)概述:FAT目前三十四頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS是Windows2000/XP的本機(jī)文件系統(tǒng)NTFS的簇標(biāo)識(shí)為64位文件與目錄的安全性文件與目錄的壓縮文件與目錄的加密文件與目錄的可恢復(fù)性FSD:\[WinRoot]\System32\Drivers\ntfs.sysWindows文件系統(tǒng)概述:NTFS目前三十五頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)FAT文件系統(tǒng)

每一種FAT文件系統(tǒng)都用一個(gè)數(shù)字來(lái)標(biāo)識(shí)磁盤上簇號(hào)的位數(shù):FAT12/FAT16FAT32系統(tǒng)文件分配表中每個(gè)簇的字節(jié)數(shù)簇界限FAT121.5小于4087簇FAT162界于4087和65526簇之間(包括邊界)FAT324界于65526和268,435,456簇之間(包括邊界)目前三十六頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)多級(jí)目錄,無(wú)用戶訪問(wèn)權(quán)限控制磁盤文件卷結(jié)構(gòu)FAT文件系統(tǒng)FAT12與FAT16目前三十七頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)字節(jié)偏移量(16進(jìn)制)域長(zhǎng)樣值(16進(jìn)制)含義003字節(jié)EB3C90轉(zhuǎn)移指令038字節(jié)MSDOS5.0文本格式的OEM名0B25字節(jié)

BIOS參數(shù)塊(BIOSParameterBlock,BPB)2426字節(jié)

擴(kuò)展BIOS參數(shù)塊(ExtendedBIOSParameterBlock,EBPB)3E448字節(jié)

引導(dǎo)代碼1FE2字節(jié)55AA扇區(qū)結(jié)束標(biāo)記引導(dǎo)扇區(qū)FAT12與FAT16目前三十八頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)引導(dǎo)扇區(qū)的BIOS參數(shù)塊包含了卷的信息,包括:簇大小,根目錄項(xiàng)數(shù)目,F(xiàn)AT表大小,磁盤參數(shù)(每道扇區(qū)數(shù),磁頭數(shù)),文件卷中的扇區(qū)總數(shù),簇編號(hào)長(zhǎng)度等邏輯扇區(qū)號(hào):三元組(柱面號(hào),磁頭號(hào),扇區(qū)號(hào))->一個(gè)文件卷中從0開(kāi)始對(duì)每個(gè)扇區(qū)編號(hào),優(yōu)點(diǎn):屏蔽了物理磁盤參數(shù)的不同允許同時(shí)訪問(wèn)的文件卷數(shù)目上限可以由config.sys文件中的LASTDRIVE=語(yǔ)句指定簇(cluster):由若干個(gè)扇區(qū)組成。在一個(gè)文件卷中從0開(kāi)始對(duì)每個(gè)簇編號(hào)。FAT12與FAT16目前三十九頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)FAT12與FAT16字節(jié)偏移量(16進(jìn)制)域長(zhǎng)樣值(16進(jìn)制)含義0B2字節(jié)0002每扇區(qū)字節(jié)數(shù)0D1字節(jié)08每簇扇區(qū)數(shù)0E2字節(jié)0100保留扇區(qū)數(shù):從分區(qū)引導(dǎo)扇區(qū)到第一個(gè)文件分配表開(kāi)始的扇區(qū)數(shù)101字節(jié)02文件分配表數(shù)112字節(jié)0002根目錄項(xiàng)數(shù)132字節(jié)0000小扇區(qū)數(shù):卷上的扇區(qū)數(shù),如果該數(shù)適合于16位(65535)的話151字節(jié)F8介質(zhì)類型:F8表明為硬盤,F(xiàn)0表明為軟盤162字節(jié)C900每個(gè)文件分配表的扇區(qū)數(shù)182字節(jié)3F00每磁道扇區(qū)數(shù)1A2字節(jié)1000磁頭數(shù)1C4字節(jié)3F000000隱藏扇區(qū)數(shù)204字節(jié)51420600大扇區(qū)數(shù):如果小扇區(qū)數(shù)域的取值為0,該域包含的是卷中的扇區(qū)總數(shù)BIOS參數(shù)塊(BPB)目前四十頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)字節(jié)偏移量(16進(jìn)制)域長(zhǎng)樣值(16進(jìn)制)含義241字節(jié)80物理磁盤號(hào):軟盤從0x00開(kāi)始編號(hào),硬盤從0x80開(kāi)始編號(hào)251字節(jié)00當(dāng)前磁頭:FAT文件系統(tǒng)不使用。261字節(jié)29簽名:必須是0x28或0x29,以便被Windows

NT所識(shí)別。274字節(jié)CE134630卷序列號(hào):當(dāng)格式化卷時(shí)創(chuàng)建的一個(gè)唯一的數(shù)字。2B11字節(jié)NONAME卷標(biāo):該域用于存放卷標(biāo),但是卷標(biāo)目前是在根目錄中作為一個(gè)特別文件而存放的。368字節(jié)FAT16系統(tǒng)ID:根據(jù)磁盤的格式,該域的取值為FAT12或FAT16。FAT12與FAT16擴(kuò)展BIOS參數(shù)塊(EBPB)目前四十一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)

每個(gè)FAT表項(xiàng)所占位數(shù)是簇編號(hào)的位數(shù),其值是(以FAT12為例):0:表示該簇空閑FF7h:物理壞扇區(qū)FF8h~FFFh:表示該簇是文件的最后一個(gè)簇其他值:表示該簇被文件占用,而且表項(xiàng)中的值是文件下一個(gè)簇的編號(hào)。FAT表:兩個(gè)鏡像,互為備份。文件卷中的每個(gè)簇均對(duì)應(yīng)一個(gè)FAT表項(xiàng),文件分配采用鏈?zhǔn)椒峙浞椒?。FAT12與FAT16目前四十二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)目錄:是目錄項(xiàng)的順序文件(即大小相同的記錄序列),不對(duì)目錄項(xiàng)排序。若目錄中包含的文件數(shù)目較多,則搜索效率低。每個(gè)目錄項(xiàng)大小為32字節(jié),其內(nèi)容包括:文件名(8+3個(gè)字符),屬性(包括文件、子目錄和文件卷標(biāo)識(shí)),最后一次修改時(shí)間和日期,文件長(zhǎng)度,第一個(gè)簇的編號(hào)。在目錄項(xiàng)中,若第一個(gè)字節(jié)為E5h,則表示空目錄項(xiàng);若為05h,則表示文件名的第一個(gè)字符為E5h。文件名不區(qū)分大小寫目前四十三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)目錄項(xiàng)偏移域長(zhǎng)含義00h8文件名08h3文件擴(kuò)展名0Bh1文件屬性字節(jié)0Ch10保留16h2最后一次修改的時(shí)間18h2最后一次修改的日期1Ah2起始簇號(hào)1Ch4文件大小FAT12與FAT16Bit7-6543210保留歸檔目錄卷標(biāo)系統(tǒng)隱藏只讀文件屬性字節(jié)目前四十四頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)FAT32主要應(yīng)用于Windows9x系統(tǒng)FAT32的根目錄區(qū)(ROOT區(qū))不再是固定區(qū)域、固定大小,而是可以看作數(shù)據(jù)區(qū)的一部分,采用與子目錄文件相同的管理方式。根目錄下的文件數(shù)目不再受最多256的限制。目錄項(xiàng)仍占32字節(jié),可以是文件目錄項(xiàng)、子目錄項(xiàng)、卷標(biāo)項(xiàng)(僅根目錄有)、已刪除目錄項(xiàng)、長(zhǎng)文件名目錄項(xiàng)等。支持長(zhǎng)文件名格式支持Unicode無(wú)法支持高級(jí)容錯(cuò)特性,不具有內(nèi)部安全特性,因而仍然無(wú)法達(dá)到高性能文件系統(tǒng)的要求目前四十五頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)字節(jié)偏移量(16進(jìn)制)域長(zhǎng)含義0B2字節(jié)每扇區(qū)字節(jié)數(shù)0D1字節(jié)每簇扇區(qū)數(shù)0E2字節(jié)保留扇區(qū)數(shù)101字節(jié)文件分配表數(shù)112字節(jié)根目錄項(xiàng)數(shù)132字節(jié)小扇區(qū)數(shù)/0000

151字節(jié)介質(zhì)類型:F8表明為硬盤,F(xiàn)0表明為軟盤162字節(jié)每個(gè)文件分配表的扇區(qū)數(shù)/0000

182字節(jié)每磁道扇區(qū)數(shù)1A2字節(jié)磁頭數(shù)1C4字節(jié)隱藏扇區(qū)數(shù)204字節(jié)大扇區(qū)數(shù)/總扇區(qū)數(shù)

FAT32標(biāo)準(zhǔn)BPB目前四十六頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)字節(jié)偏移量(16進(jìn)制)域長(zhǎng)含義244字節(jié)每個(gè)FAT的FAT32扇區(qū)數(shù)282字節(jié)指定當(dāng)前激活的FAT2A2字節(jié)版本號(hào)2C4字節(jié)根目錄起始簇號(hào)302字節(jié)指向文件系統(tǒng)信息扇區(qū)322字節(jié)指向引導(dǎo)扇區(qū)副本扇區(qū)3412字節(jié)保留401字節(jié)物理磁盤號(hào)411字節(jié)保留421字節(jié)簽名:必須是0x28或0x29434字節(jié)卷序列號(hào)4711字節(jié)卷標(biāo)528字節(jié)文件系統(tǒng)ID:FAT32擴(kuò)展BPBFAT32目前四十七頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)FAT32長(zhǎng)文件名長(zhǎng)文件名目錄項(xiàng)偏移長(zhǎng)度含義00h1Bits0-5givetheLFNpartnumber,bit6issetifthisisthelastentryforthefile.01h101st5lettersofLFNentry.0Bh10Fh0Ch1Reservedsetto0.0Dh1Checksum.0Eh12Next6lettersofLFNentry.1Ah201Ch4Last2lettersofLFNentry.目前四十八頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)FAT32長(zhǎng)文件名文件名為Thequickbrown.fox,采用Unicode編碼,則FAT32的目錄項(xiàng)為:目前四十九頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS文件系統(tǒng)NTFS為改進(jìn)的多級(jí)目錄結(jié)構(gòu),支持文件別名;NTFS文件由多個(gè)文件屬性構(gòu)成,每個(gè)屬性由屬性名和屬性流(stream,簡(jiǎn)單字節(jié)隊(duì)列)組成;用戶可自定義屬性;NTFS支持用戶權(quán)限管理:有5種權(quán)限劃分:讀、寫、運(yùn)行、刪除和修改權(quán)限;支持按用戶、用戶組分配權(quán)限;NTFS文件支持?jǐn)?shù)據(jù)壓縮功能;NTFS卷結(jié)構(gòu)支持容錯(cuò)功能;NTFS的技術(shù)特點(diǎn)目前五十頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu)NTFS具有眾多優(yōu)點(diǎn),這主要是因?yàn)樗诖疟P上獨(dú)特的實(shí)現(xiàn)方法。如何劃分磁盤,如何組織文件與目錄,如何存儲(chǔ)文件屬性與數(shù)據(jù),如何壓縮文件數(shù)據(jù)等。目前五十一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):卷卷是建立在磁盤分區(qū)上。一個(gè)磁盤可以有多個(gè)卷,一個(gè)卷也可以有多個(gè)磁盤組成

(已格式化過(guò)的)卷上的數(shù)據(jù)可分為:元數(shù)據(jù)和用戶數(shù)據(jù)目前五十二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):簇簇作為磁盤空間分配和回收的基本單位簇的大小是用戶在使用Format命令或其他的格式化程序格式化卷時(shí)確定的。簇因子隨卷的大小而不同,但都是物理扇區(qū)的整數(shù)倍,通常是2的冪,

NTFS使用LCN(LogicalClusterNumber,邏輯簇號(hào))和VCN(VirtualClusterNumber,虛擬簇號(hào))來(lái)進(jìn)行簇的定位。LCN是對(duì)整個(gè)卷中所有的簇從頭到尾所進(jìn)行的簡(jiǎn)單編號(hào)。VCN是對(duì)屬于特定文件的簇從頭到尾進(jìn)行編號(hào),以便于引用文件中的數(shù)據(jù)。目前五十三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):主控文件表MFT(MasterFileTable,主控文件表)是NTFS卷結(jié)構(gòu)的核心,是NTFS中最重要的系統(tǒng)文件,包含了卷中所有文件的信息。MFT是以文件記錄數(shù)組來(lái)實(shí)現(xiàn)的,每個(gè)文件記錄的大小都固定為1KB。卷上的每個(gè)文件(包括MFT本身)都有一行MFT記錄。MFT開(kāi)始的16個(gè)元數(shù)據(jù)文件是保留的。在NTFS中只有這16個(gè)元數(shù)據(jù)文件占有固定的位置。每個(gè)這樣的元數(shù)據(jù)文件都有一個(gè)以"$"開(kāi)頭的文件名稱,不過(guò)該符號(hào)是隱藏的。16個(gè)元數(shù)據(jù)文件之后則是普通的用戶文件和目錄。目前五十四頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):主控文件表0:$Mft:MFT本身1:$MftMirr:MFT鏡像2:$LogFile:日志文件3:$Volume:卷文件4:$AttrDef:屬性定義表5:$\:根目錄6:$Bitmap:位圖文件7:$Boot:引導(dǎo)文件8:$BadClus:壞簇文件9:$Secure:安全文件10:$UpCase:大寫文件11:$Extendedmetadatadirectory:擴(kuò)展元數(shù)據(jù)目錄12,13,14,15:預(yù)留>15:其他用戶文件和目錄目前五十五頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):主控文件表目前五十六頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):文件引用號(hào)每個(gè)文件都有一個(gè)64位(bit)的、稱為文件引用號(hào)(FileReferenceNumber)的唯一標(biāo)識(shí)。文件引用號(hào)由兩部分組成:一是文件號(hào)。文件號(hào)為48位(bit),對(duì)應(yīng)于該文件在MFT中的位置。二是文件順序號(hào)。文件順序號(hào)隨著每次文件記錄的重用而增加,這是為了讓NTFS進(jìn)行內(nèi)部一致性檢查。目前五十七頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):文件記錄NTFS文件是屬性/屬性值的集合。文件數(shù)據(jù)就是未命名屬性的值,其他文件屬性包括文件名、文件擁有者、文件時(shí)間標(biāo)記等。每個(gè)屬性由單個(gè)的流(stream)組成,即簡(jiǎn)單的字符序列。NTFS提供對(duì)屬性流的各種操作:創(chuàng)建、刪除、讀?。ㄗ止?jié)范圍)以及寫入(字節(jié)范圍)。讀寫操作一般是針對(duì)文件的未命名屬性的,對(duì)于已命名的屬性則可以通過(guò)已命名的數(shù)據(jù)流句法來(lái)進(jìn)行操作。目前五十八頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS文件是屬性的集合,通常所說(shuō)的文件內(nèi)容是指未命名數(shù)據(jù)屬性流;例:我們定義兩個(gè)數(shù)據(jù)屬性:ntfile(數(shù)據(jù))和ntfile:data(自定義數(shù)據(jù))。在向FAT復(fù)制時(shí),自定義屬性會(huì)丟失。echotestdata>ntfileechotestuserdefineddata>ntfile:datamore<ntfilemore<ntfile:datacopyntfilee:ntfile(E:為NTFS文件系統(tǒng))copyntfilec:ntfile(C:為FAT文件系統(tǒng))more<e:ntfilemore<e:ntfile:datamore<c:ntfilemore<c:ntfile:dataNTFS磁盤結(jié)構(gòu):文件記錄目前五十九頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):文件記錄NTFS卷上文件的常用屬性(并不是所有文件都有所有這些屬性)。

$VOLUME_INFORMATION$VOLUME_NAME$STANDARD_INFORMATION$FILE_NAME$SECURITY_DESCRIPTOR$DATA$INDEX_ROOT$INDEX_ALLOCATION$BITMAP$ATTRIBUTE_LIST$OBJECT_ID$REPARSE_POINT$EA$EA_INFORMATION$LOGGED_UTILITY_STREAM目前六十頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):文件名稱NTFS路徑名中的每個(gè)文件名/目錄名的長(zhǎng)度可達(dá)255個(gè)字節(jié),可以包含Unicode字符、多個(gè)空格及句點(diǎn)。目前六十一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):常駐屬性與非常駐屬性當(dāng)屬性值能直接存放在MFT中時(shí),該屬性就稱為常駐屬性(residentattribute)。有些屬性總是常駐的,這樣NTFS才可以確定其他非常駐屬性。例如,標(biāo)準(zhǔn)信息屬性和索引根就總是常駐屬性。如果屬性值能直接存放在MFT中,那么NTFS對(duì)它的訪問(wèn)時(shí)間就將大大縮短。小文件或小目錄的所有屬性,均可以在MFT中常駐。小文件的未命名屬性可以包括所有文件數(shù)據(jù)。小目錄的索引根屬性可以包括其中所有文件和子目錄的索引。大文件或大目錄的所有屬性,就不可能都常駐在MFT中。

目前六十二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):常駐屬性與非常駐屬性如果一個(gè)屬性(如文件數(shù)據(jù)屬性)太大而不能存放在只有1KB的MFT文件記錄中,那么NTFS將從MFT之外分配區(qū)域。這些區(qū)域通常稱為一個(gè)延展(run)或一個(gè)延伸(extent),它們可用來(lái)存儲(chǔ)屬性值,如文件數(shù)據(jù)。如果以后屬性值又增加,那么NTFS將會(huì)再分配一個(gè)延展,以便用來(lái)存儲(chǔ)額外的數(shù)據(jù)。值存儲(chǔ)在延展中而不是在MFT文件記錄中的屬性稱為非常駐屬性(nonresidentattributes)。在標(biāo)準(zhǔn)屬性中,只有可以增長(zhǎng)的屬性才是非常駐的。對(duì)文件來(lái)說(shuō),可增長(zhǎng)的屬性有數(shù)據(jù)、屬性列表等。標(biāo)準(zhǔn)信息和文件名屬性總是常駐的。目前六十三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):常駐屬性與非常駐屬性目前六十四頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):索引索引根屬性將相應(yīng)目錄中的文件名和子目錄名進(jìn)行排序。

對(duì)于一個(gè)大目錄,文件名實(shí)際存儲(chǔ)在組織文件名的固定4KB大小的索引緩沖區(qū)中。索引緩沖區(qū)是通過(guò)B+樹(shù)數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的。

索引分配屬性包含了索引緩沖區(qū)的VCN到LCN映射位圖屬性跟蹤在索引緩沖區(qū)中哪些VCN是在使用而哪些是空閑的。

目前六十五頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):數(shù)據(jù)壓縮壓縮稀疏文件:稀疏文件是指相對(duì)于文件大小而言只有少量非零數(shù)據(jù)的文件。NTFS只給那些包含非零數(shù)據(jù)的延展分配磁盤空間

當(dāng)程序從壓縮文件中讀取數(shù)據(jù)時(shí),NTFS通過(guò)檢測(cè)該位置是否有VCN到LCN的映射來(lái)決定該數(shù)據(jù)是不是零數(shù)據(jù)。若有映射,則為非零數(shù)據(jù),需要從磁盤上讀??;若沒(méi)有映射即存在尚未分配的“空洞”(unallocatedhole),則為零數(shù)據(jù),就直接返回零數(shù)據(jù)。

目前六十六頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)NTFS磁盤結(jié)構(gòu):數(shù)據(jù)壓縮壓縮非稀疏文件NTFS是以16個(gè)簇為壓縮單元來(lái)進(jìn)行一般文件的壓縮的。

當(dāng)NTFS向壓縮文件寫數(shù)據(jù)時(shí),它確保每個(gè)延展都以一個(gè)虛擬16簇邊界開(kāi)始。因此每個(gè)延展中VCN都是以16的倍數(shù)開(kāi)始的,并且延展的長(zhǎng)度不大于16。

目前六十七頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)Windows文件系統(tǒng)驅(qū)動(dòng)程序(FSD)

Windows文件系統(tǒng)模型WindowsFSD體系結(jié)構(gòu)文件系統(tǒng)操作與FSDNTFSFSD

目前六十八頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)Windows文件系統(tǒng)模型目前六十九頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)WindowsFSD體系結(jié)構(gòu)(本地)目前七十頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)WindowsFSD體系結(jié)構(gòu)(遠(yuǎn)程)目前七十一頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件系統(tǒng)操作與FSD顯式文件I/O高速緩存遲后寫高速緩存超前讀內(nèi)存臟頁(yè)寫內(nèi)存缺頁(yè)處理

目前七十二頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件系統(tǒng)操作與FSD:顯式文件I/OCreateFile(ReadFile,WriteFile)(Win32API)

NtCreateFile

通過(guò)ObOpenObjectByName解析名稱字符串通過(guò)IopParseDevice創(chuàng)建IRP(I/Orequestpacket,I/O請(qǐng)求包)通過(guò)IoCallDriver將IRP交給合適的FSD以創(chuàng)建文件

目前七十三頁(yè)\總數(shù)八十二頁(yè)\編于十七點(diǎn)文件系統(tǒng)操作與FSD:顯式文件I/OReadFile =>NtReadFile =>將已打開(kāi)文件的句柄轉(zhuǎn)換成文件對(duì)象指針

=>檢查訪問(wèn)權(quán)限

=>創(chuàng)建IRP讀請(qǐng)求

=>通過(guò)IoCallDriver將IRP交給合適的FSD=>如可在高速緩存,則應(yīng)檢查PrivateCacheMap=>如有效則表示該文件已有私有高速緩存映射結(jié)構(gòu);=>如無(wú)效則表示尚沒(méi)有私有高速緩存映射結(jié)構(gòu),需要調(diào)用CcInitializeCacheMap來(lái)初始化=>通過(guò)CcCopyRead從高速緩存中讀取數(shù)據(jù)。如果數(shù)據(jù)還不在高速緩存中,CcCopyRead

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論