版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、5.4 文件存儲空間的管理5.4.1 磁盤組織 1.磁盤物理組織每個磁盤都是由盤片,磁道和扇區(qū)組成。磁道是盤片每個表面上的環(huán)形區(qū)域。柱面是有多個盤片的磁盤上處于同一磁頭位置的一組磁道組成。盤片的每一個面有一個磁頭,磁頭一般都連在一個公用的磁頭移動機構(gòu)-磁臂上,這樣所有的磁頭都一起移動,每盤片的每個面上的磁頭都永遠(yuǎn)定位在同一邏輯道上。每個磁道被分為扇區(qū)的部分,一個扇區(qū)是磁盤上最小的物理存儲單元,扇區(qū)的數(shù)據(jù)大小永遠(yuǎn)都是2的冪,并且?guī)缀跤肋h(yuǎn)是512B。MS-DOS、Windows 98/2000都以簇為單位來開辟存儲區(qū),而簇是一個或2的冪次個(2、4、8.)連續(xù)的扇區(qū)。 磁盤性能概述-22.磁盤的邏
2、輯組織一個物理磁盤在邏輯上可分為幾個區(qū)域,分區(qū)信息存放在主引導(dǎo)塊分區(qū)表中。分區(qū)表中保存磁盤各種分區(qū)起始和終止的磁頭、柱面、扇區(qū)、總的扇區(qū)數(shù)等信息。在主引導(dǎo)塊中有三種類型分區(qū):主分區(qū)、擴展區(qū)和邏輯分區(qū)。主分區(qū)是常用的,加載一個操作系統(tǒng)所需文件安裝其上,操作系統(tǒng)必須從主分區(qū)上引導(dǎo),一個硬盤上只能有四個主分區(qū)。為了突破四個分區(qū)的限制,就要在四個分區(qū)中創(chuàng)建立一個擴展分區(qū)。擴展分區(qū)其實是一個邏輯盤,它不能格式化,也不能分配盤符。但可在擴展分區(qū)中創(chuàng)建一個或多個邏輯分區(qū),(或稱邏輯驅(qū)動器),每個邏輯分區(qū)分配一個盤符,可以格式化成一個特定的文件系統(tǒng),MS-DOS、Windows98和WindowsNT可用fd
3、isk命令將硬盤分區(qū)。5.4.2 磁盤空閑空間管理和磁盤碎片整理 1.空閑表法 Counting它為外存上所有空閑區(qū)建立一張空閑表,每個空閑區(qū)對應(yīng)一個空閑表項,其中包括該空閑區(qū)的第一盤塊號,該區(qū)的空閑盤塊數(shù)等信息,再將所有空閑區(qū)按起始盤塊號遞增的次序排列。UNIX S V操作系統(tǒng)盤對換區(qū)空間管理采用空閑表法,它與內(nèi)存系統(tǒng)頁表管理采用同樣的數(shù)據(jù)結(jié)構(gòu)和分配回收算法??臻e表法的缺點是需要專用盤區(qū)來存放空閑表,在文件系統(tǒng)中較少采用連續(xù)分配。addressnumber2. 位示圖法Bit vector位示圖是利用一位來表示磁盤中一個塊的使用情況,當(dāng)其值為0 時表示對應(yīng)盤塊空閑;值為1時盤塊已分配。磁盤上
4、所有盤塊都有一個二進制位與之對應(yīng),由所有盤塊所對應(yīng)的位形成了一個集合稱為位示圖,位示圖用磁盤塊存放,稱為位圖塊。例如:SCO UNIX 操作系統(tǒng)盤塊大小為1KB,每個位圖塊有8192位,即每個位圖塊能管理8MB磁盤空間,要管理大的磁盤空間就需要多個位圖塊,這就需增設(shè)位圖索引塊,每個位圖塊塊號用4B記錄,這樣一個位圖索引塊可管理256個位圖塊,總共管理2GB大小磁盤空間。位圖塊在管理的8192塊盤塊的最前面,位圖塊中第i個字節(jié)(i=0,1,1023)的第j位(j=0,17)管理的塊在該圖塊后塊數(shù)為Ni*8j。 012n-1biti =0 blocki free1 blocki occupied位
5、示圖法位示圖的主要優(yōu)點是位示圖描述能力強,位示圖較小,可以復(fù)制到內(nèi)存,使查找既方便又快速。很多計算機提供了位操作指令,使位示圖查找能夠高效進行,能夠簡單有效地在盤上找到n個連續(xù)空閑塊。例如Intel x86微處理器系列就有這樣的指令:返回指定寄存器的所有位中值為1的第一位。Windows2000、Linux等操作系統(tǒng)的磁盤空閑空間管理都采用位示圖法。3.空閑塊鏈接法空閑塊鏈接法是將磁盤上所有空閑盤區(qū)鏈接在一個隊列中,稱為空閑塊鏈。請求分配時從鏈頭依次摘下適當(dāng)數(shù)目的空閑盤塊來分配,回收時將回收空閑盤塊鏈入空閑塊鏈尾部。Linked Free Space List on Disk4. 成組鏈接法U
6、NIX S V操作系統(tǒng)采用成組鏈接法管理磁盤空閑塊,該方法是空閑表法和空閑塊鏈接法的結(jié)合,具備分配回收方便,不需專用塊來存放分配表等優(yōu)點。成組鏈接法將磁盤空閑塊分成若干組,如將每100個盤塊作為一組,該組空閑塊總數(shù)和各空閑塊塊號存入下一組的第一個空閑塊中。最后不滿100塊的那組空閑塊總數(shù)和各空閑塊塊號記入磁盤區(qū)專用管理塊的空閑塊管理的數(shù)據(jù)結(jié)構(gòu):s_nfree和s_free100中,如下圖所示。 成組鏈接法 39 50 49 .12 100150149 . . . 51100 . . . . . . . .1000499 . . .351盤專用管理塊 (已讀入內(nèi)存)449塊350塊351塊251
7、塊51塊12塊149塊49塊150塊50塊s_nfree 0 1 s_free100 38 995磁盤碎片的整理磁盤存儲器以塊為單位離散分配,可提高盤的利用率,但盤塊多次反復(fù)分配回收后造成盤空閑塊散布在整個盤區(qū),這稱為磁盤碎片化。以后裝入的文件所分配的盤塊也分散在盤的各柱面。分散在盤許多柱面(磁道)的文件需要化費更多的時間進行讀寫。Windows2000在附件的系統(tǒng)工具中提供了磁盤碎片整理程序,它能對磁盤中文件重排,使文件存儲在連續(xù)的盤塊中,而把空閑塊也集中,便于以后存入文件能連續(xù)分配。5.4.3 Linux ext2文件系統(tǒng)磁盤的結(jié)構(gòu)EXT2是Linux使用的標(biāo)準(zhǔn)文件系統(tǒng),它是性能優(yōu)化、易擴
8、充、功能較強的一種文件系統(tǒng)。EXT2文件系統(tǒng)由一系列邏輯上線形排列的數(shù)據(jù)塊組成,每個數(shù)據(jù)塊具有相同的大小。所有塊又被劃分成若干個塊組,每個塊組包含相同個數(shù)的數(shù)據(jù)塊。整個文件系統(tǒng)的布局如圖5-11所示。ext2文件系統(tǒng)的體系結(jié)構(gòu) 組0組1.組N超級塊 文件系統(tǒng)描述符 塊位圖 Inode 位圖Inode表 Data 數(shù)據(jù)塊Boot5.4.3 Linux ext2文件系統(tǒng)磁盤的結(jié)構(gòu)ext2的絕大多數(shù)的數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)調(diào)用與經(jīng)典的UNIX一致。能夠管理海量存儲介質(zhì)。支持多達4TB的數(shù)據(jù),即一個分區(qū)的容量最大可達4TB。支持長文件名,最多可達255個字符,并且可擴展到1012個字符允許通過文件屬性改變內(nèi)核
9、的行為;目錄下的文件繼承目錄的屬性。支持文件系統(tǒng)數(shù)據(jù)“即時同步”特性,即內(nèi)存中的數(shù)據(jù)一旦改變,立即更新硬盤上的數(shù)據(jù)使之一致。實現(xiàn)了“快速連接”(fast symbolic links)的方式,使得連接文件只需要存放inode的空間。允許用戶定制文件系統(tǒng)的數(shù)據(jù)單元(block)的大小,可以是 1024、2048 或 4096 個字節(jié),使之適應(yīng)不同環(huán)境的要求。使用專用文件記錄文件系統(tǒng)的狀態(tài)和錯誤信息,供下一次系統(tǒng)啟動時決定是否需要檢查文件系統(tǒng) 。 ext2在磁盤上的物理布局 ext2分區(qū)的第一個磁盤塊用于引導(dǎo),其余的部分被分成組。所有的組大小相同并且順序存放,所以由組的序號可以確定組在磁盤上的位置
10、。 組的構(gòu)成: (1)文件系統(tǒng)的超級塊; (2)所有組的描述符; (3)數(shù)據(jù)塊的位圖; (4)inode位圖; (5)inode表; (6)數(shù)據(jù)塊。 ext2體系結(jié)構(gòu)超級塊(super block):文件系統(tǒng)中最重要的結(jié)構(gòu),描述整個文件系統(tǒng)的信息。組描述符(group descriptor):記錄所有塊組的信息,如塊組中的空閑塊數(shù)、空閑節(jié)點數(shù)等。數(shù)據(jù)的塊位圖(block bitmap):每一個塊組有一個對應(yīng)的塊位圖。大小為一個塊,位圖的每一位順序?qū)?yīng)組中的一個塊,0表示可用,1表示已用。 inode位圖(inode bitmap):每一個塊組有一個對應(yīng)的inode位圖。用來表示對應(yīng)的inode
11、表的空間是否已被占用。 inode表(inode table):用來存放文件及目錄的inode數(shù)據(jù)。每個文件用一個inode表示。EXT2超級塊(super block) 超級塊是用來描述EXT2文件系統(tǒng)整體信息的數(shù)據(jù)結(jié)構(gòu)主要描述文件系統(tǒng)的目錄和文件的靜態(tài)分布情況,以及描述文件系統(tǒng)的各種組成結(jié)構(gòu)的尺寸、數(shù)量等。超級塊對于文件系統(tǒng)的維護是至關(guān)重要的。超級塊位于每個塊組的最前面,每個塊組中包含的超級塊內(nèi)容是相同的。在系統(tǒng)運行期間,需要把超級塊復(fù)制到內(nèi)存的系統(tǒng)緩沖區(qū)內(nèi)。只需把塊組0的超級塊讀入內(nèi)存,其它塊組的超級塊做為備份。在Linux中,EXT2超級塊定義為ext2_super_block結(jié)構(gòu):超
12、級塊struct ext2_super_block _u32 s_inodes_count;/* inode的總數(shù) */ _u32 s_blocks_count;/* 塊的總數(shù) */ _u32 s_free_blocks_count;/* 空閑塊的總數(shù) */ _u32 s_free_inodes_count;/* 空閑inode的總數(shù) */ _u32 s_first_data_block;/* 第一個數(shù)據(jù)塊 */ _u32 s_log_block_size;/* 塊的大小 */ _u32 s_blocks_per_group;/* 每組的塊數(shù) */ _u32 s_inodes_per_grou
13、p;/* 每組的inode數(shù) */ _u32 s_mtime;/* 安裝的時間 */ _u32 s_wtime;/* 寫的時間 */ _u16 s_mnt_count;/* 安裝的次數(shù) */.;組描述符每個組都有自己的描述符,用來描述一個塊組的有關(guān)信息 ,內(nèi)核用結(jié)構(gòu)ext2_group_desc描述。struct ext2_group_desc _u32 bg_block_bitmap;/*本組數(shù)據(jù)塊位圖所在塊號*/ _u32 bg_inode_bitmap;/* 本組inode位圖所在塊號 */ _u32 bg_inode_table;/* 本組inode表的起始塊號 */ _u16 bg_
14、free_blocks_count;/* 組中空閑塊的數(shù)目 */ _u16 bg_free_inodes_count;/*組中空閑inode數(shù)目 */ _u16 bg_used_dirs_count;/* 組中目錄的數(shù)目 */ _u16 bg_pad /*按字對齊*/ _u32 3 bg_reserved /*用null 填充24 個字節(jié)*/;inode索引節(jié)點EXT2文件系統(tǒng)inode大小為128B,inode在inode表中依次存放。inode表由一連串連續(xù)的塊組成,其中每一塊包含inode的一個預(yù)定義號。 inode表第一個塊的塊號存放在組描述符的bg_inode_table 字段中。所
15、有inode的大小相同,即128 字節(jié)。一個1024 字節(jié)的塊可以包含8 個索引節(jié)點,一個4096 字節(jié)的塊可以包含32 個索引節(jié)點。為了計算出inode表占用了多少塊,用一個組中的inode總數(shù)(存放在超級塊的s_inodes_per_group字段中)除以每塊中的inode數(shù)。ext2_inodestruct ext2_inode _u16 i_mode;_u16 i_uid;/* 擁有者的用戶ID */_u32 i_size;/* 文件大小 */_u32 i_atime;/* 最近一次訪問時間 */_u32 i_ctime;/* 創(chuàng)建時間 */_u32 i_mtime;/* 最近一次修改
16、時間 */_u16 i_gid;/* 文件的組ID */_u32 i_blocks;/* 分配給該文件的磁盤塊的數(shù)目 */_u32 i_blockEXT2_N_BLOCKS;/*指向磁盤塊的指針 */.;inodei_mode:包含了文件的類型信息和文件的訪問權(quán)限。文件的類型:0 未知 4 塊設(shè)備1 普通文件 5 命名管道2 目錄 6 套接字3 字符設(shè)備 7 符號鏈接i_blockEXT2_N_BLOCKS:一般用于放置文件的數(shù)據(jù)所在的磁盤塊編號,EXT2_N_BLOCKS的默認(rèn)值為15。不同類型文件的i_block的含義不同:設(shè)備文件:用ext2_inode就足以包含所有信息,不需要另外的數(shù)
17、據(jù)塊。 目錄:數(shù)據(jù)塊包含了所有屬于這個目錄的文件信息。數(shù)據(jù)塊的數(shù)據(jù)項是個ext2_dir_entry_2結(jié)構(gòu),用來描述屬于這個目錄的文件。inodestruct ext2_dir_entry_2 _u32inode;/* inode號 */_u16rec_len;/* 本項所占的長度 */_u8name_len;/* 文件名長度 */_u8file_type; /* 文件類型 */charnameEXT2_NAME_LEN;/* 文件名 */ ; 目錄的各項在數(shù)據(jù)塊中依次放置。普通文件:指向數(shù)據(jù)塊,數(shù)據(jù)在磁盤上并不一定連續(xù),需要保存各個磁盤塊號。i_block的前12項可看成一級指針,直接存放
18、文件數(shù)據(jù)所在的磁盤塊號。第13項是個二級指針,第14,15項分別是三級指針和四級指針。 這種方法保證了大量的小文件訪問效率高,同時又支持大文件。5.4.4 FAT文件系統(tǒng)磁盤的結(jié)構(gòu)FAT文件系統(tǒng)磁盤的結(jié)構(gòu)FAT1和FAT2都為文件分配表,二表相同,F(xiàn)AT2作備份用。對軟盤FAT表每表項為12位,表示簇號。對硬盤各區(qū),F(xiàn)AT表項可為12位、16位和32位。根目錄區(qū)是存放根目錄,它有固定長度,由引導(dǎo)區(qū)BIOS參數(shù)塊0 x11H-0 x12H字節(jié)決定。FAT16的C盤引導(dǎo)區(qū)為1個扇區(qū),每個FAT表扇區(qū)數(shù)為256個,F(xiàn)AT表2個,共存2562512個扇區(qū)。由于每個根目錄項為32B,則可知根目錄區(qū)大小為
19、3251216KB;文件區(qū)的起始簇號為0002,起始扇區(qū)為545(221H)。對于FAT16硬盤C盤的BOOT區(qū)是1頭0柱1扇區(qū),512B大小。Windows98采用FAT32格式,F(xiàn)AT32其引導(dǎo)區(qū)記錄被擴展為包括重要數(shù)據(jù)結(jié)構(gòu)的備份,根目錄成為一個普通的簇鏈,可以放在文件區(qū)任何地方。FAT32磁盤分配圖主引導(dǎo)區(qū)基本分區(qū)引導(dǎo)區(qū)擴展分區(qū)引導(dǎo)區(qū)分區(qū)引導(dǎo)區(qū)擴展分區(qū)引導(dǎo)區(qū)分區(qū)引導(dǎo)區(qū)邏輯卷1邏輯卷2基本分區(qū)擴展分區(qū)FAT32磁盤的結(jié)構(gòu)主引導(dǎo)記錄MBR是主引導(dǎo)區(qū)的第一個扇區(qū),它由二部分組成:第一部分主引導(dǎo)代碼,占據(jù)扇區(qū)的前446個字節(jié),磁盤標(biāo)識符(FD 4E F2 14)位于這段代碼的未尾。第二部分是分區(qū)
20、表,分區(qū)表中每個條目有16字節(jié)長,分區(qū)表最多有4個條目,第一個分區(qū)條目從扇區(qū)的偏移量位置是0 x01BE。主引導(dǎo)區(qū)的末端是標(biāo)簽字或扇區(qū)結(jié)束標(biāo)記的2字節(jié)結(jié)構(gòu),常為0 x55AA。擴展引導(dǎo)記錄與主引導(dǎo)記錄類同,如該擴展分區(qū)未裝操作系則第一部分主引導(dǎo)代碼為0,標(biāo)簽字也標(biāo)記一個擴展分區(qū)引導(dǎo)區(qū)和分區(qū)引導(dǎo)區(qū)的結(jié)束。一臺PC計算機系統(tǒng)啟動時,首先執(zhí)行的是BIOS引導(dǎo)程序,完成自檢,并加載主引導(dǎo)記錄和分區(qū)表,然后執(zhí)行主引導(dǎo)記錄,由它引導(dǎo)激活分區(qū)引導(dǎo)記錄,再執(zhí)行分區(qū)引導(dǎo)記錄,加載操作系統(tǒng),最后執(zhí)行操作系統(tǒng),配置系統(tǒng)。 5.5 NTFS文件系統(tǒng) 5.5.1 NTFS的卷、蔟和卷布局卷又稱為邏輯驅(qū)動器,在同一個卷中
21、使用同一份管理數(shù)據(jù)進行文件分配和外存空閑空間管理,而在不同的卷中使用相互獨立的管理數(shù)據(jù)。NTFS以卷為基礎(chǔ),而卷則建立在磁盤分區(qū)上,通常一個卷與一個硬盤分區(qū)相對應(yīng),但NTFS支持由多個硬盤分區(qū)構(gòu)成的卷,以提高文件I/O效率、提供動態(tài)增加卷大小和容錯功能。當(dāng)以NTFS格式來格式化磁盤分區(qū)時就創(chuàng)建了NTFS卷,Windows 2000常使用兩種卷:FAT卷和NTFS卷。和FAT文件系統(tǒng)一樣,NTFS仍以驅(qū)動器盤符表示已安裝的文件卷。NTFS簇NTFS使用簇作為磁盤空間分配的基本單位NTFS使用邏輯簇號(LCN)和虛擬簇號(VCN)來進行簇的定位。LCN是對整個卷中所有的簇從頭到尾所進行的簡單編號。
22、卷因子乘以LCN,NTFS就能夠取得卷上的物理字節(jié)偏移量,從而得到了物理磁盤地址。VCN則是對屬于特定文件的簇從頭到尾進行編號,以便于引用文件中的數(shù)據(jù)。VCN可以映射成LCN,所以不必要求在物理上連續(xù)。在磁盤管理器中,可以指定最大到4K簇大小,如采用命令行程序format來格式化NTFS卷,則可以指定表5-7中的任何簇大小。NTFS簇與扇區(qū)的關(guān)系 NTFS的卷、蔟和卷布局-1將一個卷格式化為NTFS文件系統(tǒng)的結(jié)果是系統(tǒng)創(chuàng)建了一些系統(tǒng)文件和一個主文件表(MFT),主文件表包含NTFS卷上所有文件和目錄的信息。格式化NTFS卷布局如下圖 所示。 引導(dǎo)扇區(qū)主文件表(MFT)系統(tǒng)文件文件區(qū)MFT前16
23、個元數(shù)據(jù)文件備份文件區(qū)5.5.2 NTFS的引導(dǎo)扇區(qū)引導(dǎo)扇區(qū)已擴展,它從1扇區(qū)開始,最大可以有16個扇區(qū)長。引導(dǎo)扇區(qū)各域見下表,它包含以下兩個結(jié)構(gòu): BIOS參數(shù)塊,包含有卷的布局和文件系統(tǒng)結(jié)構(gòu)信息。有關(guān)怎樣找到和加載正在被引導(dǎo)的操作系統(tǒng)所需要的啟動文件的代碼,這段代碼加載NTLDR。字節(jié)偏移域長例意 義003BEB 5B 00跳轉(zhuǎn)指令038BNTFSOEM標(biāo)識符0B25BBIOS參數(shù)塊2448B擴展BIOS參數(shù)塊54426B自舉代碼1FE字0 x55AA扇區(qū)結(jié)尾標(biāo)志5.5.3 NTFS系統(tǒng)文件和主文件表 1. 系統(tǒng)文件當(dāng)格式化NTFS卷時,格式化程序創(chuàng)建出一系列文件,這些文件包含有用來實現(xiàn)文
24、件系統(tǒng)結(jié)構(gòu)的元數(shù)據(jù),稱為元數(shù)據(jù)文件,它們都有一個以字符開頭的名稱。 主文件表(MFT)2.主文件表(MFT)主文件表是以文件記錄數(shù)據(jù)來實現(xiàn)的,忽略簇的大小,每個文件記錄的大小都被固定為1KB。從邏輯上講卷中每一個文件在MFT上都有一個文件記錄,包括MFT自己的一個記錄。MFT前16個記錄用來存放元數(shù)據(jù)文件的信息,它們占有固定的位置,12個元數(shù)據(jù)文件與記錄號對應(yīng)關(guān)系見表5-8,后4個記錄保留供將來使用。MFT前16個元數(shù)據(jù)文件很重要,為了防止數(shù)據(jù)的丟失,NTFS系統(tǒng)在該卷文件存儲部分的正中央對它們進行了備份,見圖5-13所示。NTFS把磁盤分成了兩大部分,其中大約12分配給了MFT,以滿足其不斷
25、增長的文件數(shù)量。為了保持MFT元文件的連續(xù)性,MFT對這12的空間享有獨占權(quán)。余下的88的空間被分配用來存儲文件。 5.5.4 NTFS 文件屬性 NTFS文件系統(tǒng)把每個文件(或目錄)都視為屬性屬性值的集合來處理。文件數(shù)據(jù)是未命名屬性的值,諸如文件名、安全信息、文件擁有者等元素都是文件屬性。每個屬性由一個屬性類型或一個可選的屬性名來標(biāo)識。NTFS卷上常用屬性說明見表5-11 NTFS卷上常用屬性說明表屬性名屬性描述$STANDARD_INFORMATION標(biāo)準(zhǔn)信息:包含基本文件屬性、時間記號、連接計數(shù)等$FILE_NAME文件名:這是以Unicode字符表示的$SECURITY_DESCRIP
26、TOR安全描述符$DATA文件數(shù)據(jù)$INDEX_ROOT索引根$INDEX_ALLOCATION索引分配$BITMAP位圖$ATTRIBUTE_LIST屬性列表:當(dāng)一個文件需要使用多個MFT文件記錄時,這用來表示該文件的屬性列表$OBJECT_ID對象ID:一個具有64B的標(biāo)識符,其中最低的16B對卷是唯一$REPARSE_POINT重解析點:存儲文件的重解析點數(shù)據(jù)(NTFS的軟鏈接與裝配點都包括這個屬性)NTFS 文件屬性小文件或小目錄的所有屬性,均可以在MFT中常駐。小文件的未命名屬性可以包括所有文件數(shù)據(jù), 小目錄的索引根屬性可以包括其中所有文件和子目錄的索引。一個小文件/目錄的MFT記錄
27、如下: NTFS 文件屬性如果MFT文件記錄能存儲得下一個文件的屬性和屬性值,這些屬性稱為常駐屬性。有些屬性總是常駐的,這樣NTFS才可以確定其他非常駐屬性。例如,標(biāo)準(zhǔn)信息屬性、文件名、時間標(biāo)記和根索引就總是常駐屬性。如果一個文件的所有信息太大無法存儲在MFT文件中,它的一些屬性就成為非常駐的,系統(tǒng)為非常駐的屬性在卷上其它地方開辟一個或多個簇, 這些區(qū)域通常稱為一個運行(run),NTFS還創(chuàng)建一個稱為屬性列表的屬性來描述所有屬性記錄的位置。值存儲在運行中而不是在MFT文件記錄中的屬性稱為非常駐屬性。當(dāng)一個屬性為非常駐時,如大文件的數(shù)據(jù),它的頭包含了NTFS需要在磁盤上定位該屬性值的有關(guān)信息。
28、在標(biāo)準(zhǔn)屬性中,只有可以增長的屬性才是非常駐的。對文件來說,可增長的屬性有數(shù)據(jù)、屬性列表等。圖5-14顯示了一個存儲在兩個運行中的非常駐屬性。 存儲在兩個運行中的非常駐屬性 NTFS 文件屬性每個屬性由單個的流組成,即簡單的字符隊列。由于文件有一組屬性,所以NTFS文件或目錄可以包含多個數(shù)據(jù)流,NTFS文件有一個默認(rèn)的數(shù)據(jù)流,它沒有名稱。嚴(yán)格地說,NTFS并不對文件進行操作,而只是對屬性流的讀寫。NTPS提供對屬性流的各種操作:創(chuàng)建、刪除、讀取(字節(jié)范圍)及寫入(字節(jié)范圍)。讀寫操作一般是針對文件的非命名屬性的,對于已命名的屬性則可以通過已命名的數(shù)據(jù)流句法來進行操作。 5.5.5 NTFS 文件
29、名 NTFS和VFAT文件系統(tǒng)允許路徑中每一個文件長度在255個字符以內(nèi)。文件名可以包含Unicode字符,多個句點以及內(nèi)嵌的空格,但是提供給MSDOS的FAT文件系統(tǒng)的文件名被限定在8個字符以內(nèi)(非Unicode代碼),后面跟一個句點和3個字符長的擴展名。Windows 2000支持不同的三個文件名空間:POSIX子系統(tǒng)名空間、它所包含的Win32子系統(tǒng)名空間和前二者包含的MS-DOS-Windows客戶名空間。NTFS 文件名Win 32子系統(tǒng)可以在一個NTFS卷上創(chuàng)建文件名,而在MSDOS和16位Windows應(yīng)用程序中則不能看到此名。這個組中包含了長于MSDOS名稱8.3格式的文件名,
30、帶有Unicode(國際的)代碼的文件名、包括多個句點或是以句點開始的文件名以及內(nèi)嵌空格的文件名。當(dāng)用此文件名創(chuàng)建一個文件時,NTFS會自動生成一個備用的MSDOS形式的文件名,也自動生成了一個含有MS-DOS文件名文件的MFT記錄。NTFS由Win32長文件名生成MSDOS短文件名規(guī)則同Windows98 VFAT。 5.5.6 索引 在NTFS系統(tǒng)中,文件目錄僅僅是文件名的一個索引。NTFS使用了一種特殊的方式把文件名組織起來,以便于快速訪問。當(dāng)創(chuàng)建一個目錄時,NTFS必須對目錄中的文件名屬性進行索引。圖5-15顯示了一個卷的MFT的根目錄記錄。 NTFS根目錄結(jié)構(gòu)索引 一個目錄的MFT記
31、錄將其目錄中的文件名和子目錄名進行排序,并保存在索引根屬性中。對于一個大目錄,文件名實際存儲在組織文件名的固定4 KB大小的索引緩沖區(qū)中。索引緩沖區(qū)是通過B+樹數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的。B+樹是平衡樹的一種,對于存儲在磁盤上的數(shù)據(jù)來說,平衡樹是一種理想的分類組織形式,因此使查找一個項時所需的磁盤訪問次數(shù)減到最少。根索引屬性包含B+樹的第一級(根子目錄)并指向包含下一級(大多數(shù)是子目錄,也可能是文件)的索引緩沖區(qū)中。索引索引中的每一項還包括了位于MFT中的描述文件所在位置的文件引用以及文件時間和文件大小等信息。NTFS根據(jù)文件的MFT記錄來復(fù)制時間標(biāo)記和文件大小信息。索引分配屬性包含了索引緩沖區(qū)的VCN到
32、LCN映射,而位圖屬性跟蹤在索引緩沖區(qū)中哪些VCN是在使用而哪些是空閑的。圖中顯示了每個文件項占有一個VCN,而實際上多個文件項被包裝在同一個簇中。每個4KB大小的索引緩沖區(qū)可以容納20到30個文件項。 5.6安全和保護影響文件安全性的主要因素:第一是人為因素,即由于人們有意或無意的行為,而使文件系統(tǒng)中的數(shù)據(jù)遭到破壞或丟失;第二是系統(tǒng)因素,即由于系統(tǒng)的某部分出現(xiàn)異常情況,而造成對數(shù)據(jù)的破壞或丟失,特別是作為數(shù)據(jù)存儲介質(zhì)的磁盤,在出現(xiàn)故障或損壞時,會對文件系統(tǒng)的安全性造成影響;第三是自然因素,即存放在磁盤上的數(shù)據(jù),隨著時間的推移將可能發(fā)生溢出或逐漸消失。為了確保文件系統(tǒng)的安全性,可針對上述原因而
33、采取以下措施:通過存取控制機制來防止由人為因素所造成的文件不安全性。通過磁盤容錯技術(shù),來防止由磁盤部分的故障所造成的文件不安全性。通過“后備系統(tǒng)”來防止由自然因素所造成的不安全性。 5.6.1文件的存取控制 文件系統(tǒng)對文件的保護常采用存取控制方式進行,所謂文件的存取控制就是不同的用戶對文件的訪問規(guī)定不同的權(quán)限,以防止文件被未經(jīng)文件主同意的用戶訪問。 1. 存取控制矩陣?yán)碚撋洗嫒】刂品椒捎么嫒】刂凭仃?,它是一個二維矩陣,一維列出計算機的全部用戶,另一維列出系統(tǒng)中的全部文件,矩陣中每個元素Aij是表示第i個用戶對第j個文件的存取權(quán)限。通常存取權(quán)限有可讀、可寫、可執(zhí)行以及它們的組合如下表所示。文件
34、的存取控制-1存取控制矩陣在概念上是簡單清楚的,但實現(xiàn)上卻有困難。當(dāng)一個系統(tǒng)用戶數(shù)和文件數(shù)很大時,二維矩陣要占很大的存儲空間,驗證過程也費時。2. 存取控制表存取控制矩陣由于太大而往往無法實現(xiàn)。一個改進的辦法是按用戶對文件的訪問權(quán)力的差別對用戶進行分類,由于某一文件往往只與少數(shù)幾個用戶有關(guān),所以這種分類方法可使存取控制表大為簡化。UNIX系統(tǒng)就是使用這種存取控制表方法。它把用戶分成三類:文件主、同組用戶和其它用戶,每類用戶的存取權(quán)限為可讀、可寫、可執(zhí)行以及它們的組合。在用ls長列表顯示時每組存取權(quán)限用三個字母RWX表示,如讀、寫和執(zhí)行中那一樣存取不允許則用“-”字符表示,用ls -l長列表顯示
35、ls文件如下:存取控制表-r-xr-xr-x 1 root root 43296 May 13 2005 /bin/ls顯示前2-10共9個字符表示文件的存取權(quán)限,每3個字符為一組,分別表示文件主、同組用戶和其它用戶的存取權(quán)限。由于存取控制表對每個文件將用戶分類,所以該存取控制表可存放在每個文件的文件控制塊(即目錄表目)中,對UNIX它只需9位二進制來表示三類用戶對文件的存取權(quán)限,它存在文件索引節(jié)點的di_mode中。Linux:Stored in a 16-bit locationu16 i-mode3用戶權(quán)限表 改進存取控制矩陣的另一種方法是以用戶或用戶組為單位將用戶可存取的文件各集中起來
36、存入一表,這稱為用戶權(quán)限表,表中每個表目表示該用戶對應(yīng)文件的存取權(quán)限,如下表所示。這相當(dāng)于存取控制矩陣一行的簡化。每當(dāng)用戶訪問文件時,由系統(tǒng)中存取控制驗證模塊,把用戶的請求與存取控制矩陣(或存取控制表,或用戶權(quán)限表)中該用戶對所訪問文件的存取權(quán)限進行比較,以確定本次訪問是否合法。若不合法,系統(tǒng)就拒絕執(zhí)行,起到了對文件的保護作用。5.6.2 分級安全管理 1. 系統(tǒng)級安全管理 系統(tǒng)級安全管理的主要任務(wù)是不允許未經(jīng)核準(zhǔn)的用戶進入系統(tǒng)。系統(tǒng)級管理的主要措施有:注冊注冊的主要目的是使系統(tǒng)管理員能夠掌握要使用的各用戶的情況,并保證用戶在系統(tǒng)中的唯一性。例如linux操作系統(tǒng)中Passwd文件為系統(tǒng)的每一
37、個帳號保存一行記錄,這條記錄給出了每個賬號的一些屬性,如用戶真實名字、口令等,Passwd是ASCII文件,普通用戶可讀,只有root 可寫,為使口令保密,使用shadow口令可使Passwd文件中存放口令的地方放上一個“”。加密口令和口令有效期信息存放在Shodow文件中,只有root才能讀取。任何一個新用戶在使用系統(tǒng)前,必須先向系統(tǒng)管理員申請,由系統(tǒng)管理員root使用adduser命令創(chuàng)建用戶帳號。當(dāng)用戶不再使用系統(tǒng)時,由root帳號使用userdel命令刪除一個帳號和帳號的主目錄。系統(tǒng)級安全管理登錄:用戶經(jīng)注冊后就成為該系統(tǒng)用戶,但在上機時還必須進行登錄。登錄的主要目的是通過核實該用戶的
38、注冊名及口令來檢查該用戶使用系統(tǒng)的合法性。Windows需用戶同時按下Ctrl+Alt+Del鍵來啟動登錄界面,提示輸入用戶名和口令。在用戶輸入后系統(tǒng)調(diào)用身份驗證包來接收登錄信息,并與安全帳號管理庫中存放的用戶名和口令進行對比,如果找到匹配,則登錄成功,于是允許用戶進入系統(tǒng)。SCO UNIX可設(shè)置訪問注冊限制次數(shù),當(dāng)不成功注冊次數(shù)超過這個限度后,帳號和終端就被封鎖,這稱為兇兆監(jiān)視(threat monitoring)。系統(tǒng)還可設(shè)置參數(shù)控制口令有效時間,當(dāng)一口令到了退役時間,口令死亡,該用戶帳號也封閉。Windows采用Ctrl+Alt+Del鍵來啟動登錄界面也是為了防止非法程序模擬登錄界面扮作
39、操作系統(tǒng)來竊取用戶名和口令。用戶級安全管理 用戶級安全管理是通過對不同的用戶對不同文件設(shè)置不同的存取權(quán)限來實現(xiàn)。目錄級安全管理目錄級安全管理,是為了保護系統(tǒng)中各種目錄而設(shè)計的,它與用戶權(quán)限無關(guān)。為保證目錄的安全規(guī)定只有系統(tǒng)核心才具有寫目錄的權(quán)利。用戶對目錄的讀、寫和執(zhí)行與一般文件的讀、寫和執(zhí)行的含義有所不同,對于目錄的讀權(quán)限意味著允許打開并讀該目錄的信息.例如UNIX系統(tǒng)使用ls命令可列出該目錄的子目錄和文件名。對于目錄的寫權(quán)限意味著可以在此目錄中創(chuàng)建或刪除文件,禁止對于某個目錄的寫權(quán)限并不意味著在該目錄中的文件不能修改,只有在一個文件上的寫權(quán)限才真正地控制修改文件的能力。對于一個目錄的執(zhí)行權(quán)
40、限意味著系統(tǒng)在分析一個文件時可檢索此目錄。禁止一個目錄的執(zhí)行權(quán)限可真正地防止用戶使用該目錄中的文件,用戶不能使用cd命令來進入此目錄。4文件級安全管理當(dāng)文件/目錄被共享時,缺省將給該共享文件/目錄賦予過多的權(quán)限。例如,通過網(wǎng)絡(luò)訪問共享文件/目錄的任何人對它都有“完全控制”權(quán)限。盡管這一方法簡化了對等連網(wǎng)技術(shù),但在大型的、重視安全的組織中,這一方法產(chǎn)生潛在的安全危險。在Windows 2000計算機中,需要限制共享資源或本地文件的缺省權(quán)限,利用文件權(quán)限來實現(xiàn)文件系統(tǒng)的安全性。文件級安全管理,是通過系統(tǒng)管理員或文件主對文件屬性的設(shè)置來控制用戶對文件的訪問。Windows 2000提供了兩種分配文件
41、和目錄權(quán)限的方法:特殊和標(biāo)準(zhǔn)。 (1) Windows2000特殊權(quán)限如果需要出色的控制,就應(yīng)該使用特殊權(quán)限。用于描述特殊(單獨)權(quán)限的符號有:R特殊權(quán)限讀;W特殊權(quán)限寫;X特殊權(quán)限執(zhí)行;D特殊權(quán)限刪除;P特殊更改權(quán)限;O特殊取得所有權(quán)權(quán)限。下表展示了特殊權(quán)限以及它們在文件上的關(guān)聯(lián)操作。 操作R W X D P O顯示文件的所有者和權(quán)限 x x x顯示文件的數(shù)據(jù) x顯示文件的屬性 x x更改文件的屬性 x更改數(shù)據(jù)并把數(shù)據(jù)追加到文件中 x x運行文件 x刪除文件 x更改文件的權(quán)限 x取得文件的所有權(quán) x(2)windows 2000 標(biāo)準(zhǔn)權(quán)限 標(biāo)準(zhǔn)權(quán)限是預(yù)定義的特殊權(quán)限組合。其基本原理是:總是希
42、望為諸如讀或?qū)懼惖牟僮鞣峙涮厥鈾?quán)限的一些組合。賦予文件的標(biāo)準(zhǔn)權(quán)限和用于實現(xiàn)這些標(biāo)準(zhǔn)權(quán)限的特殊權(quán)限如下:讀取(R)用戶能讀取文件。讀取及運行(RX)用戶能讀取文件并且執(zhí)行它(假如它是應(yīng)用程序的話)。修改(RWXD)用戶能夠讀取、修改或刪除文件。完全控制(RWXDPO)用戶能夠讀取、修改或刪除文件,設(shè)置文件的權(quán)限以及取得文件的所有權(quán)。 Windows 2000標(biāo)準(zhǔn)文件權(quán)限和特殊文件權(quán)限表 特殊權(quán)限完全控制修改讀取并運行讀取寫入遍歷文件夾運行文件xxx列出文件夾讀取數(shù)據(jù)xxxx讀取屬性xxxx讀取擴展屬性xxxx創(chuàng)建文件寫人數(shù)據(jù)xxx創(chuàng)建文件夾附加數(shù)據(jù)xxx寫入屬性xxx寫入擴展屬性xxx刪除子文
43、件夾及文件x刪除xx讀取權(quán)限xxxxx更改權(quán)限x取得所有權(quán)x同步xxxxx文件級安全管理用戶對文件的訪問,將由用戶訪問權(quán)、目錄訪問權(quán)限及文件屬性三者的權(quán)限所確定?;蛘哒f是有效權(quán)限和文件屬性的交集。例如對于只讀文件,盡管用戶的有效權(quán)限是讀寫,但都不能對只讀文件進行修改、更名和刪除。對于一個非共享文件,將禁止在同一時間內(nèi)由多個用戶對它們進行訪問。5.6.3 備份和恢復(fù) 文件系統(tǒng)中不論硬件和軟件都會因電源中斷和變化,用戶粗野和不慎的操作而發(fā)生損壞和錯誤,所以為使至關(guān)重要的文件系統(tǒng)萬無一失,應(yīng)對保存在輔存中的文件采取一些保險措施,這些措施中最簡便方法是“定期轉(zhuǎn)儲”,使一些重要的文件有多個副本。1.分級
44、備份為了使備份更有效,可將備份分為幾個等級,最低級備份級是全量轉(zhuǎn)儲,它將文件存儲器中所有文件都保存起來。增量轉(zhuǎn)儲是將前一段時間內(nèi)修改過的文件和新文件保存起來。分級備份 Windows 2000可以實現(xiàn)以下幾種類型的備份:常規(guī)備份:這種備份方式將拷貝所有選定的文件,且將其標(biāo)記為已經(jīng)備份狀態(tài)。增量備份:這種備份方式只備份那些自從上一次常規(guī)或增量備份后創(chuàng)建的或改動的文件,且將其標(biāo)記為已經(jīng)備份。差異備份:這種備份方式將拷貝那些自從上一次常規(guī)或增量備份后創(chuàng)建的或改動的文件,但不將文件標(biāo)記為已經(jīng)備份??截悅浞荩哼@種備份方式將拷貝所有選定的文件,但不將文件標(biāo)記為已經(jīng)備份。日常備份:這種備份方式則是拷貝在實施
45、日常備份的當(dāng)天被改動的選定文件。備份文件不標(biāo)記已備份狀態(tài)。2. 存儲設(shè)備與介質(zhì)存儲設(shè)備存儲設(shè)備的容量應(yīng)該有足夠大的容量以備份用戶系統(tǒng)中容量最大的服務(wù)器,并且存儲設(shè)備可以探測并糾正備份和恢復(fù)操作中的錯誤。存儲設(shè)備可包括磁帶驅(qū)動器、可移動磁盤等。介質(zhì)類型 最常見的介質(zhì)為磁帶。用于備份的初級磁帶包括14英寸磁帶(QIC)、數(shù)字聲頻帶(DAT),8mm盒式帶和數(shù)字線性帶(DLT)。高容量、高性能磁帶驅(qū)動器一般使用SCSI控制器。其他的介質(zhì)類型包括磁盤、光盤和CDROM(CD-R和CDRW)。 3. 建立備份計劃用戶創(chuàng)建備份的頻率依賴于用戶數(shù)據(jù)改動的頻率以及數(shù)據(jù)的重要程度。用戶可實施每周備份、每月備份以
46、及存檔備份。下以12個星期的計劃為例說明。12個星期的計劃就是對兩個星期的每一天使用不同的備份磁帶,第一個使用的磁帶將再次使用于第三周的那一天。如表5-16所示,增量備份在星期一到星期四執(zhí)行,常規(guī)備份在星期五實施,對于最近一次常規(guī)備份采用現(xiàn)場存儲方式。在12周結(jié)束時,循環(huán)又重新開始于新的磁帶集合。 4. 備份實現(xiàn) (1) 利用“備份” 系統(tǒng)工具在“開始”菜單中打開“程序”/“附件”/“系統(tǒng)工具”/“備份”,出現(xiàn)圖5-16所示備份窗口。它有歡迎、備份、還原和計劃作業(yè)四選項卡,歡迎選項卡有備份向?qū)?、還原向?qū)?、緊急修復(fù)磁盤三個按鈕選擇,它們指導(dǎo)用戶一步步完成備份或還原工作 (2)使用Backup工具
47、Backup是一種使用不同的存儲介質(zhì)將文件備份和恢復(fù)到NTFS或文件分配表(FAT)卷中的圖示化工具。備份還簡化了存檔,并允許用戶使用Windows 2000工作調(diào)度程序來進行自動備份工作。安裝和拆卸磁帶或磁盤這類工作可由可移動存儲來完成。它跟蹤并控制存儲設(shè)備上的通常被組織成庫的備份介質(zhì),并允許Backup此類的應(yīng)用程序共享自動轉(zhuǎn)換器和介質(zhì)庫。一旦開始,可移動存儲器對數(shù)據(jù)路徑是透明的,因此在改變介質(zhì)而不是執(zhí)行備份或恢復(fù)操作時,用戶只需訪問它即可。 5.6.4 Windows2000安全性 Windows2000提供了一組全面的、可配置的安全性服務(wù),這些服務(wù)達到了美國政府用于受托操作系統(tǒng)的國防部
48、C2級要求。1Windows2000安全性服務(wù)Windows2000的安全性服務(wù)及其基本特征如下:登錄服務(wù):要求在允許用戶訪問系統(tǒng)之前,輸入唯一的登錄標(biāo)識符和密碼來標(biāo)識自已。謹(jǐn)慎訪問控制:允許資源的所有者決定哪些用戶可以訪問資源和它們可以處理這些資源。屬主可以授權(quán)給某個用戶或用戶組,允許他們進行訪問。安全審核:提供檢測和記錄與安全有關(guān)的任何創(chuàng)建、訪問或刪除系統(tǒng)資源的事件或嘗試的能力。登錄標(biāo)識符記錄所有用戶的身份,這們便于跟蹤任何非法操作的用戶。內(nèi)存保護:防止非法進程訪問其它進程專用虛擬內(nèi)存。它保證當(dāng)物理內(nèi)存頁面分配給某個用戶進程前被重新初始化,保證這一頁絕對不含有其它進程的臟數(shù)據(jù)。Window
49、s2000安全性2存取控制NT利用面向?qū)ο蟮母拍钐峁┝艘粋€強大而靈活的存取控制能力,NT提供一個統(tǒng)一的存取控制機制應(yīng)用到進程、線程、文件、信號量窗口和其它對象。存取控制是由二個實體來管理,與每個進程相關(guān)的存取令牌和使進程存取可能的每個對象相關(guān)的安全描述體。(1)存取令牌(access token)存取令牌的一般結(jié)構(gòu)包括以下參數(shù)(如圖5-17所示):擁存該進程的用戶SID(在網(wǎng)絡(luò)所有機器中唯一標(biāo)識一個用戶的安全標(biāo)識符)。用戶歸屬組的安全標(biāo)識符組SID。缺省的CACL,假如沒有其它的ACL被確定,它是由進程產(chǎn)生的分配到對象是上的存取控制列表。限制的SIDs,它允許不可靠的進程參加可靠的進程的作業(yè),
50、但有較少的危險。特權(quán)列表,它給出該進程的特權(quán)。例如關(guān)機權(quán),存取文件的權(quán)限,否則存取文件被拒絕。在事實上,特權(quán)列表把管理員的特權(quán)分成幾組權(quán)力,分別分配給各個進程。 存取令牌的結(jié)構(gòu) (2)安全描述體(security descriptor) 安全描述體包括以下參數(shù):定義一個安全描述體的類型和內(nèi)容標(biāo)志。對象的所有者SID,對象的所有者能夠完全控制對象并且給它賦予權(quán)限。自由訪問控制列表(Discretionary Access Control List,DACL),它標(biāo)識將要被賦予或剝奪訪問對象權(quán)限的用戶和組SID。訪問控制列表(ACL)由存取控制項(ACE)組成, ACE有二種類型,允許(allow
51、)類型指定了一個用戶的SID和在該對象上被賦予操作權(quán)限的位圖;拒絕(deny)類型指定了一個用戶的SID和在該對象剝奪操作權(quán)限的位圖。系統(tǒng)存取控制列表(SACL),它也由訪問控制項(ACE)組成,每項確定那個用戶的SID和在對象上應(yīng)該產(chǎn)生審查信息(記錄在系統(tǒng)范圍的安全事件日志上)操作權(quán)限的位圖。訪問控制項(ACE)中操作權(quán)限依賴于對象的類型,對文件的操作權(quán)限是RWXDPO(特殊權(quán)限讀、寫、執(zhí)行、刪除、更改、取得所有權(quán)),一個文件的安全描述體例如圖5-18所示。 一個文件的安全描述體例 (3)存取控制方式當(dāng)一個用戶登錄接受后,系統(tǒng)為用戶產(chǎn)生了一個進程和一個進程相連的存取令牌,存取令牌保持所有所需
52、安全信息。而與每個對象相連的是安全描述體,安全描述體有一個自由訪問控制表DACL,它確定不同的用戶和用戶組對這個對象的存取權(quán)。當(dāng)一個進程為存取而打開一個對象時,發(fā)生了安全審查操作。每一個Openxxx需要被打開的對象名和使用權(quán)限集合等參數(shù),在處理打開時,安全管理器檢查調(diào)用者是否有所需全部權(quán)限,它通過查看調(diào)用者的存取令牌和對象相關(guān)的DACL完成檢查。它按序檢查DACL中入口列表,一旦它在允許存取ACE中發(fā)現(xiàn)匹配調(diào)用者的SID或一個調(diào)用者的組的入口,存取被確認(rèn)。假如調(diào)用者所有權(quán)限是有效的,打開就成功,否則失敗。在一個對象打開后,一個句柄返回給調(diào)用者。接下去調(diào)用僅檢查試圖對對象的操作是否在允許存取操
53、作集中。4.可恢復(fù)性文件系統(tǒng) 可恢復(fù)性文件系統(tǒng)NTFS通過基于事務(wù)處理模式的日志記錄技術(shù),成功保證了NTFS卷的一致性,實現(xiàn)了文件系統(tǒng)的可恢復(fù)性。(1) NTFS可恢復(fù)性NTFS將每一個改變NTFS卷中系統(tǒng)文件的IO操作看作一次傳輸,并將每一個作為一個整體單元進行管理。一旦開始,傳輸要么完成,要么在磁盤故障時重新運行(例如當(dāng)NTFS卷返回到傳輸開始前的狀態(tài)時)。為確定傳輸是完成,還是重新運行,NTFS在傳輸?shù)淖硬僮鲗懭氪疟P之前將其記錄到日志文件當(dāng)中。當(dāng)完成的傳輸被記錄到日志文件中時,NTFS在卷的高速緩存中執(zhí)行傳輸?shù)淖硬僮?。NTFS更新緩存之后,將在記錄文件當(dāng)中記下全部傳輸已經(jīng)完成。 可恢復(fù)性
54、文件系統(tǒng)當(dāng)系統(tǒng)啟動后文件記錄服務(wù)就開始記錄對所有文件的變動。這些記錄包括文件的創(chuàng)建、打開、更新和其他操作。文件更新時系統(tǒng)會讓高速緩存記錄哪些文件變動了,同時事務(wù)日志將記錄文件的更新操作。如果文件更新的磁盤操作失敗了,事務(wù)日志就可以幫助恢復(fù);如果文件更新的磁盤操作成功了,則事務(wù)日志也會被更新。 NTFS使用一個基于事務(wù)的記錄方案來實現(xiàn)可恢復(fù)性。即便是對最大的磁盤,該方案也可確保整個磁盤被非??斓鼗謴?fù)(大約幾秒)。NTFS限制它的恢復(fù)過程只是對文件系統(tǒng)數(shù)據(jù),以確保在文件系統(tǒng)遭到破壞時,至少用戶不會丟失卷,但是如果發(fā)生崩潰后,用戶數(shù)據(jù)就不能保證被完全更新。 (2)日志 NTFS對每個要改變頭結(jié)構(gòu)的事
55、務(wù)的所有子操作在磁盤運行前都要求把一個記錄(logging)寫入每一個事務(wù)的子操作的日志文件中。NTFS將事件記錄在三種日志中:系統(tǒng)日志中包括由NT的系統(tǒng)組件記錄的事件,例如在啟動時驅(qū)動器失敗或其它的系統(tǒng)組件被載入將被記錄在系統(tǒng)日志中。安全日志中包括正確和非正確的登錄嘗試事件以及如建立、打開和刪除文件或其它對象的有關(guān)資源使用的事件,例如通過User Manager來使用登錄和注銷審核,進行系統(tǒng)登錄則將被記錄在安全日志中。應(yīng)用程序日志中包含了由應(yīng)用程序記錄的事件。例如一個數(shù)據(jù)庫程序可以將文件錯誤記錄到應(yīng)用程序日志中。系統(tǒng)日志和應(yīng)用日志可被所有的用戶查看,安全日志只能由系統(tǒng)管理員訪問。 (3)事件
56、日志事件日記由頭、事件說明(基于事件類型)和可選的或外加的數(shù)據(jù)組成。大部分進入安全日志的事件頭和事件說明組成。啟動“設(shè)置”/“控制面板”/“管理工具”/“事件查看器”,出現(xiàn)“事件查看器”窗口,在左邊子窗口選擇“樹”標(biāo)簽和系統(tǒng)日志,在右邊子窗口出現(xiàn)系統(tǒng)日志窗口,如圖5-19所示。 事件查看器顯示窗口 可恢復(fù)性文件系統(tǒng)事件查看器窗口中有“操作”、“查看”菜單。窗口中每行顯示有關(guān)一個時間的信息。每行中各項信息依次是事件類型、日期、時間、來源、分類、事件、用戶和計算機。(4) 日志記錄的實現(xiàn)NTFS通過日志文件服務(wù)(LFS) 例程來訪問日志文件的。LFS將日志文件分為重啟動區(qū)域和無限記錄區(qū)域。NTFS使用重啟動區(qū)域來存儲相關(guān)信息,在系統(tǒng)失敗后的恢復(fù)過程中,NTFS將從這個位置開始讀取信息。在LFS重啟動區(qū)域之后,為記錄區(qū)域,用于存放NTFS的日志記錄。LFS利用邏輯序列號(LSN),來標(biāo)識日志文件中的記錄。 可恢復(fù)性文件系統(tǒng)LFS允許用戶在日志文件中寫入任何類型的記錄。更新記錄和檢查
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 21551.4-2024家用和類似用途電器的抗菌、除菌、凈化功能第4部分:電冰箱的特殊要求
- 2024年道路危險貨物運輸安全協(xié)議范本3篇
- 2024建筑工程勞務(wù)承包合同協(xié)議書范本
- 2024版消防器材供貨合同
- 2024燃?xì)夤こ檀昂笃诰S護服務(wù)合同3篇
- 2025年度新型城鎮(zhèn)化建設(shè)項目合作合同3篇
- 2024版水泥購銷合同參考樣本
- 二零二五年度租賃合同稅費承擔(dān)范本6篇
- 二零二五年度班主任新手跟崗學(xué)習(xí)與技能培訓(xùn)合同3篇
- 二零二五版房地產(chǎn)交易兜底協(xié)議范本3篇
- 人教版(2025新版)七年級下冊英語:寒假課內(nèi)預(yù)習(xí)重點知識默寫練習(xí)
- 藝術(shù)品捐贈協(xié)議
- 網(wǎng)絡(luò)安全系統(tǒng)運維方案
- 2024年標(biāo)準(zhǔn)溝渠回填工程承包協(xié)議版B版
- 2024年專用:物業(yè)安全管理協(xié)議3篇
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級下冊+
- 《政府采購業(yè)務(wù)培訓(xùn)》課件
- 《醫(yī)療器械召回管理辦法》培訓(xùn)2024
- 網(wǎng)絡(luò)安全培訓(xùn)內(nèi)容課件
- 通信線路維護安全培訓(xùn)
- 專業(yè)微信小程序開發(fā)協(xié)議范例版
評論
0/150
提交評論