版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、24 七月 2022第7章 操作系統(tǒng)實(shí)例一:Windows XP24 七月 2022目 錄7.1 Windows XP的處理機(jī)管理7.2 Windows XP的存儲(chǔ)管理7.3 Windows XP的文件管理7.4 Windows XP的設(shè)備管理24 七月 2022教學(xué)目標(biāo)熟練掌握: Windows XP線程調(diào)度方式,Windows XP 的地址轉(zhuǎn)換過程,Windows XP內(nèi)存中的頁(yè)面調(diào)度,Windows XP的文件系統(tǒng),NTFS的概念和作用,Windows XP設(shè)備管理的層次。掌握: Windows XP地址的空間布局,NTFS文件和目錄的結(jié)構(gòu),Windows XP單層驅(qū)動(dòng)程序的I/O處理。
2、了解: Windows XP的體系結(jié)構(gòu),NTFS對(duì)可恢復(fù)性的支持,Windows XP兩級(jí)中斷處理過程。24 七月 2022 Windows是微機(jī)操作系統(tǒng)新潮流的一個(gè)重要例子。這些操作系統(tǒng)的最重要的特征之一就是它們是多任務(wù)操作系統(tǒng)。 Windows并不是純粹的微內(nèi)核結(jié)構(gòu),但微軟將其稱為改進(jìn)的微內(nèi)核結(jié)構(gòu)。和純粹的微內(nèi)核結(jié)構(gòu)一樣,Windows是高度模塊化的。每個(gè)系統(tǒng)函數(shù)都正好由一個(gè)操作系統(tǒng)部件管理,操作系統(tǒng)的其余部分和所有應(yīng)用程序通過相應(yīng)的部件使用標(biāo)準(zhǔn)接口訪問這個(gè)函數(shù)。24 七月 2022 分層結(jié)構(gòu),指的是把操作系統(tǒng)的所有功能模塊按照調(diào)用的次序分別劃分為若干層,各層之間的模塊只能單向依賴或單向調(diào)
3、用。 Windows XP采用的最主要的體系結(jié)構(gòu)是客戶/服務(wù)器結(jié)構(gòu),采用這種結(jié)構(gòu)的操作系統(tǒng)將非常適于應(yīng)用在網(wǎng)絡(luò)環(huán)境下。該結(jié)構(gòu)的內(nèi)核只提供了操作系統(tǒng)最基本的功能,如基本調(diào)度操作和中斷處理等??蛻?服務(wù)器結(jié)構(gòu)的優(yōu)點(diǎn)是可靠、靈活以及適用于網(wǎng)絡(luò)計(jì)算機(jī)環(huán)境,但也存在工作效率不高的缺陷。7.1.1 Windows XP的體系結(jié)構(gòu)7.1 Windows XP的處理機(jī)管理24 七月 2022 Windows XP通過硬件機(jī)制實(shí)現(xiàn)了核心態(tài)以及用戶態(tài),并為前者賦予了很高的特權(quán),允許處于核心態(tài)的程序調(diào)用特權(quán)指令來封殺任何用戶態(tài)的程序,而用戶態(tài)的程序只能調(diào)用常規(guī)的指令。一般來說,只有那些至關(guān)重要的、對(duì)性能影響很大的代
4、碼和組件才運(yùn)行在核心態(tài)。 如下圖所示的就是以核心態(tài)和用戶態(tài)為劃分原則的Windows XP體系結(jié)構(gòu)示意圖。24 七月 2022Windows XP操作系統(tǒng)的體系結(jié)構(gòu)24 七月 2022system support process 系統(tǒng)支 持進(jìn)程 user application 用戶應(yīng) 用程序 service process服務(wù)進(jìn)程 environment subsystem 環(huán)境子 系統(tǒng) 原則Window XP支持4種基本的用戶模式進(jìn)程類別24 七月 20221. Windows XP的進(jìn)程1)Windows XP進(jìn)程的組成Windows XP進(jìn)程包括以下內(nèi)容:(1)一個(gè)可執(zhí)行程序。(2)一
5、個(gè)由該進(jìn)程專用的地址空間,它是該進(jìn)程可以使用的虛擬內(nèi)存地址的集合。(3)系統(tǒng)資源,如信號(hào)量、通信端口、文件等。它們由程序執(zhí)行,由操作系統(tǒng)分配給該進(jìn)程。(4)一個(gè)或多個(gè)線程。7.1.2 Window XP的進(jìn)程和線程24 七月 2022 2)Windows XP進(jìn)程間的關(guān)系 為了支持Win32、OS/2、POSIX等多種環(huán)境子系統(tǒng),Windows XP核心進(jìn)程之間沒有任何關(guān)系,各環(huán)境子系統(tǒng)分別建立、維護(hù)和表達(dá)各自的進(jìn)程關(guān)系。如圖72所示,Windows XP把Win32環(huán)境子系統(tǒng)設(shè)計(jì)成整個(gè)系統(tǒng)的子系統(tǒng),一些基本的進(jìn)程管理功能被放置在Win32子系統(tǒng)中,POSIX和OS/2等其他子系統(tǒng)則調(diào)用Win
6、32子系統(tǒng)的功能實(shí)現(xiàn)其自身功能。24 七月 2022資源管理器窗口24 七月 2022一個(gè)唯一的標(biāo)志符,稱為客戶ID(client ID)。Vision 01兩個(gè)棧,一個(gè)是用戶棧,在用戶態(tài)下執(zhí)行;另一個(gè)是核心棧,在核心態(tài)下執(zhí)行。Vision 03表示CPU狀態(tài)的一組易變寄存器的內(nèi)容。Vision 02一個(gè)由該線程專用的存儲(chǔ)區(qū)域,供保護(hù)子系統(tǒng)、動(dòng)態(tài)鏈接庫(kù)等使用。Vision 04組成2. Windows XP的線程1)Windows XP線程的組成24 七月 2022狀態(tài)就緒狀態(tài):線程已獲得所需的資源,等處理機(jī)調(diào)度。終止?fàn)顟B(tài):線程執(zhí)行完后進(jìn)入終止?fàn)顟B(tài)。備用狀態(tài):已選擇好線程的執(zhí)行處理機(jī),正等待進(jìn)
7、入運(yùn)行狀態(tài)。運(yùn)行狀態(tài):已完成描述表的切換,線程開始執(zhí)行,執(zhí)行過程一直持續(xù)到被其他線程搶占處理機(jī)、時(shí)間片完、被阻塞或終止。過渡狀態(tài):與就緒狀態(tài)類似,但此時(shí)線程的內(nèi)核堆棧位于外存。等待狀態(tài):當(dāng)線程被一個(gè)事件阻塞,自愿等待或一個(gè)環(huán)境子系統(tǒng)指引它把自身掛起時(shí)進(jìn)入等待狀態(tài)。2)Windows XP線程的狀態(tài)及狀態(tài)轉(zhuǎn)換24 七月 2022Windows XP線程的狀態(tài)及各狀態(tài)間的轉(zhuǎn)換24 七月 20227.1.3 Window XP的線程調(diào)度實(shí)時(shí)優(yōu)先級(jí)主要適用于核心態(tài)的系統(tǒng)進(jìn)程Vision 01普通優(yōu)先級(jí)是用戶進(jìn)程創(chuàng)建時(shí)被默認(rèn)賦予的優(yōu)先級(jí)。Vision 03高優(yōu)先級(jí)是為一些必須及時(shí)得到響應(yīng)的進(jìn)程設(shè)置的。V
8、ision 02空閑優(yōu)先級(jí)是專為系統(tǒng)空閑時(shí)運(yùn)行的進(jìn)程設(shè)置的。Vision 04優(yōu)先級(jí)1. Windows XP進(jìn)程的優(yōu)先級(jí)24 七月 2022 2. Windows XP線程的優(yōu)先級(jí) 在Windows XP里,一旦線程被創(chuàng)建,它就取所屬進(jìn)程的優(yōu)先級(jí)。Windows XP線程的優(yōu)先級(jí),可以取031的值,它們被分成3個(gè)部分: (1)16個(gè)實(shí)時(shí)線程優(yōu)先級(jí)(1631)。 (2)15個(gè)可變線程優(yōu)先級(jí)(115)。 (3)1個(gè)系統(tǒng)線程優(yōu)先級(jí)(0)。24 七月 2022 3.線程調(diào)度的管理 Windows XP用一張線程調(diào)度器就緒隊(duì)列表、一個(gè)就緒位圖、一個(gè)空閑位圖來管理有關(guān)線程的調(diào)度,如圖所示。 (1)線程調(diào)
9、度器就緒隊(duì)列表。該表共有 32 個(gè)表項(xiàng),每個(gè)表項(xiàng)按照線程的優(yōu)先級(jí),維持著一個(gè)具有該優(yōu)先級(jí)的線程就緒隊(duì)列。 (2)就緒位圖。就緒位圖由32個(gè)二進(jìn)制位組成。Windows XP用其中每位的取值,記錄相應(yīng)調(diào)度優(yōu)先級(jí)就緒隊(duì)列里是否有等待運(yùn)行的線程存在。 (3)空閑位圖??臻e位圖由32個(gè)二進(jìn)制位組成。Windows XP用其中的每位的取值,指示相應(yīng)處理機(jī)是否處于空閑狀態(tài)。 24 七月 2022Windows XP線程調(diào)度的管理24 七月 2022 Windows XP的用戶內(nèi)存被用戶態(tài)和核心態(tài)線程存取,并且對(duì)每個(gè)進(jìn)程都是唯一的,而系統(tǒng)內(nèi)存只能被核心態(tài)線程存取,并且對(duì)每個(gè)進(jìn)程都是相同的。 系統(tǒng)區(qū)按速度要求
10、不同又分為3部分,從快到慢依次為直接映射區(qū),非頁(yè)交換區(qū)和頁(yè)交換區(qū)。 系統(tǒng)區(qū)低端的直接映射區(qū)有3個(gè)特性: (1)該區(qū)中的內(nèi)容永遠(yuǎn)不會(huì)按頁(yè)交換出內(nèi)容。 (2)該區(qū)由硬件直接映射。 (3)該區(qū)用于存放代碼和數(shù)據(jù)庫(kù)中需要最好的性能的部分。7.2.1 Windows XP地址的空間布局7.2 Windows XP的存儲(chǔ)管理24 七月 2022Windows XP進(jìn)程虛擬空間的分配24 七月 2022 Windows XP的進(jìn)程頁(yè)表采用二級(jí)頁(yè)表機(jī)制實(shí)現(xiàn)虛擬地址向物理地址的轉(zhuǎn)換,并采用快表高速轉(zhuǎn)換后援緩沖器(TLB)和高速緩存加快訪問速度。一個(gè)32位虛擬地址被解釋為3個(gè)獨(dú)立的分量:頁(yè)目錄索引、頁(yè)表索引和字節(jié)
11、索引(它們用于找出描述頁(yè)面映射結(jié)構(gòu)的索引)。7.2.2 Windows XP的地址轉(zhuǎn)換機(jī)構(gòu)24 七月 2022頁(yè)目錄索引用于指出虛擬地址的頁(yè)目錄在頁(yè)表中的位置;頁(yè)表索引則用來確定頁(yè)表項(xiàng)在頁(yè)表中的具體位置,頁(yè)表項(xiàng)包含了虛擬地址被映射的物理地址;字節(jié)索引用于在物理頁(yè)中尋找某個(gè)具體的地址。在x86系統(tǒng)中,因?yàn)橐豁?yè)為4 KB,那么字節(jié)索引可以用12位表示。x86系統(tǒng)中32位虛擬地址的構(gòu)成24 七月 2022 Windows XP系統(tǒng)中地址轉(zhuǎn)換的過程如下: 首先由內(nèi)存管理的硬件設(shè)備定位當(dāng)前進(jìn)程的頁(yè)目錄,由頁(yè)目錄索引在頁(yè)目錄中指出頁(yè)目錄的位置,其中頁(yè)目錄包含的頁(yè)框號(hào)(page frame number,P
12、FN)描述了虛擬地址所需的頁(yè)表的位置; 然后再在頁(yè)表索引中找到頁(yè)表項(xiàng)的位置,而頁(yè)表項(xiàng)正是用于確定頁(yè)框的位置,當(dāng)頁(yè)表項(xiàng)指向了有效的頁(yè)時(shí),字節(jié)索引找到物理頁(yè)內(nèi)所需數(shù)據(jù)的地址。24 七月 2022虛擬地址的轉(zhuǎn)換過程24 七月 20227.2.3 Windows XP對(duì)內(nèi)存的管理在Windows XP中,物理頁(yè)在任意指定時(shí)刻可能處于以下6種狀態(tài)之一。狀態(tài)有效:該物理頁(yè)正在被某個(gè)進(jìn)程使用。壞頁(yè):該物理頁(yè)產(chǎn)生了奇偶校驗(yàn)錯(cuò)誤或其他硬件錯(cuò)誤,不能被使用。零初始化:該物理頁(yè)處于空閑狀態(tài),并已被初始化??臻e:該物理頁(yè)空閑,但沒有被初始化。更改:這個(gè)狀態(tài)只有一點(diǎn)與備用狀態(tài)不同,處于該狀態(tài)的物理頁(yè)已被使用它的進(jìn)程修改
13、過。備用:該物理頁(yè)被一個(gè)進(jìn)程使用,但已從該進(jìn)程的工作集中被刪除。24 七月 2022 每當(dāng)發(fā)生缺頁(yè)中斷時(shí),先看所需要的頁(yè)是否在備用表或更改表中,若在,則將該頁(yè)從備用表或更改表中移出,收回到該項(xiàng)進(jìn)程的工作集中;若不在,如果需要的是一個(gè)零初始化頁(yè),則內(nèi)存管理器試圖在零初始化頁(yè)表中取出首頁(yè),若這個(gè)頁(yè)表已空,則從空閑表取出一頁(yè)并對(duì)該頁(yè)進(jìn)行零初始化,如果需要的不是零初始化頁(yè),就從空閑表中取出第一頁(yè),如果空閑表是空的,就從零初始化頁(yè)表中取一頁(yè)。 無論何時(shí)只要零初始化表、空閑表、備用表的頁(yè)數(shù)低于最小允許值,就喚醒名為“更改頁(yè)寫入程序”的線程,將更改表中的頁(yè)寫入磁盤,然后將這些頁(yè)移入備用表中。24 七月 20
14、227.2.4 Windows XP的頁(yè)面調(diào)度 在Windows XP系統(tǒng)中還提供了管理存儲(chǔ)數(shù)組形式的高速緩存,稱為快表。所謂關(guān)聯(lián)存儲(chǔ)器,即TLB,是一個(gè)向量,它的存儲(chǔ)單元能被同時(shí)讀取,并直接與目標(biāo)值比較。在TLB中,向量中包含了大多數(shù)最近使用過的虛擬頁(yè)到物理地址的映射及每頁(yè)的頁(yè)保護(hù)類型。由于常用的虛擬地址記錄在TLB中,這樣就使得虛擬地址到物理地址的轉(zhuǎn)換速度大大提高,而且減少了對(duì)內(nèi)存的訪問次數(shù)。24 七月 2022 內(nèi)存管理器利用請(qǐng)求頁(yè)面調(diào)度算法及簇方式將頁(yè)面裝入內(nèi)存。當(dāng)線程產(chǎn)生一次缺頁(yè)中斷時(shí),內(nèi)存管理器將引發(fā)中斷的頁(yè)面及其后續(xù)的少量頁(yè)面裝入內(nèi)存。這個(gè)策略試圖減少線程引起的調(diào)頁(yè)I/O數(shù)量。
15、當(dāng)線程產(chǎn)生缺頁(yè)中斷時(shí),內(nèi)存管理器還必須確定將調(diào)入的虛擬頁(yè)面放在物理內(nèi)存的何處。用于確定最佳位置的規(guī)則被稱為“置換算法”。在多處理機(jī)系統(tǒng)中,采用局部先進(jìn)先出的置換算法,在單處理機(jī)系統(tǒng)中,采用類似于最近最少使用的置換算法。24 七月 2022 文件系統(tǒng)是操作系統(tǒng)中最接近用戶的一層,必須為用戶提供一種簡(jiǎn)便、統(tǒng)一的存取信息和管理信息的方法,即系統(tǒng)將信息統(tǒng)一組織成文件形式,建立文件控制塊,提供存儲(chǔ)訪問文件的手段。 Windows XP支持4種文件系統(tǒng),它們是:文件分配表(FAT)系統(tǒng)、擴(kuò)展文件分配表(VFAT)系統(tǒng)、NT文件系統(tǒng)(NTFS)以及高性能文件系統(tǒng)(HPFS)。同時(shí)隨著技術(shù)的發(fā)展和進(jìn)步,Win
16、dows XP提供了對(duì)分布式文件系統(tǒng)的客戶和服務(wù)器的支持。7.3.1 Windows XP文件系統(tǒng)綜述7.3 Windows XP的文件管理24 七月 2022 1.文件分配表(FAT)系統(tǒng) FAT是文件分配表(file allocation table)的英文縮寫。它是借助“文件分配表”來管理磁盤存儲(chǔ)空間、創(chuàng)建和使用文件的一種方法。 由FAT 管理的磁盤卷,被分為5個(gè)區(qū)域:引導(dǎo)區(qū),文件分配表1,文件分配表2,根目錄區(qū)以及數(shù)據(jù)存儲(chǔ)區(qū)。整個(gè)結(jié)構(gòu)如下圖所示。FAT卷的結(jié)構(gòu)24 七月 2022 引導(dǎo)區(qū):該區(qū)里存放的是引導(dǎo)程序,以及有關(guān)該卷的總信息(如扇區(qū)數(shù)、每個(gè)扇區(qū)的大小、文件分配表的大小、簇的尺寸
17、等)。 文件分配表 1 和文件分配表 2:文件分配表非常重要,因此每個(gè)磁盤卷上都安排有兩個(gè)文件分配表,它們的內(nèi)容完全相同。一個(gè)只是作為另一個(gè)的備份,以便必要時(shí)能夠起到恢復(fù)的作用。 根目錄區(qū):該區(qū)用于存放磁盤文件的根目錄文件。 數(shù)據(jù)存儲(chǔ)區(qū):該區(qū)會(huì)占用較大空間,用于存放用戶文件。24 七月 2022 2.擴(kuò)展文件分配表(VFAT)系統(tǒng) 在Windows XP中,通過對(duì)FAT文件系統(tǒng)的擴(kuò)展,長(zhǎng)文件名問題得到了妥善解決,這也就是所謂的擴(kuò)展FAT(VFAT)文件系統(tǒng)。 但是為了同MSDOS和Win16位程序兼容,它仍保留有擴(kuò)展名。它同時(shí)也支持文件日期和時(shí)間屬性,為每個(gè)文件保留了文件創(chuàng)建的日期/時(shí)間、文件
18、最近被修改的日期/時(shí)間和文件最近被打開的日期/時(shí)間這3個(gè)日期/時(shí)間戳。Windows XP的VFAT文件系統(tǒng)和下面將要提到的NT文件系統(tǒng)(NTFS)和高性能文件系統(tǒng)(HPFS)都支持長(zhǎng)文件名。24 七月 2022 3.Windows NT文件系統(tǒng)(NTFS) NTFS是英文new technology file system的縮寫,是一種具有較好容錯(cuò)性和安全性的全新文件系統(tǒng)。NTFS 是以簇作為磁盤空間分配和回收的基本單位。一個(gè)文件總是占用存儲(chǔ)空間里的整數(shù)個(gè)簇。 NTFS按照簇的尺寸來劃分文件的虛擬空間,這樣形成的順序號(hào),稱為虛擬簇號(hào)(virtual cluster number,VCN);把
19、整個(gè)卷中所有的簇從頭到尾進(jìn)行順序編號(hào),稱為邏輯簇號(hào)(logical cluster number,LCN) 。24 七月 2022文件VCN和LCN的關(guān)系示意圖24 七月 2022 NTFS 把卷上的磁盤存儲(chǔ)區(qū)分成兩個(gè)部分,其中大約 12%的空間(以簇為單位)分配給主控文件表(master file table,MFT)使用,余下88%的空間被分配用于存儲(chǔ)各種文件。NTFS 的磁盤卷結(jié)構(gòu)24 七月 2022 4.高性能文件系統(tǒng) OS/2的高性能文件系統(tǒng)(HPFS)主要克服了FAT文件系統(tǒng)不適合于高檔操作系統(tǒng)這一缺點(diǎn),HPFS支持長(zhǎng)文件名,比FAT文件系統(tǒng)有更強(qiáng)的糾錯(cuò)能力。Windows XP也
20、支持HPFS,使得從OS/2到Windows XP的過渡更為容易。HPFS和NTFS有包括長(zhǎng)文件名在內(nèi)的許多相同特性,但使用可靠性較差,也較低級(jí)。24 七月 2022 在NTFS里,磁盤上的所有數(shù)據(jù)都是以文件的形式出現(xiàn),即使是文件系統(tǒng)的管理信息也是以一組文件的形式存儲(chǔ)的,即元文件。而在16個(gè)元文件中主控文件表(MFT)是一個(gè)非常重要的元文件,它記錄著分區(qū)上每一個(gè)文件的索引,這些索引稱為文件記錄,每個(gè)文件記錄占用兩個(gè)扇區(qū)。每個(gè)文件都有一個(gè)文件記錄,包括元文件本身,而主控文件表(MFT)就是專門用來存儲(chǔ)文件記錄的一個(gè)元文件,在主控文件表中前16 個(gè)文件記錄總是元文件的記錄。7.3.2 NTFS的主
21、控文件表24 七月 2022 由于MFT文件本身的重要性,為了確保文件系統(tǒng)結(jié)構(gòu)的可靠性,系統(tǒng)專門為它準(zhǔn)備了一個(gè)鏡像文件($MFTMirr),也就是MFT中的第二個(gè)記錄。不過這并不是MFT的完整鏡像,而是一個(gè)小部分鏡像,一般只鏡像MFT中的前4個(gè)文件記錄。要對(duì)MFT的空間進(jìn)行管理,可以在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem中增加一個(gè)類型為DWORD的NtfsMftZoneReservation,它的缺省值是1,其范圍是14(1表示 MFT占整個(gè)卷的12.5%,2表示占25%,3表示占37.5%,4表示占50%)。24
22、 七月 2022 NTFS中,文件存取是按簇進(jìn)行分配的,一個(gè)簇必須是物理扇區(qū)的整數(shù)倍,而且總是2的整數(shù)次方。 文件通過主控文件表(MFT)來確定其在磁盤上的存儲(chǔ)位置。主控文件表是一個(gè)對(duì)應(yīng)的數(shù)據(jù)庫(kù),由一系列的文件記錄組成,卷中每一個(gè)文件都有一個(gè)文件記錄(對(duì)于大型文件還可能有多個(gè)記錄與之相對(duì)應(yīng))。 NTFS卷上的每個(gè)文件都有一個(gè)64位(bit)稱為文件引用號(hào)也稱文件索引號(hào)(file reference number)的唯一標(biāo)志。文件引用號(hào)由兩部分組成:一是文件號(hào),二是文件順序號(hào)。7.3.3 NTFS文件和目錄的結(jié)構(gòu)24 七月 2022 NTFS的目錄只是一個(gè)簡(jiǎn)單的文件名和文件引用號(hào)的索引,如果目錄
23、的屬性列表小于一個(gè)記錄的長(zhǎng)度,那么該目錄的所有信息都存儲(chǔ)在主文件表的記錄中,對(duì)于大于記錄的目錄則使用B+樹進(jìn)行管理。主文件表中的基本文件記錄中有一個(gè)指針指向一個(gè)存儲(chǔ)常駐索引緩沖區(qū)中包括該目錄下所有下一級(jí)子目錄和文件的外部簇,而B+樹結(jié)構(gòu)便于大型目錄中文件和子目錄的快速查找。24 七月 2022 NTFS通過基于事務(wù)處理模式的日志記錄技術(shù),成功保證了NTFS卷的一致性,實(shí)現(xiàn)了文件系統(tǒng)的可恢復(fù)性。在 FAT 或 HPFS 上執(zhí)行 CHKDSK 時(shí),系統(tǒng)會(huì)檢查目錄、分配表和文件表中指針的一致性;但是在 NTFS 下,系統(tǒng)會(huì)維護(hù)針對(duì)這些組件的事務(wù)日志,因此,CHKDSK只需將事務(wù)回滾到上一個(gè)提交點(diǎn)就可
24、以恢復(fù)文件系統(tǒng)中的一致性。事務(wù)日志方法需要的系統(tǒng)開銷是很小的。NTFS并不是直接在日志文件中存取記錄,而是通過LFS來讀寫。LFS提供了打開、寫入、向前、向后、更新等操作來幫助NTFS處理日志文件。7.3.4 NTFS對(duì)可恢復(fù)性的支持24 七月 2022 為了確保每個(gè)事務(wù)都能順利的完成或出錯(cuò)時(shí)回滾到上一狀態(tài),對(duì)于每個(gè)事務(wù)NTFS都會(huì)執(zhí)行以下步驟: (1)把此次事務(wù)中的子操作記錄到已緩存在內(nèi)存的日志文件里。(2)把實(shí)際的子操作數(shù)據(jù)記錄到內(nèi)存中。(3)在緩存于內(nèi)存的日志文件里把此次事務(wù)標(biāo)記為已提交。(4)把日志寫入磁盤。(5)把數(shù)據(jù)寫入磁盤。24 七月 2022 當(dāng)系統(tǒng)發(fā)生錯(cuò)誤時(shí),NTFS的日志中
25、有足夠的信息去完成或中斷任何出問題的事務(wù)。執(zhí)行恢復(fù)操作的時(shí)候,NTFS重做日志里每一個(gè)標(biāo)記為提交的事務(wù);然后文件系統(tǒng)在日志中查找那些在上一次系統(tǒng)崩潰時(shí)沒有提交的事務(wù),把這些事務(wù)的子操作撤銷掉。因?yàn)镹TFS在任何數(shù)據(jù)變動(dòng)寫入硬盤之前已經(jīng)把這些變動(dòng)的日志先寫入了硬盤,所以NTFS擁有那些在恢復(fù)過程中需要回滾的子操作的所有的有效信息。24 七月 2022 1. Windows XP I/O系統(tǒng)的結(jié)構(gòu) 如下圖所示為Windows XP I/O系統(tǒng)的組件示意圖。它由I/O系統(tǒng)服務(wù)、I/O管理程序以及各種驅(qū)動(dòng)程序(文件系統(tǒng)的和設(shè)備的)等組成。7.4.1 Windows XP的設(shè)備管理綜述7.4 Windo
26、ws XP的設(shè)備管理24 七月 2022 (1)應(yīng)用程序,通過應(yīng)用程序的編程接口(API),進(jìn)入執(zhí)行體。 (2)“I/O系統(tǒng)服務(wù)”組件是處于核心態(tài)下的系統(tǒng)調(diào)用的集合。它們把用戶對(duì)I/O的請(qǐng)求傳遞給I/O管理程序,使之能夠最終完成下層的I/O處理。 (3)“I/O管理程序” 的工作是建立起代表I/O操作的I/O請(qǐng)求包(I/O request packet,IRP),并把IRP傳送給相應(yīng)的驅(qū)動(dòng)程 序。在 I/O操作完成后,清除IRP。 (4)各個(gè)驅(qū)動(dòng)程序組件接收IRP,執(zhí)行指定的操作。在完成操作后,負(fù)責(zé)把IRP傳回I/O管理程序,或者通過I/O管理程序,再把IRP傳送到另一個(gè)驅(qū)動(dòng)程序,以求得到更進(jìn)
27、一步的 I/O處理。24 七月 2022 2.設(shè)備驅(qū)動(dòng)程序 1)Windows XP設(shè)備驅(qū)動(dòng)程序的功能 設(shè)備驅(qū)動(dòng)程序是設(shè)備相關(guān)代碼的集合,每類設(shè)備有一個(gè)設(shè)備驅(qū)動(dòng)程序。Windows XP設(shè)備驅(qū)動(dòng)程序接收I/O管理器傳來的命令,對(duì)相應(yīng)設(shè)備進(jìn)行管理,在命令完成后通知I/O管理器。設(shè)備驅(qū)動(dòng)程序經(jīng)常通過I/O管理器向共享設(shè)備控制接口的其他設(shè)備驅(qū)動(dòng)程序轉(zhuǎn)發(fā)命令。24 七月 2022 2)Windows XP設(shè)備驅(qū)動(dòng)程序的存在形式和結(jié)構(gòu) Windows XP驅(qū)動(dòng)程序常以擴(kuò)展名為sys的文件形式存在(此類型的文件不能用文本形式編輯)。每個(gè)設(shè)備對(duì)應(yīng)一個(gè)或多個(gè)sys文件。這些文件存放在C:WINDOWSsyst
28、em32drivers及C:Program Files目錄下。 例如,在C:WINDOWSsystem32drivers目錄下可以看到文件系統(tǒng)驅(qū)動(dòng)程序ntfs.sys、fastfat.sys、udfa.sys、cdfs.sys等,Windows硬盤驅(qū)動(dòng)程序disk.sys等。24 七月 20223)Windows XP設(shè)備驅(qū)動(dòng)程序的分類 Windows XP設(shè)備驅(qū)動(dòng)程序有多種類型和多種分類角度。 (1)從權(quán)限級(jí)別方面可以分為用戶方式驅(qū)動(dòng)程序和核心方式驅(qū)動(dòng)程 序。 (2)在WDM模型(Windows driver model)中,劃分為總線驅(qū)動(dòng)程序(bus driver)、功能驅(qū)動(dòng)程序(func
29、tion driver)、過濾器驅(qū)動(dòng)程序(filter driver)等。(3)從硬件支持方面可將驅(qū)動(dòng)程序分為類驅(qū)動(dòng)程序(class driver)、端口驅(qū)動(dòng)程序(port driver)、小端口驅(qū)動(dòng)程序(miniport driver)等。24 七月 2022 4)Windows XP設(shè)備驅(qū)動(dòng)程序的分層 Windows XP對(duì)不同的設(shè)備采用不同的驅(qū)動(dòng)程序分層結(jié)構(gòu)。對(duì)于簡(jiǎn)單的字符型設(shè)備(如鼠標(biāo)、顯示器、鍵盤、打印機(jī)), 大都使用單層設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)來完成用戶的 I/O 請(qǐng)求。I/O管理程序直接把I/O請(qǐng)求發(fā)送給有關(guān)的設(shè)備系統(tǒng)驅(qū)動(dòng)程序進(jìn)行處理。 大容量的設(shè)備(如磁盤、磁帶等)總是使用多層驅(qū)動(dòng)程序
30、結(jié) 構(gòu)。I/O請(qǐng)求先是由I/O管理程序發(fā)送給文件系統(tǒng)驅(qū)動(dòng)程序,經(jīng)過這一層處理后,才由I/O管理程序發(fā)送給設(shè)備驅(qū)動(dòng)程序,由它最后完成I/O操作。 24 七月 2022Windows XP I/O驅(qū)動(dòng)程序的分層24 七月 2022 1.同步I/O操作與異步I/O操作 同步I/O操作即是指用戶線程發(fā)出一個(gè)I/O請(qǐng)求后,將該請(qǐng)求交給I/O系統(tǒng)去處理,自己則處于等待服務(wù)完成的狀態(tài)。I/O管理器接收請(qǐng)求后,通過調(diào)用相應(yīng)的設(shè)備驅(qū)動(dòng)程序,完成數(shù)據(jù)處理,并將結(jié)果傳輸給等待線程。 在采用同步I/O操作方式時(shí),I/O操作完成在先,控制返回線程在后。7.4.2 Windows XP單層驅(qū)動(dòng)的I/O處理24 七月 2022 異步I/O操作指在用戶線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年皮膚專用型潔膚液行業(yè)深度研究分析報(bào)告
- 2025年皮卡車租賃合作協(xié)議書(標(biāo)準(zhǔn)版)3篇
- 2025年烤面包機(jī)項(xiàng)目風(fēng)險(xiǎn)可行性方案
- 二零二五年度消防演練策劃與組織實(shí)施協(xié)議4篇
- 2025年CJ北川倍力虎鉗項(xiàng)目投資可行性研究分析報(bào)告
- 二零二五年度牙科診所醫(yī)療廢物處理設(shè)施改造升級(jí)合同4篇
- 二零二五年度塑料編織袋行業(yè)節(jié)能減排技術(shù)研發(fā)合同
- 二零二五年度體育場(chǎng)館承包經(jīng)營(yíng)合同模板4篇
- 2024版石灰石買賣合同可持續(xù)發(fā)展條款
- 2025年度古樂器展覽展示與贊助合作合同
- 電纜擠塑操作手冊(cè)
- 浙江寧波鄞州區(qū)市級(jí)名校2025屆中考生物全真模擬試卷含解析
- IATF16949基礎(chǔ)知識(shí)培訓(xùn)教材
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)知能訓(xùn)練與指導(dǎo)-西北農(nóng)林科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 勞務(wù)派遣公司員工考核方案
- 基礎(chǔ)生態(tài)學(xué)-7種內(nèi)種間關(guān)系
- 2024年光伏農(nóng)田出租合同范本
- 《阻燃材料與技術(shù)》課件 第3講 阻燃基本理論
- 2024-2030年中國(guó)黃鱔市市場(chǎng)供需現(xiàn)狀與營(yíng)銷渠道分析報(bào)告
- 新人教版九年級(jí)化學(xué)第三單元復(fù)習(xí)課件
- 江蘇省南京鼓樓區(qū)2024年中考聯(lián)考英語(yǔ)試題含答案
評(píng)論
0/150
提交評(píng)論