版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五章文件系統文件系統的基本概念FATNTFSWindows文件系統驅動程序(FSD)第五章文件系統文件系統的基本概念文件系統概述文件概念與實現目錄概念與實現文件與目錄的訪問權限Windows文件系統概述Windows操作系統文件系統文件系統概述Windows操作系統文件系統
信息是計算機系統中的重要資源。文件系統是操作系統中的一個重要組成部分,負責信息的組織、存儲和訪問。文件系統的功能就是提供高效、快速和方便的信息存儲和訪問功能。文件系統概述信息是計算機系統中的重要資源。文件系統概述Windows操作系統文件系統方便的文件訪問和控制:以符號名稱作為文件標識,便于用戶使用;并發(fā)文件訪問和控制:在多道程系統中支持對文件的并發(fā)訪問和控制;統一的用戶接口:在不同設備上提供同樣的接口,方便用戶操作和編程;多種文件訪問權限:在多用戶系統中的不同用戶對同一文件會有不同的訪問權限;優(yōu)化性能:存儲效率、檢索性能、讀寫性能;差錯恢復:能夠驗證文件的正確性,并具有一定的差錯恢復能力;文件系統概述Windows操作系統文件系統方便的文件訪問和控制:以符號名Windows操作系統文件系統文件訪問:文件的創(chuàng)建、打開和關閉,文件的讀寫;目錄管理:用于文件訪問和控制的信息,不包括文件內容文件結構管理:劃分記錄,順序,索引訪問控制:并發(fā)訪問和用戶權限限額(quota):限制每個用戶能夠建立的文件數目、占用外存空間大小等審計(auditing):記錄對指定文件的使用信息(如訪問時間和用戶等),保存在日志中(文件系統向上層用戶提供的服務)文件系統概述Windows操作系統文件系統文件訪問:文件的創(chuàng)建、打開和關Windows操作系統文件系統文件的分塊存儲:與外存的存儲塊相配合I/O緩沖和調度:性能優(yōu)化文件定位:在外存上查找文件的各個存儲塊外存存儲空間管理:如分配和釋放。主要針對可改寫的外存如磁盤。外存設備訪問和控制:包括由設備驅動程序支持的各種基本文件系統如硬盤,軟盤,CDROM等(文件系統要實現的功能模塊)文件系統概述Windows操作系統文件系統文件的分塊存儲:與外存的存儲塊文件體:文件本身的信息;文件屬性:文件存儲和管理信息,例如:文件名、文件內部標識、文件存儲地址、訪問權限、訪問時間等;文件是具有符號名的數據項的集合。文件名是文件的標識符號。文件包括兩部分:1.文件的概念文件概念與實現文件體:文件本身的信息;文件是具有符號名的數據項的集合。文件Windows操作系統文件系統打開:為文件讀寫所進行的準備。給出文件路徑,獲得文件句柄(),或文件描述符()。需將該文件的目錄項讀入到內存中。關閉:釋放文件描述符,把該文件在內存緩沖區(qū)的內容更新到外存上。讀、寫和文件讀寫定位:系統為每個打開文件維護一個讀寫指針,它是相對于文件開頭的偏移地址。讀寫指針指向每次文件讀寫的開始位置,在每次讀寫完成后,讀寫指針按照讀寫的數據量自動后移相應數值。……指圍繞文件內容讀寫進行的文件操作。Windows操作系統文件系統打開:為文件讀寫所進行的準備。3.文件的邏輯結構文件結構是指文件的組織形式。文件結構分為文件的邏輯結構(structure)和文件的物理結構(structure)。邏輯結構是從用戶的觀點出發(fā),所看到的是獨立于文件物理特性的文件組織形式,是用戶可以直接處理的數據及其結構。物理結構是文件在外存上具體的存儲結構。3.文件的邏輯結構文件結構是指文件的組織形式。文件邏輯結構的設計要求:訪問性能:便于檢索;便于修改存儲性能:向物理存儲轉換方便,節(jié)省空間文件的邏輯結構較一般可分為記錄式文件和流式文件兩種。前者是指用戶把每個文件分為若干記錄單位,存取文件以記錄為單位來進行的,而后者則是指文件由字符流組成,文件內部的信息不再劃分單位。文件的邏輯結構是指從用戶觀點出發(fā)討論文件內部的邏輯結構或用戶訪問模式;它可以獨立于在外存上的物理存儲。3.文件的邏輯結構文件邏輯結構的設計要求:文件的邏輯結構是指從用戶觀點出發(fā)討論4.文件的物理結構(文件實現)研究如何在外部存儲介質上為創(chuàng)建文件而分配空間,為刪除文件而回收空間,以及對空閑空間進行管理??臻g分配策略:1.連續(xù)空間分配2.鏈接空間分配3.索引空間分配4.文件的物理結構(文件實現)研究如何在外部存儲介質上為創(chuàng)建空間分配策略:連續(xù)空間分配4.文件的物理結構(文件實現)磁盤空間目錄文件名起始地址大小Hello.c22z1.cc95a.out2130163115空間分配策略:連續(xù)空間分配4.文件的物理結構(文件實現)磁空間分配策略:鏈接空間分配4.文件的物理結構(文件實現)磁盤空間目錄文件名起始地址結束地址Hello.c24Hello.c:2->5->10->25->19->401631155-11025419空間分配策略:鏈接空間分配4.文件的物理結構(文件實現)磁空間分配策略:索引空間分配4.文件的物理結構(文件實現)0磁盤空間目錄文件名索引地址Hello.c202,7,13,16,27,-1磁盤塊20的內容:163115空間分配策略:索引空間分配4.文件的物理結構(文件實現)0空閑空間管理空閑塊位示圖空閑塊鏈表4.文件的物理結構(文件實現)空閑空間管理空閑塊位示圖空閑塊鏈表4.文件的物理結構(文件實簇的大小兩個極端:大到能容納整個文件,小到一個外存存儲塊;簇較大:提高I/O訪問性能,減小管理開銷;但簇內碎片浪費問題較嚴重;簇較?。捍貎鹊乃槠速M較小,特別是大量小文件時有利;但存在簇編號空間不夠的問題(如FAT12、16、32);文件的存儲空間通常由多個分立的簇組成,而每個簇包含若干個連續(xù)的扇區(qū)(sector)。5.文件存儲單位:簇(cluster)簇的大小文件的存儲空間通常由多個分立的簇組成,而每個簇包含若簇的分配方法:兩種簇大小可變:I/O訪問性能較好,文件存儲空間的管理困難(類似于動態(tài)分區(qū)存儲管理)簇大小固定:文件存儲空間使用靈活,但I/O訪問性能下降,文件管理所需空間開銷較大5.文件存儲單位:簇(cluster)簇的分配方法:兩種5.文件存儲單位:簇(cluster)文件卷容量與簇大小的關系文件卷容量越大,若簇的總數保持不變即簇編號所需位數保持不變,則簇越大。缺點:簇內碎片浪費越多文件卷容量越大,若簇大小不變,則簇總數越多,相應簇編號所需位數越多。如簇編號長度為12、16、32二進制位,即構成FAT12、FAT16、FAT32。5.文件存儲單位:簇(cluster)5.文件存儲單位:簇(cluster)Windows操作系統文件系統目錄內容目錄結構目錄管理目錄是由文件說明索引組成的用于文件檢索的特殊文件。文件目錄的內容主要是文件訪問的控制信息(不包括文件內容)。Windows操作系統文件系統目錄內容目錄是由文件說明索引組Windows操作系統文件系統文件名:字符串,通常在不同系統中允許不同的最大長度??梢孕薷?。有些系統允許同一個文件有多個別名(alias);文件類型:可有多種不同的劃分方法,如:有無結構(記錄文件,流式文件)內容(二進制,文本)用途(源代碼,目標代碼,可執(zhí)行文件,數據)屬性attribute(如系統,隱含等)文件組織(如順序,索引等)目錄的內容是文件屬性信息(properties),其中的一部分是用戶可獲取的。1.基本信息Windows操作系統文件系統文件名:字符串,通常在不同系統Windows操作系統文件系統存放位置:包括哪個設備或文件卷volume,以及各個存儲塊位置;文件長度(當前和上限):以字節(jié)、字或存儲塊為單位??梢酝ㄟ^寫入或創(chuàng)建、打開、關閉等操作而變化。1.目錄內容Windows操作系統文件系統存放位置:包括哪個設備或文件卷Windows操作系統文件系統創(chuàng)建時間最后一次讀訪問的時間和用戶最后一次寫訪問的時間和用戶3.訪問控制信息文件所有者(屬主):通常是創(chuàng)建文件的用戶,或者改變已有文件的屬主;訪問權限(控制各用戶可使用的訪問方式):如讀、寫、執(zhí)行、刪除等;1.目錄內容Windows操作系統文件系統創(chuàng)建時間3.訪問控制信息文件單級目錄:整個目錄組織是一個線性結構,系統中的所有文件都建立在一張目錄表中。它主要用于單用戶操作系統。它具有如下的特點:結構簡單;文件多時,目錄檢索時間長;有命名沖突:如重名(多個文件有相同的文件名)或別名(一個文件有多個不同的文件名)目錄結構討論目錄的組織結構,設計目標是檢索效率。Windows操作系統文件系統單級目錄:整個目錄組織是一個線性結構,系統中的所有文件都建立二級目錄:在根目錄下,每個用戶對應一個目錄(第二級目錄);在用戶目錄下是該用戶的文件,而不再有下級目錄。適用于多用戶系統,各用戶可有自己的專用目錄。2.目錄結構2.目錄結構多級層次目錄:或稱為樹狀目錄。在文件數目較多時,便于系統和用戶將文件分散管理。適用于較大的文件系統管理。目錄級別太多時,會增加路徑檢索時間。目錄名:可以修改。目錄樹:中間結點是目錄,葉子結點是目錄或文件。目錄的上下級關系:當前目錄(currentdirectory,workingdirectory)、父目錄(parentdirectory)、子目錄(subdirectory)、根目錄(rootdirectory)等;路徑(path):每個目錄或文件,可以由根目錄開始依次經由的各級目錄名,加上最終的目錄名或文件名來表示;Windows操作系統文件系統多級層次目錄:或稱為樹狀目錄。在文件數目較多時,便于系統和用多級目錄組織2.目錄結構多級目錄組織2.目錄結構進行文件訪問和控制時,由操作系統自動更新目錄內容目錄創(chuàng)建mkdir,刪除rmdir,修改目錄名rename。改變當前目錄chdir;目錄管理是指目錄訪問和目錄屬性控制。Windows操作系統文件系統進行文件訪問和控制時,由操作系統自動更新目錄內容目錄管理是指Windows操作系統文件系統文件訪問類型:讀read:可讀出文件內容;寫write(修改update或添加append):可把數據寫入文件;執(zhí)行execute:可由系統讀出文件內容,作為代碼執(zhí)行;刪除delete:可刪除文件;修改訪問權限changeprotection:修改文件屬主或訪問權限設置文件訪問權限的目的是為了在多個用戶間提供有效的文件共享機制;Windows操作系統文件系統文件訪問類型:設置文件訪問權限用戶范圍類型:指定用戶用戶組任意用戶訪問類型和用戶范圍的組合:訪問矩陣:矩陣的一維是每個目錄和文件,另一維是用戶范圍,每個元素是允許的訪問方式訪問策略(policy):每種文件訪問方式,所允許或禁止的用戶范圍??梢詫⑽募L問方式推廣到其他操作如用戶管理,備份,網絡訪問等。Windows操作系統文件系統用戶范圍類型:Windows操作系統文件系統Windows操作系統文件系統Windows直接支持的文件系統包括:CDFS,UDFFAT12/FAT16/FAT32NTFSWindows操作系統文件系統Windows直接支持的文件系Windows操作系統文件系統CDFS(CDROM,只讀光盤文件系統)是1988年為只讀光盤所制定的文件系統標準。CDFS比較簡單,但是有一定的限制:文件和目錄名的長度必須少于32個字符。目錄樹的深度不能超過8層。現已過時,已被UDF標準所代替。FSD:\[WinRoot]\System32\Drivers\Cdfs.sysWindows操作系統文件系統CDFS(CDROM,只讀光UDF(UniversalDiskFormat,通用磁盤格式)是于1995年由OSTA(OpticalStorageTechnologyAssociation,光學存儲技術協會)為光磁盤存儲媒介如DVD-ROM等所制定的,用來代替CDFS,比CDFS更加靈活。UDF具有如下特點:文件名區(qū)分大小寫文件名可以有255字符長最長路徑為1023個字符FSD:\[WinRoot]\System32\Drivers\Udfs.sysWindows文件系統概述:UDFUDF(UniversalDiskFormat,通用磁盤FAT(Table,文件分配表)文件系統屬遺留文件系統。為了向后兼容,也為了方便用戶升級,Windows2000/XP/2003仍然提供對FAT的支持
每一種FAT文件系統都用一個數字來標識磁盤上簇號的位數。例如,FAT12的簇標識為12位(二進制數),這限制了它的單個分區(qū)最多只能存儲212(=4096)個簇,而FAT12在Windows2000/XP中的簇大小在512B與8KB之間,這意味著FAT12卷的大小至多只有32M。
FSD:\Winnt\System32\Drivers\Fastfat.sysWindows文件系統概述:FATFAT(Table,文件分配表)文件系統屬遺留文件系統。為NTFS是Windows2000/XP的本機文件系統NTFS的簇標識為64位文件與目錄的安全性文件與目錄的壓縮文件與目錄的加密文件與目錄的可恢復性FSD:\[WinRoot]\System32\Drivers\ntfs.sysWindows文件系統概述:NTFSNTFS是Windows2000/XP的本機文件系統WinWindows操作系統文件系統
每一種FAT文件系統都用一個數字來標識磁盤上簇號的位數:FAT12/FAT16FAT32系統文件分配表中每個簇的字節(jié)數簇界限FAT121.5小于4087簇FAT162界于4087和65526簇之間(包括邊界)FAT324界于65526和268,435,456簇之間(包括邊界)Windows操作系統文件系統每一種FAT文件系統都多級目錄,無用戶訪問權限控制磁盤文件卷結構Windows操作系統文件系統FAT12與FAT16多級目錄,無用戶訪問權限控制磁盤文件卷結構Windows操作字節(jié)偏移量(16進制)域長樣值(16進制)含義003字節(jié)EB3C90轉移指令038字節(jié)MSDOS5.0文本格式的OEM名0B25字節(jié)
BIOS參數塊(BIOSParameterBlock,BPB)2426字節(jié)
擴展BIOS參數塊(ExtendedBIOSParameterBlock,EBPB)3E448字節(jié)
引導代碼1FE2字節(jié)55AA扇區(qū)結束標記引導扇區(qū)FAT12與FAT16字節(jié)偏移量(16進制)域長樣值(16進制)含義003字節(jié)引導扇區(qū)的BIOS參數塊包含了卷的信息,包括:簇大小,根目錄項數目,FAT表大小,磁盤參數(每道扇區(qū)數,磁頭數),文件卷中的扇區(qū)總數,簇編號長度等邏輯扇區(qū)號:三元組(柱面號,磁頭號,扇區(qū)號)->一個文件卷中從0開始對每個扇區(qū)編號,優(yōu)點:屏蔽了物理磁盤參數的不同允許同時訪問的文件卷數目上限可以由config.sys文件中的LASTDRIVE=語句指定簇(cluster):由若干個扇區(qū)組成。在一個文件卷中從0開始對每個簇編號。FAT12與FAT16引導扇區(qū)的BIOS參數塊包含了卷的信息,包括:簇大小,根目錄FAT12與FAT16字節(jié)偏移量(16進制)域長樣值(16進制)含義0B2字節(jié)0002每扇區(qū)字節(jié)數0D1字節(jié)08每簇扇區(qū)數0E2字節(jié)0100保留扇區(qū)數:從分區(qū)引導扇區(qū)到第一個文件分配表開始的扇區(qū)數101字節(jié)02文件分配表數112字節(jié)0002根目錄項數132字節(jié)0000小扇區(qū)數:卷上的扇區(qū)數,如果該數適合于16位(65535)的話151字節(jié)F8介質類型:F8表明為硬盤,F0表明為軟盤162字節(jié)C900每個文件分配表的扇區(qū)數182字節(jié)3F00每磁道扇區(qū)數1A2字節(jié)1000磁頭數1C4字節(jié)3F000000隱藏扇區(qū)數204字節(jié)51420600大扇區(qū)數:如果小扇區(qū)數域的取值為0,該域包含的是卷中的扇區(qū)總數BIOS參數塊(BPB)FAT12與FAT16字節(jié)偏移量(16進制)域長樣值(16進字節(jié)偏移量(16進制)域長樣值(16進制)含義241字節(jié)80物理磁盤號:軟盤從0x00開始編號,硬盤從0x80開始編號251字節(jié)00當前磁頭:FAT文件系統不使用。261字節(jié)29簽名:必須是0x28或0x29,以便被Windows
NT所識別。274字節(jié)CE134630卷序列號:當格式化卷時創(chuàng)建的一個唯一的數字。2B11字節(jié)NONAME卷標:該域用于存放卷標,但是卷標目前是在根目錄中作為一個特別文件而存放的。368字節(jié)FAT16系統ID:根據磁盤的格式,該域的取值為FAT12或FAT16。FAT12與FAT16擴展BIOS參數塊(EBPB)字節(jié)偏移量(16進制)域長樣值(16進制)含義241字節(jié)
每個FAT表項所占位數是簇編號的位數,其值是(以FAT12為例):0:表示該簇空閑FF7h:物理壞扇區(qū)FF8h~FFFh:表示該簇是文件的最后一個簇其他值:表示該簇被文件占用,而且表項中的值是文件下一個簇的編號。FAT表:兩個鏡像,互為備份。文件卷中的每個簇均對應一個FAT表項,文件分配采用鏈式分配方法。FAT12與FAT16每個FAT表項所占位數是簇編號的位數,其值是(以FAT12目錄:是目錄項的順序文件(即大小相同的記錄序列),不對目錄項排序。若目錄中包含的文件數目較多,則搜索效率低。每個目錄項大小為32字節(jié),其內容包括:文件名(8+3個字符),屬性(包括文件、子目錄和文件卷標識),最后一次修改時間和日期,文件長度,第一個簇的編號。在目錄項中,若第一個字節(jié)為E5h,則表示空目錄項;若為05h,則表示文件名的第一個字符為E5h。文件名不區(qū)分大小寫目錄:是目錄項的順序文件(即大小相同的記錄序列),不對目錄項目錄項偏移域長含義00h8文件名08h3文件擴展名0Bh1文件屬性字節(jié)0Ch10保留16h2最后一次修改的時間18h2最后一次修改的日期1Ah2起始簇號1Ch4文件大小FAT12與FAT16Bit7-6543210保留歸檔目錄卷標系統隱藏只讀文件屬性字節(jié)目錄項偏移域長含義00h8文件名08h3文件擴展名0Bh1文FAT32主要應用于Windows9x系統FAT32的根目錄區(qū)(ROOT區(qū))不再是固定區(qū)域、固定大小,而是可以看作數據區(qū)的一部分,采用與子目錄文件相同的管理方式。根目錄下的文件數目不再受最多256的限制。目錄項仍占32字節(jié),可以是文件目錄項、子目錄項、卷標項(僅根目錄有)、已刪除目錄項、長文件名目錄項等。支持長文件名格式支持Unicode無法支持高級容錯特性,不具有內部安全特性,因而仍然無法達到高性能文件系統的要求FAT32主要應用于Windows9x系統字節(jié)偏移量(16進制)域長含義0B2字節(jié)每扇區(qū)字節(jié)數0D1字節(jié)每簇扇區(qū)數0E2字節(jié)保留扇區(qū)數101字節(jié)文件分配表數112字節(jié)根目錄項數132字節(jié)小扇區(qū)數/0000
151字節(jié)介質類型:F8表明為硬盤,F0表明為軟盤162字節(jié)每個文件分配表的扇區(qū)數/0000
182字節(jié)每磁道扇區(qū)數1A2字節(jié)磁頭數1C4字節(jié)隱藏扇區(qū)數204字節(jié)大扇區(qū)數/總扇區(qū)數
FAT32標準BPB字節(jié)偏移量(16進制)域長含義0B2字節(jié)每扇區(qū)字節(jié)數0D字節(jié)偏移量(16進制)域長含義244字節(jié)每個FAT的FAT32扇區(qū)數282字節(jié)指定當前激活的FAT2A2字節(jié)版本號2C4字節(jié)根目錄起始簇號302字節(jié)指向文件系統信息扇區(qū)322字節(jié)指向引導扇區(qū)副本扇區(qū)3412字節(jié)保留401字節(jié)物理磁盤號411字節(jié)保留421字節(jié)簽名:必須是0x28或0x29434字節(jié)卷序列號4711字節(jié)卷標528字節(jié)文件系統ID:FAT32擴展BPBFAT32字節(jié)偏移量(16進制)域長含義244字節(jié)每個FAT的FAFAT32長文件名長文件名目錄項偏移長度含義00h1Bits0-5givetheLFNpartnumber,bit6issetifthisisthelastentryforthefile.01h101st5lettersofLFNentry.0Bh10Fh0Ch1Reservedsetto0.0Dh1Checksum.0Eh12Next6lettersofLFNentry.1Ah201Ch4Last2lettersofLFNentry.FAT32長文件名長文件名目錄項偏移長度含義00h1BitsFAT32長文件名文件名為Thequickbrown.fox,采用Unicode編碼,則FAT32的目錄項為:FAT32長文件名文件名為Thequickbrown.fWindows操作系統文件系統NTFS為改進的多級目錄結構,支持文件別名;NTFS文件由多個文件屬性構成,每個屬性由屬性名和屬性流(stream,簡單字節(jié)隊列)組成;用戶可自定義屬性;NTFS支持用戶權限管理:有5種權限劃分:讀、寫、運行、刪除和修改權限;支持按用戶、用戶組分配權限;NTFS文件支持數據壓縮功能;NTFS卷結構支持容錯功能;NTFS的技術特點Windows操作系統文件系統NTFS為改進的多級目錄結構,Windows操作系統文件系統NTFS具有眾多優(yōu)點,這主要是因為它在磁盤上獨特的實現方法。如何劃分磁盤,如何組織文件與目錄,如何存儲文件屬性與數據,如何壓縮文件數據等。Windows操作系統文件系統NTFS具有眾多優(yōu)點,這主要是Windows操作系統文件系統卷是建立在磁盤分區(qū)上。一個磁盤可以有多個卷,一個卷也可以有多個磁盤組成
(已格式化過的)卷上的數據可分為:元數據和用戶數據Windows操作系統文件系統卷是建立在磁盤分區(qū)上。Windows操作系統文件系統簇作為磁盤空間分配和回收的基本單位簇的大小是用戶在使用Format命令或其他的格式化程序格式化卷時確定的。簇因子隨卷的大小而不同,但都是物理扇區(qū)的整數倍,通常是2的冪,
NTFS使用LCN(LogicalClusterNumber,邏輯簇號)和VCN(VirtualClusterNumber,虛擬簇號)來進行簇的定位。LCN是對整個卷中所有的簇從頭到尾所進行的簡單編號。VCN是對屬于特定文件的簇從頭到尾進行編號,以便于引用文件中的數據。Windows操作系統文件系統簇作為磁盤空間分配和回收的基本Windows操作系統文件系統MFT(Master,主控文件表)是NTFS卷結構的核心,是NTFS中最重要的系統文件,包含了卷中所有文件的信息。MFT是以文件記錄數組來實現的,每個文件記錄的大小都固定為1KB。卷上的每個文件(包括MFT本身)都有一行MFT記錄。MFT開始的16個元數據文件是保留的。在NTFS中只有這16個元數據文件占有固定的位置。每個這樣的元數據文件都有一個以"$"開頭的文件名稱,不過該符號是隱藏的。16個元數據文件之后則是普通的用戶文件和目錄。Windows操作系統文件系統MFT(Master,主控文Windows操作系統文件系統0:$Mft:MFT本身1:$MftMirr:MFT鏡像2:$LogFile:日志文件3:$Volume:卷文件4:$AttrDef:屬性定義表5:$\:根目錄6:$Bitmap:位圖文件7:$Boot:引導文件8:$BadClus:壞簇文件9:$Secure:安全文件10:$UpCase:大寫文件11:$Extendedmetadatadirectory:擴展元數據目錄12,13,14,15:預留>15:其他用戶文件和目錄Windows操作系統文件系統0:$Mft:MFT本身Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統每個文件都有一個64位(bit)的、稱為文件引用號(Number)的唯一標識。文件引用號由兩部分組成:一是文件號。文件號為48位(bit),對應于該文件在MFT中的位置。二是文件順序號。文件順序號隨著每次文件記錄的重用而增加,這是為了讓NTFS進行內部一致性檢查。Windows操作系統文件系統每個文件都有一個64位(bitWindows操作系統文件系統NTFS文件是屬性/屬性值的集合。文件數據就是未命名屬性的值,其他文件屬性包括文件名、文件擁有者、文件時間標記等。每個屬性由單個的流(stream)組成,即簡單的字符序列。NTFS提供對屬性流的各種操作:創(chuàng)建、刪除、讀?。ㄗ止?jié)范圍)以及寫入(字節(jié)范圍)。讀寫操作一般是針對文件的未命名屬性的,對于已命名的屬性則可以通過已命名的數據流句法來進行操作。Windows操作系統文件系統NTFS文件是屬性/屬性值的集NTFS文件是屬性的集合,通常所說的文件內容是指未命名數據屬性流;例:我們定義兩個數據屬性:ntfile(數據)和nt(自定義數據)。在向FAT復制時,自定義屬性會丟失。echotestdata>ntfileechotestuserdefineddata>ntmore<ntfilemore<ntcopynt(E:為NTFS文件系統)copynt(C:為FAT文件系統)more<e:ntfilemore<e:ntmore<c:ntfilemore<c:ntNTFS磁盤結構:文件記錄NTFS文件是屬性的集合,通常所說的文件內容是指未命名數據屬Windows操作系統文件系統NTFS卷上文件的常用屬性(并不是所有文件都有所有這些屬性)。
$VOLUME_INFORMATION$VOLUME_NAME$STANDARD_INFORMATION$$SECURITY_DESCRIPTOR$DATA$INDEX_ROOT$INDEX_ALLOCATION$BITMAP$ATTRIBUTE_LIST$OBJECT_ID$REPARSE_POINT$EA$EA_INFORMATION$LOGGED_UTILITY_STREAMWindows操作系統文件系統NTFS卷上文件的常用屬性(并Windows操作系統文件系統NTFS路徑名中的每個文件名/目錄名的長度可達255個字節(jié),可以包含Unicode字符、多個空格及句點。Windows操作系統文件系統NTFS路徑名中的每個文件名/Windows操作系統文件系統當屬性值能直接存放在MFT中時,該屬性就稱為常駐屬性(residentattribute)。有些屬性總是常駐的,這樣NTFS才可以確定其他非常駐屬性。例如,標準信息屬性和索引根就總是常駐屬性。如果屬性值能直接存放在MFT中,那么NTFS對它的訪問時間就將大大縮短。小文件或小目錄的所有屬性,均可以在MFT中常駐。小文件的未命名屬性可以包括所有文件數據。小目錄的索引根屬性可以包括其中所有文件和子目錄的索引。大文件或大目錄的所有屬性,就不可能都常駐在MFT中。
Windows操作系統文件系統當屬性值能直接存放在MFT中時Windows操作系統文件系統如果一個屬性(如文件數據屬性)太大而不能存放在只有1KB的MFT文件記錄中,那么NTFS將從MFT之外分配區(qū)域。這些區(qū)域通常稱為一個延展(run)或一個延伸(extent),它們可用來存儲屬性值,如文件數據。如果以后屬性值又增加,那么NTFS將會再分配一個延展,以便用來存儲額外的數據。值存儲在延展中而不是在MFT文件記錄中的屬性稱為非常駐屬性(nonresidentattributes)。在標準屬性中,只有可以增長的屬性才是非常駐的。對文件來說,可增長的屬性有數據、屬性列表等。標準信息和文件名屬性總是常駐的。Windows操作系統文件系統如果一個屬性(如文件數據屬性)Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統索引根屬性將相應目錄中的文件名和子目錄名進行排序。
對于一個大目錄,文件名實際存儲在組織文件名的固定4KB大小的索引緩沖區(qū)中。索引緩沖區(qū)是通過B+樹數據結構實現的。
索引分配屬性包含了索引緩沖區(qū)的VCN到LCN映射位圖屬性跟蹤在索引緩沖區(qū)中哪些VCN是在使用而哪些是空閑的。
Windows操作系統文件系統索引根屬性將相應目錄中的文件名Windows操作系統文件系統壓縮稀疏文件:稀疏文件是指相對于文件大小而言只有少量非零數據的文件。NTFS只給那些包含非零數據的延展分配磁盤空間
當程序從壓縮文件中讀取數據時,NTFS通過檢測該位置是否有VCN到LCN的映射來決定該數據是不是零數據。若有映射,則為非零數據,需要從磁盤上讀??;若沒有映射即存在尚未分配的“空洞”(unallocatedhole),則為零數據,就直接返回零數據。
Windows操作系統文件系統壓縮稀疏文件:Windows操作系統文件系統壓縮非稀疏文件NTFS是以16個簇為壓縮單元來進行一般文件的壓縮的。
當NTFS向壓縮文件寫數據時,它確保每個延展都以一個虛擬16簇邊界開始。因此每個延展中VCN都是以16的倍數開始的,并且延展的長度不大于16。
Windows操作系統文件系統壓縮非稀疏文件Windows文件系統驅動程序(FSD)
Windows文件系統模型WindowsFSD體系結構文件系統操作與FSDNTFSFSD
Windows文件系統驅動程序(FSD)
Windows文件Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統顯式文件I/O高速緩存遲后寫高速緩存超前讀內存臟頁寫內存缺頁處理
Windows操作系統文件系統顯式文件I/OWindows操作系統文件系統Create)(Win32API)
NtCreateFile
通過ObOpenObjectByName解析名稱字符串通過IopParseDevice創(chuàng)建IRP(I/Orequestpacket,I/O請求包)通過IoCallDriver將IRP交給合適的FSD以創(chuàng)建文件
Windows操作系統文件系統Create)(Win32APWindows操作系統文件系統ReadFile =>NtReadFile =>將已打開文件的句柄轉換成文件對象指針
=>檢查訪問權限
=>創(chuàng)建IRP讀請求
=>通過IoCallDriver將IRP交給合適的FSD=>如可在高速緩存,則應檢查PrivateCacheMap=>如有效則表示該文件已有私有高速緩存映射結構;=>如無效則表示尚沒有私有高速緩存映射結構,需要調用CcInitializeCacheMap來初始化=>通過CcCopyRead從高速緩存中讀取數據。如果數據還不在高速緩存中,CcCopyRead會引起缺頁中斷,并間接調用MmAccessFault。
Windows操作系統文件系統ReadFileWindows操作系統文件系統高速緩存遲后寫:高速緩存管理器的遲后寫線程定期地對高速緩存中已被修改的頁面進行寫操作。這是通過調用內存管理器的MmFlushSection函數來完成的。具體地說,MmFlushSection通過IoAsynchronousPageWrite將數據送交FSD。高速緩存超前讀:高速緩存管理器的超前讀線程負責提前讀數據。超前讀線程通過分析已作的讀操作,來決定提前讀多少。提前讀線程是通過缺頁中斷來完成的。Windows操作系統文件系統高速緩存遲后寫:Windows操作系統文件系統內存臟頁寫:內存臟頁寫線程定期地清洗緩沖區(qū)。該線程通過IoAsynchronousPageWrite來創(chuàng)建IRP寫請求,這些IRP被標識為不能通過高速緩存,因此它們被FSD直接送交到磁盤存儲驅動程序。內存缺頁處理:以上在進行顯式I/O操作與高速緩存提前讀時,都會用到內存缺頁處理。另外,只要應用程序訪問內存映射文件且所需頁面不在內存時,也會產生內存缺頁處理。內存缺頁處理MmAccessFault通過IoPageRead向文件所在文件系統發(fā)送IRP請求包來完成。Windows操作系統文件系統內存臟頁寫:Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統應用程序通過NTFSFSD創(chuàng)建和存取文件
:首先進行有關使用權限的檢查,只有合法用戶的請求,才會被執(zhí)行。然后I/O管理器將文件句柄轉換為文件對象指針。最后通過文件對象指針來獲得磁盤上的文件。
Windows操作系統文件系統應用程序通過NTFSFSD創(chuàng)Windows操作系統文件系統Windows操作系統文件系統Windows操作系統文件系統通過文件對象指針來獲得磁盤上的文件:通過文件對象指針獲得文件屬性的SCB(SystemControlBlock,流控制塊),每個SCB表示了文件的單個屬性,并包含如何獲得該屬性的信息。同一個文件的所有SCB都指向一個共同的數據結構FCB(Block,文件控制塊),FCB包含一個指向MFT(Master,主文件表)中的該文件記錄的指針,通過該指針獲得文件訪問權。Windows操作系統文件系統通過文件對象指針來獲得磁盤上的通過針對軟盤進行文件I/O實驗,了解與掌握FAT文件系統基本要求主要實現三個函數:函數physicalDisk判定邏輯驅動器A中磁盤的基本信息函數sectorRead根據給定的物理扇區(qū)號讀取磁盤的扇區(qū)函數sectorDump查看磁盤的內容并把磁盤上得到的信息輸出到標準輸出流中。編寫程序調用physicalDisk、sectorRead和sectorDump三個函數,驗證其正確性。實驗3:軟盤I/O問題通過針對軟盤進行文件I/O實驗,了解與掌握FAT文件系統實驗編程思路:打開驅動器和讀取驅動器信息只需要調用CreateFile和DeviceIoControl兩個函數即可。讀取扇區(qū)時,要注意每個扇區(qū)的長度,并根據每個扇區(qū)的長度*邏輯扇區(qū)號來移動文件指針。將扇區(qū)內容輸出到屏幕時,應該將每字節(jié)按照兩位16進制數輸出,排列整齊。DISK_GEOMETRY是一個重要的結構,反映了磁盤的幾何布局.
實驗3:軟盤I/O問題編程思路:實驗3:軟盤I/O問題附加要求在完成基本要求的基礎上,實現一個簡單的文件管理器,具有如下功能:
列目錄 改變文件名 刪除文件 復制文件
……實驗3:軟盤I/O問題附加要求實驗3:軟盤I/O問題第五章文件系統文件系統的基本概念FATNTFSWindows文件系統驅動程序(FSD)第五章文件系統文件系統的基本概念文件系統概述文件概念與實現目錄概念與實現文件與目錄的訪問權限Windows文件系統概述Windows操作系統文件系統文件系統概述Windows操作系統文件系統
信息是計算機系統中的重要資源。文件系統是操作系統中的一個重要組成部分,負責信息的組織、存儲和訪問。文件系統的功能就是提供高效、快速和方便的信息存儲和訪問功能。文件系統概述信息是計算機系統中的重要資源。文件系統概述Windows操作系統文件系統方便的文件訪問和控制:以符號名稱作為文件標識,便于用戶使用;并發(fā)文件訪問和控制:在多道程系統中支持對文件的并發(fā)訪問和控制;統一的用戶接口:在不同設備上提供同樣的接口,方便用戶操作和編程;多種文件訪問權限:在多用戶系統中的不同用戶對同一文件會有不同的訪問權限;優(yōu)化性能:存儲效率、檢索性能、讀寫性能;差錯恢復:能夠驗證文件的正確性,并具有一定的差錯恢復能力;文件系統概述Windows操作系統文件系統方便的文件訪問和控制:以符號名Windows操作系統文件系統文件訪問:文件的創(chuàng)建、打開和關閉,文件的讀寫;目錄管理:用于文件訪問和控制的信息,不包括文件內容文件結構管理:劃分記錄,順序,索引訪問控制:并發(fā)訪問和用戶權限限額(quota):限制每個用戶能夠建立的文件數目、占用外存空間大小等審計(auditing):記錄對指定文件的使用信息(如訪問時間和用戶等),保存在日志中(文件系統向上層用戶提供的服務)文件系統概述Windows操作系統文件系統文件訪問:文件的創(chuàng)建、打開和關Windows操作系統文件系統文件的分塊存儲:與外存的存儲塊相配合I/O緩沖和調度:性能優(yōu)化文件定位:在外存上查找文件的各個存儲塊外存存儲空間管理:如分配和釋放。主要針對可改寫的外存如磁盤。外存設備訪問和控制:包括由設備驅動程序支持的各種基本文件系統如硬盤,軟盤,CDROM等(文件系統要實現的功能模塊)文件系統概述Windows操作系統文件系統文件的分塊存儲:與外存的存儲塊文件體:文件本身的信息;文件屬性:文件存儲和管理信息,例如:文件名、文件內部標識、文件存儲地址、訪問權限、訪問時間等;文件是具有符號名的數據項的集合。文件名是文件的標識符號。文件包括兩部分:1.文件的概念文件概念與實現文件體:文件本身的信息;文件是具有符號名的數據項的集合。文件Windows操作系統文件系統打開:為文件讀寫所進行的準備。給出文件路徑,獲得文件句柄(),或文件描述符()。需將該文件的目錄項讀入到內存中。關閉:釋放文件描述符,把該文件在內存緩沖區(qū)的內容更新到外存上。讀、寫和文件讀寫定位:系統為每個打開文件維護一個讀寫指針,它是相對于文件開頭的偏移地址。讀寫指針指向每次文件讀寫的開始位置,在每次讀寫完成后,讀寫指針按照讀寫的數據量自動后移相應數值。……指圍繞文件內容讀寫進行的文件操作。Windows操作系統文件系統打開:為文件讀寫所進行的準備。3.文件的邏輯結構文件結構是指文件的組織形式。文件結構分為文件的邏輯結構(structure)和文件的物理結構(structure)。邏輯結構是從用戶的觀點出發(fā),所看到的是獨立于文件物理特性的文件組織形式,是用戶可以直接處理的數據及其結構。物理結構是文件在外存上具體的存儲結構。3.文件的邏輯結構文件結構是指文件的組織形式。文件邏輯結構的設計要求:訪問性能:便于檢索;便于修改存儲性能:向物理存儲轉換方便,節(jié)省空間文件的邏輯結構較一般可分為記錄式文件和流式文件兩種。前者是指用戶把每個文件分為若干記錄單位,存取文件以記錄為單位來進行的,而后者則是指文件由字符流組成,文件內部的信息不再劃分單位。文件的邏輯結構是指從用戶觀點出發(fā)討論文件內部的邏輯結構或用戶訪問模式;它可以獨立于在外存上的物理存儲。3.文件的邏輯結構文件邏輯結構的設計要求:文件的邏輯結構是指從用戶觀點出發(fā)討論4.文件的物理結構(文件實現)研究如何在外部存儲介質上為創(chuàng)建文件而分配空間,為刪除文件而回收空間,以及對空閑空間進行管理??臻g分配策略:1.連續(xù)空間分配2.鏈接空間分配3.索引空間分配4.文件的物理結構(文件實現)研究如何在外部存儲介質上為創(chuàng)建空間分配策略:連續(xù)空間分配4.文件的物理結構(文件實現)磁盤空間目錄文件名起始地址大小Hello.c22z1.cc95a.out2130163115空間分配策略:連續(xù)空間分配4.文件的物理結構(文件實現)磁空間分配策略:鏈接空間分配4.文件的物理結構(文件實現)磁盤空間目錄文件名起始地址結束地址Hello.c24Hello.c:2->5->10->25->19->401631155-11025419空間分配策略:鏈接空間分配4.文件的物理結構(文件實現)磁空間分配策略:索引空間分配4.文件的物理結構(文件實現)0磁盤空間目錄文件名索引地址Hello.c202,7,13,16,27,-1磁盤塊20的內容:163115空間分配策略:索引空間分配4.文件的物理結構(文件實現)0空閑空間管理空閑塊位示圖空閑塊鏈表4.文件的物理結構(文件實現)空閑空間管理空閑塊位示圖空閑塊鏈表4.文件的物理結構(文件實簇的大小兩個極端:大到能容納整個文件,小到一個外存存儲塊;簇較大:提高I/O訪問性能,減小管理開銷;但簇內碎片浪費問題較嚴重;簇較?。捍貎鹊乃槠速M較小,特別是大量小文件時有利;但存在簇編號空間不夠的問題(如FAT12、16、32);文件的存儲空間通常由多個分立的簇組成,而每個簇包含若干個連續(xù)的扇區(qū)(sector)。5.文件存儲單位:簇(cluster)簇的大小文件的存儲空間通常由多個分立的簇組成,而每個簇包含若簇的分配方法:兩種簇大小可變:I/O訪問性能較好,文件存儲空間的管理困難(類似于動態(tài)分區(qū)存儲管理)簇大小固定:文件存儲空間使用靈活,但I/O訪問性能下降,文件管理所需空間開銷較大5.文件存儲單位:簇(cluster)簇的分配方法:兩種5.文件存儲單位:簇(cluster)文件卷容量與簇大小的關系文件卷容量越大,若簇的總數保持不變即簇編號所需位數保持不變,則簇越大。缺點:簇內碎片浪費越多文件卷容量越大,若簇大小不變,則簇總數越多,相應簇編號所需位數越多。如簇編號長度為12、16、32二進制位,即構成FAT12、FAT16、FAT32。5.文件存儲單位:簇(cluster)5.文件存儲單位:簇(cluster)Windows操作系統文件系統目錄內容目錄結構目錄管理目錄是由文件說明索引組成的用于文件檢索的特殊文件。文件目錄的內容主要是文件訪問的控制信息(不包括文件內容)。Windows操作系統文件系統目錄內容目錄是由文件說明索引組Windows操作系統文件系統文件名:字符串,通常在不同系統中允許不同的最大長度??梢孕薷摹S行┫到y允許同一個文件有多個別名(alias);文件類型:可有多種不同的劃分方法,如:有無結構(記錄文件,流式文件)內容(二進制,文本)用途(源代碼,目標代碼,可執(zhí)行文件,數據)屬性attribute(如系統,隱含等)文件組織(如順序,索引等)目錄的內容是文件屬性信息(properties),其中的一部分是用戶可獲取的。1.基本信息Windows操作系統文件系統文件名:字符串,通常在不同系統Windows操作系統文件系統存放位置:包括哪個設備或文件卷volume,以及各個存儲塊位置;文件長度(當前和上限):以字節(jié)、字或存儲塊為單位。可以通過寫入或創(chuàng)建、打開、關閉等操作而變化。1.目錄內容Windows操作系統文件系統存放位置:包括哪個設備或文件卷Windows操作系統文件系統創(chuàng)建時間最后一次讀訪問的時間和用戶最后一次寫訪問的時間和用戶3.訪問控制信息文件所有者(屬主):通常是創(chuàng)建文件的用戶,或者改變已有文件的屬主;訪問權限(控制各用戶可使用的訪問方式):如讀、寫、執(zhí)行、刪除等;1.目錄內容Windows操作系統文件系統創(chuàng)建時間3.訪問控制信息文件單級目錄:整個目錄組織是一個線性結構,系統中的所有文件都建立在一張目錄表中。它主要用于單用戶操作系統。它具有如下的特點:結構簡單;文件多時,目錄檢索時間長;有命名沖突:如重名(多個文件有相同的文件名)或別名(一個文件有多個不同的文件名)目錄結構討論目錄的組織結構,設計目標是檢索效率。Windows操作系統文件系統單級目錄:整個目錄組織是一個線性結構,系統中的所有文件都建立二級目錄:在根目錄下,每個用戶對應一個目錄(第二級目錄);在用戶目錄下是該用戶的文件,而不再有下級目錄。適用于多用戶系統,各用戶可有自己的專用目錄。2.目錄結構2.目錄結構多級層次目錄:或稱為樹狀目錄。在文件數目較多時,便于系統和用戶將文件分散管理。適用于較大的文件系統管理。目錄級別太多時,會增加路徑檢索時間。目錄名:可以修改。目錄樹:中間結點是目錄,葉子結點是目錄或文件。目錄的上下級關系:當前目錄(currentdirectory,workingdirectory)、父目錄(parentdirectory)、子目錄(subdirectory)、根目錄(rootdirectory)等;路徑(path):每個目錄或文件,可以由根目錄開始依次經由的各級目錄名,加上最終的目錄名或文件名來表示;Windows操作系統文件系統多級層次目錄:或稱為樹狀目錄。在文件數目較多時,便于系統和用多級目錄組織2.目錄結構多級目錄組織2.目錄結構進行文件訪問和控制時,由操作系統自動更新目錄內容目錄創(chuàng)建mkdir,刪除rmdir,修改目錄名rename。改變當前目錄chdir;目錄管理是指目錄訪問和目錄屬性控制。Windows操作系統文件系統進行文件訪問和控制時,由操作系統自動更新目錄內容目錄管理是指Windows操作系統文件系統文件訪問類型:讀read:可讀出文件內容;寫write(修改update或添加append):可把數據寫入文件;執(zhí)行execute:可由系統讀出文件內容,作為代碼執(zhí)行;刪除delete:可刪除文件;修改訪問權限changeprotection:修改文件屬主或訪問權限設置文件訪問權限的目的是為了在多個用戶間提供有效的文件共享機制;Windows操作系統文件系統文件訪問類型:設置文件訪問權限用戶范圍類型:指定用戶用戶組任意用戶訪問類型和用戶范圍的組合:訪問矩陣:矩陣的一維是每個目錄和文件,另一維是用戶范圍,每個元素是允許的訪問方式訪問策略(policy):每種文件訪問方式,所允許或禁止的用戶范圍??梢詫⑽募L問方式推廣到其他操作如用戶管理,備份,網絡訪問等。Windows操作系統文件系統用戶范圍類型:Windows操作系統文件系統Windows操作系統文件系統Windows直接支持的文件系統包括:CDFS,UDFFAT12/FAT16/FAT32NTFSWindows操作系統文件系統Windows直接支持的文件系Windows操作系統文件系統CDFS(CDROM,只讀光盤文件系統)是1988年為只讀光盤所制定的文件系統標準。CDFS比較簡單,但是有一定的限制:文件和目錄名的長度必須少于32個字符。目錄樹的深度不能超過8層?,F已過時,已被UDF標準所代替。FSD:\[WinRoot]\System32\Drivers\Cdfs.sysWindows操作系統文件系統CDFS(CDROM,只讀光UDF(UniversalDiskFormat,通用磁盤格式)是于1995年由OSTA(OpticalStorageTechnologyAssociation,光學存儲技術協會)為光磁盤存儲媒介如DVD-ROM等所制定的,用來代替CDFS,比CDFS更加靈活。UDF具有如下特點:文件名區(qū)分大小寫文件名可以有255字符長最長路徑為1023個字符FSD:\[WinRoot]\System32\Drivers\Udfs.sysWindows文件系統概述:UDFUDF(UniversalDiskFormat,通用磁盤FAT(Table,文件分配表)文件系統屬遺留文件系統。為了向后兼容,也為了方便用戶升級,Windows2000/XP/2003仍然提供對FAT的支持
每一種FAT文件系統都用一個數字來標識磁盤上簇號的位數。例如,FAT12的簇標識為12位(二進制數),這限制了它的單個分區(qū)最多只能存儲212(=4096)個簇,而FAT12在Windows2000/XP中的簇大小在512B與8KB之間,這意味著FAT12卷的大小至多只有32M。
FSD:\Winnt\System32\Drivers\Fastfat.sysWindows文件系統概述:FATFAT(Table,文件分配表)文件系統屬遺留文件系統。為NTFS是Windows2000/XP的本機文件系統NTFS的簇標識為64位文件與目錄的安全性文件與目錄的壓縮文件與目錄的加密文件與目錄的可恢復性FSD:\[WinRoot]\System32\Drivers\ntfs.sysWindows文件系統概述:NTFSNTFS是Windows2000/XP的本機文件系統WinWindows操作系統文件系統
每一種FAT文件系統都用一個數字來標識磁盤上簇號的位數:FAT12/FAT16FAT32系統文件分配表中每個簇的字節(jié)數簇界限FAT121.5小于4087簇FAT162界于4087和65526簇之間(包括邊界)FAT324界于65526和268,435,456簇之間(包括邊界)Windows操作系統文件系統每一種FAT文件系統都多級目錄,無用戶訪問權限控制磁盤文件卷結構Windows操作系統文件系統FAT12與FAT16多級目錄,無用戶訪問權限控制磁盤文件卷結構Windows操作字節(jié)偏移量(16進制)域長樣值(16進制)含義003字節(jié)EB3C90轉移指令038字節(jié)MSDOS5.0文本格式的OEM名0B25字節(jié)
BIOS參數塊(BIOSParameterBlock,BPB)2426字節(jié)
擴展BIOS參數塊(ExtendedBIOSParameterBlock,EBPB)3E448字節(jié)
引導代碼1FE2字節(jié)55AA扇區(qū)結束標記引導扇區(qū)FAT12與FAT16字節(jié)偏移量(16進制)域長樣值(16進制)含義003字節(jié)引導扇區(qū)的BIOS參數塊包含了卷的信息,包括:簇大小,根目錄項數目,FAT表大小,磁盤參數(每道扇區(qū)數,磁頭數),文件卷中的扇區(qū)總數,簇編號長度等邏輯扇區(qū)號:三元組(柱面號,磁頭號,扇區(qū)號)->一個文件卷中從0開始對每個扇區(qū)編號,優(yōu)點:屏蔽了物理磁盤參數的不同允許同時訪問的文件卷數目上限可以由config.sys文件中的LASTDRIVE=語句指定簇(cluster):由若干個扇區(qū)組成。在一個文件卷中從0開始對每個簇編號。FAT12與FAT16引導扇區(qū)的BIOS參數塊包含了卷的信息,包括:簇大小,根目錄FAT12與FAT16字節(jié)偏移量(16進制)域長樣值(16進制)含義0B2字節(jié)0002每扇區(qū)字節(jié)數0D1字節(jié)08每簇扇區(qū)數0E2字節(jié)0100保留扇區(qū)數:從分區(qū)引導扇區(qū)到第一個文件分配表開始的扇區(qū)數101字節(jié)02文件分配表數112字節(jié)0002根目錄項數132字節(jié)0000小扇區(qū)數:卷上的扇區(qū)數,如果該數適合于16位(65535)的話151字節(jié)F8介質類型:F8表明為硬盤,F0表明為軟盤162字節(jié)C900每個文件分配表的扇區(qū)數182字節(jié)3F00每磁道扇區(qū)數1A2字節(jié)1000磁頭數1C4字節(jié)3F000000隱藏扇區(qū)數204字節(jié)51420600大扇區(qū)數:如果小扇區(qū)數域的取值為0,該域包含的是卷中的扇區(qū)總數BIOS參數塊(BPB)FAT12與FAT16字節(jié)偏移量(16進制)域長樣值(16進字節(jié)偏移量(16進制)域長樣值(16進制)含義241字節(jié)80物理磁盤號:軟盤從0x00開始編號,硬盤從0x80開始編號251字節(jié)00當前磁頭:FAT文件系統不使用。261字節(jié)29簽名:必須是0x28或0x29,以便被Windows
NT所識別。274字節(jié)CE134630卷序列號:當格式化卷時創(chuàng)建的一個唯一的數字。2B11字節(jié)NONAME卷標:該域用于存放卷標,但是卷標目前是在根目錄中作為一個特別文件而存放的。368字節(jié)FAT16系統ID:根據磁盤的格式,該域的取值為FAT12或FAT16。FAT12與FAT16擴展BIOS參數塊(EBPB)字節(jié)偏移量(16進制)域長樣值(16進制)含義241字節(jié)
每個FAT表項所占位數是簇編號的位數,其值是(以FAT12為例):0:表示該簇空閑FF7h:物理壞扇區(qū)FF8h~FFFh:表示該簇是文件的最后一個簇其他值:表示該簇被文件占用,而且表項中的值是文件下一個簇的編號。FAT表:兩個鏡像,互為備份。文件卷中的每個簇均對應一個FAT表項,文件分配采用鏈式分配方法。FAT12與FAT16每個FAT表項所占位數是簇編號的位數,其值是(以FAT12目錄:是目錄項的順序文件(即大小相同的記錄序列),不對目錄項排序。若目錄中包含的文件數目較多,則搜索效率低。每個目錄項大小為32字節(jié),其內容包括:文件名(8+3個字符),屬性(包括文件、子目錄和文件卷標識),最后一次修改時間和日期,文件長度,第一個簇的編號。在目錄項中,若第一個字節(jié)為E5h,則表示空目錄項;若為05h,則表示文件名的第一個字符為E5h。文件名不區(qū)分大小寫目錄:是目錄項的順序文件(即大小相同的記錄序列),不對目錄項目錄項偏移域長含義00h8文件名08h3文件擴展名0Bh1文件屬性字節(jié)0Ch10保留16h2最后一次修改的時間18h2最后一次修改的日期1Ah2起始簇號1Ch4文件大小FAT12與FAT16Bit7-6543210保留歸檔目錄卷標系統隱藏只讀文件屬性字節(jié)目錄項偏移域長含義00h8文件名08h3文件擴展名0Bh1文FAT32主要應用于Windows9x系統FAT32的根目錄區(qū)(ROOT區(qū))不再是固定區(qū)域、固定大小,而是可以看作數據區(qū)的一部分,采用與子目錄文件相同的管理方式。根目錄下的文件數目不再受最多256的限制。目錄項仍占32字節(jié),可以是文件目錄項、子目錄項、卷標項(僅根目錄有)、已刪除目錄項、長文件名目錄項等。支持長文件名格式支持Unicode無法支持高級容錯特性,不具有內部安全特性,因而仍然無法達到高性能文件系統的要求FAT32主要應用于Windows9x系統字節(jié)偏移量(16進制)域長含義0B2字節(jié)每扇區(qū)字節(jié)數0D1字節(jié)每簇扇區(qū)數0E2字節(jié)保留扇區(qū)數101字節(jié)文件分配表數112字節(jié)根目錄項數132字節(jié)小扇區(qū)數/0000
151字節(jié)介質類型:F8表明為硬盤,F0表明為軟盤162字節(jié)每個文件分配表的扇區(qū)數/0000
182字節(jié)每磁道扇區(qū)數1A2字節(jié)磁頭數1C4字節(jié)隱藏扇區(qū)數204字節(jié)大扇區(qū)數/總扇區(qū)數
FAT32標準BPB字節(jié)偏移量(16進制)域長含義0B2字節(jié)每扇區(qū)字節(jié)數0D字節(jié)偏移量(16進制)域長含義244字節(jié)每個FAT的FAT32扇區(qū)數282字節(jié)指定當前激活的FAT2A2字節(jié)版本號2C4字節(jié)根目錄起始簇號302字節(jié)指向文件系統信息扇區(qū)322字節(jié)指向引導扇區(qū)副本扇區(qū)3412字節(jié)保留401字節(jié)物理磁盤號411字節(jié)保留421字節(jié)簽名:必須是0x28或0x29434字節(jié)卷序列號4711字節(jié)卷標528字節(jié)文件系統ID:FAT32擴展BPBFAT32字節(jié)偏移量(16進制)域長含義244字節(jié)每個FAT的FAFAT32長文件名長文件名目錄項偏移長度含義00h1Bits0-5givetheLFNpartnumber,bit6issetifthisisthelastentryforthefile.01h101st5lettersofLFNentry.0Bh10Fh0Ch1Reservedsetto0.0Dh1Checksum.0Eh12Next6lettersofLFNentry.1Ah201Ch4Last2lettersofLFNentry.FAT32長文件名長文件名目錄項偏移長度含義00h1BitsFAT32長文件名文件名為Thequickbrown.fox,采用Unicode編碼,則FAT32的目錄項為:FAT32長文件名文件名為Thequickbrown.fWindows操作系統文件系統NTFS為改進的多級目錄結構,支持文件別名;NTFS文件由多個文件屬性構成,每個屬性由屬性名和屬性流(stream,簡單字節(jié)隊列)組成;用戶可自定義屬性;NTFS支持用戶權限管理:有5種權限劃分:讀、寫、運行、刪除和修改權限;支持按用戶、用戶組分配權限;NTFS文件支持數據壓縮功能;NTFS卷結構支持容錯功能;NTFS的技術特點Windows操作系統文件系統NTFS為改進的多級目錄結構,Windows操作系統文件系統NTFS具有眾多優(yōu)點,這主要是因為它在磁盤上獨特的實現方法。如何劃分磁盤,如何組織文件與目錄,如何存儲文件屬性與數據,如何壓縮文件數據等。Windows操作系統文件系統NTFS具有眾多優(yōu)點,這主要是Windows操作系統文件系統卷是建立在磁盤分區(qū)上。一個磁盤可以有多個卷,一個卷也可以有多個磁盤組成
(已格式化過的)卷上的數據可分為:元數據和用戶數據Windows操作系統文件系統卷是建立在磁盤分區(qū)上。Windows操作系統文件系統簇作為磁盤空間分配和回收的基本單位簇的大小是用戶在使用Format命令或其他的格式化程序格式化卷時確定的。簇因子隨卷的大小而不同,但都是物理扇區(qū)的整數倍,通常是2的冪,
NTFS使用LCN(LogicalClusterNumber,邏輯簇號)和VCN(VirtualClusterNumber,虛擬簇號)來進行簇的定位。LCN是對整個卷中所有的簇從頭到尾所進行的簡單編號。VCN是對屬于特定文件的簇從頭到尾進行編號,以便于引用文件中的數據。Windows操作系統文件系統簇作為磁盤空間分配和回收的基本Windows操作系統文件系統MFT(Master,主控文件表)是NTFS卷結構的核心,是NTFS中最重要的系統文件,包含了卷中所有文件的信息。MFT是以文件記錄數組來實現的,每個文件記錄的大小都固定為1KB。卷上的每個文件(包括MFT本身)都有一行MFT記錄。MFT開始的16個元數據文件是保留的。在NTFS中只有這16個元數據文件占有固定的位置。每個這樣的元數據文件都有一個以"$"開頭的文件名稱,不過該符號是隱藏的。16個元數據文件之后則是普通的用戶文件和目錄。Windows操作系統文件系統MFT(Master,主控文Window
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力設備出口購銷合同
- 大夜班護士崗位職責
- 江蘇省揚州市西湖實驗學校高考地理 專題七 人類與高考地理環(huán)境的協調發(fā)展教案
- 八年級生物下冊 第7單元 生命的延續(xù)與進化 第21章 第2節(jié)《生物的變異》教案 (新版)蘇科版
- 2024年九年級語文下冊 第一單元 寫作學習擴寫教學設計 新人教版
- 2024-2025學年高中政治 第三單元 全面依法治國 第八課 法治中國建設 1 法治國家教案 部編版必修3
- 2024春八年級語文下冊 第3單元 12《詩經》二首教案 新人教版
- 2024-2025學年高中生物 第5章 生態(tài)系統及其穩(wěn)定性 第4節(jié) 生態(tài)系統的信息傳遞教案 新人教版必修3
- 2024年春八年級道德與法治下冊 第四單元 崇尚法治精神 第七課 尊重自由平等 第2框 自由平等的追求教案 新人教版
- 節(jié)水管理制度(模板)
- 語言學新知與中學語文教學
- 醫(yī)院科室質量與安全管理小組工作記錄本目錄
- 斷路器失靈保護及遠跳詳解
- 300字方格紙模板
- 草訣百韻歌原文及解釋
- 鋼網架防火涂料施工方案
- 肺癌的護理常規(guī)(PPT課件)
- 農村商業(yè)銀行信貸業(yè)務發(fā)展規(guī)劃-2019年文檔
- 一汽大眾供應商物流管理評價標準
- 化工廠工程設備安裝施工方案.doc
- 同位角內錯角同旁內角專項練習題有答案
評論
0/150
提交評論