




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第五章 設(shè) 備 管 理 第五章第五章 設(shè)備管理設(shè)備管理 第五章 設(shè) 備 管 理 本章要點 設(shè)備管理的主要功能、模型 I/O子系統(tǒng)的組成、結(jié)構(gòu) 設(shè)備的控制、I/O控制 設(shè)備的類型 設(shè)備分配 I/O緩沖技術(shù) 虛擬設(shè)備與SPOOLing系統(tǒng) 磁盤設(shè)備的管理第五章 設(shè) 備 管 理 設(shè)備管理的功能 設(shè)備分配 設(shè)備映射 設(shè)備驅(qū)動 I/O緩沖區(qū)的管理第五章 設(shè) 備 管 理 I/O設(shè)備分類 根據(jù)外部設(shè)備的用途不同,可以將其分為輸入/輸出型設(shè)備與存儲型設(shè)備; 根據(jù)外設(shè)傳輸?shù)幕緮?shù)據(jù)單位不同,可以將設(shè)備分為塊型設(shè)備與字符型設(shè)備; 按照資源管理的方式不同,可以將設(shè)備分為獨占型設(shè)備和共享型設(shè)備。第五章 設(shè) 備 管 理
2、 輸入/輸出型 VS 存儲型 輸入/輸出型設(shè)備:鍵盤、鼠標、顯示器、讀卡機、掃描儀、打印機、繪圖儀、數(shù)碼相機等。 存儲型設(shè)備:磁帶機、磁鼓機、磁盤機等。可用作輸入,也可用作輸出。主要用于長期保存信息,但需要管理其上的存儲空間。 可以在存儲設(shè)備上建立文件系統(tǒng)。 有組織、有結(jié)構(gòu)地長期存儲信息。第五章 設(shè) 備 管 理 塊型設(shè)備 VS 字符型設(shè)備 塊型設(shè)備通常就是存儲型設(shè)備。這類設(shè)備由若干長度相同的塊構(gòu)成。 一塊的長度通常為2n個字節(jié),如256B、1024B等。對這類設(shè)備來說,塊是存儲分配的基本單位,也是I/O傳輸?shù)幕締挝弧?字符型設(shè)備通常就是輸入/輸出型設(shè)備。這類設(shè)備I/O傳輸?shù)幕締挝皇亲止?jié)。第
3、五章 設(shè) 備 管 理 獨占型 VS 共享型 獨占型設(shè)備包括所有的字符型設(shè)備及塊設(shè)備 任意時間段內(nèi)最多只能被一個進程占用。 共享型設(shè)備包括除磁帶機以外的所有塊型設(shè)備。 宏觀上,一個共享型設(shè)備可以被多個進程同時占用;微觀上,多個進程交替使用同一設(shè)備。 進程使用這類設(shè)備時,無須申請或釋放設(shè)備,也不存在某個進程占用設(shè)備的問題。第五章 設(shè) 備 管 理 I/O系統(tǒng)的結(jié)構(gòu)系統(tǒng)的結(jié)構(gòu) 總線型I/O系統(tǒng)的結(jié)構(gòu)I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備CPU內(nèi)存系統(tǒng)總線第五章 設(shè) 備 管 理 通道型I/O系統(tǒng)結(jié)構(gòu)I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備CPU內(nèi)存系統(tǒng)總線CPUI/O通道I/O通道
4、I/O通道第五章 設(shè) 備 管 理 具有控制器的I/O系統(tǒng)結(jié)構(gòu) 傳統(tǒng)的設(shè)備 = 機械部分 + 電子部分 電子部分在系統(tǒng)的控制下驅(qū)動機械部分運轉(zhuǎn),完成I/O操作 由于設(shè)備中電子部分比機械部分的速度快得多,為了降低硬件成本,將電子部分從設(shè)備中分離出來作為一個獨立的部件,這就是控制器。 分離之后的設(shè)備僅由機械部分構(gòu)成,一個控制器可與多個設(shè)備相連,交替地或分時地控制與其相連的設(shè)備。例如,磁盤控制器可以控制多個磁盤驅(qū)動器。第五章 設(shè) 備 管 理 具有控制器的I/O系統(tǒng)結(jié)構(gòu)I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備CPU內(nèi)存系統(tǒng)總線CPUI/O通道I/O通道控制器控制器控制器控制器第五章 設(shè) 備 管
5、 理 設(shè)備的控制設(shè)備的尋址與操作 從處理機的角度看,各種外部設(shè)備可以看作是由一組設(shè)備寄存器組成的。 常見的設(shè)備寄存器有:操作方式寄存器、命令寄存器、數(shù)據(jù)寄存器、狀態(tài)寄存器等。 為了使CPU能夠?qū)ぶ愤@些設(shè)備寄存器,硬件平臺引入了I/O端口地址的概念。第五章 設(shè) 備 管 理 設(shè)備的控制設(shè)備的尋址與操作 I/O端口地址的編址方式有兩種: 將設(shè)備寄存器與內(nèi)存物理單元統(tǒng)一編址; 獨立于內(nèi)存物理地址為設(shè)備寄存器編址。 無論一個設(shè)備是否由多個控制器控制,或者一個控制器控制了多少個設(shè)備,每一個設(shè)備都能通過這些寄存器的地址唯一確定。第五章 設(shè) 備 管 理 設(shè)備的控制即插即用 隨著外部設(shè)備種類增加,設(shè)備間極可能發(fā)
6、生沖突。即,設(shè)備使用的中斷號、DMA、內(nèi)存地址、端口地址可能因相同或重疊而導(dǎo)致設(shè)備無法正常工作。 手工調(diào)整這些設(shè)備的相關(guān)參數(shù)要求用戶具有較多的計算機硬件知識,并對系統(tǒng)配置的硬件有較全面的了解。第五章 設(shè) 備 管 理 設(shè)備的控制即插即用 是指,插上了就可使用,不需要用戶進行其它設(shè)置。 當(dāng)用戶插入一個“即插即用”適配卡或設(shè)備時, “即插即用”功能就可以自動進行檢測,配置相應(yīng)的接口參數(shù),并安裝相應(yīng)的驅(qū)動程序。第五章 設(shè) 備 管 理 設(shè)備的控制即插即用 對已安裝硬件的自動和動態(tài)識別 包括系統(tǒng)初始安裝時、兩次系統(tǒng)啟動之間以及運行時發(fā)生的硬件事件(如設(shè)備的插入/拔出)的響應(yīng); 配合操作系統(tǒng)分配/再分配硬件
7、資源 加載相應(yīng)的驅(qū)動程序。 當(dāng)系統(tǒng)中加入新設(shè)備時,如果操作系統(tǒng)中沒有集成相應(yīng)的設(shè)備驅(qū)動程序,則會要求用戶指定驅(qū)動程序的位置并完成驅(qū)動程序的安裝。第五章 設(shè) 備 管 理 設(shè)備驅(qū)動程序 設(shè)備驅(qū)動程序一般由設(shè)備制造商提供,不包含在OS中。 但是,為了方便用戶,OS軟件包中通常會集成提供標準的、通用的或者流行的、常用設(shè)備廠商的設(shè)備驅(qū)動程序供用戶選擇。 從系統(tǒng)分層的觀點來講,設(shè)備驅(qū)動程序可以是OS的一部分,也可以被認為是硬件設(shè)備的一部分。第五章 設(shè) 備 管 理 5.2 I/O控制方式控制方式 程序I/O方式 在早期的計算機系統(tǒng)中,由于沒有中斷裝置,處理機對于I/O設(shè)備的控制采取程序I/O方式。 也稱忙等
8、待狀態(tài)或循環(huán)測試方式。 對于讀操作,這種方式的基本工作過程為:第五章 設(shè) 備 管 理 1 處理機向設(shè)備(或設(shè)備控制器)發(fā)出一條I/O指令啟動設(shè)備、輸入數(shù)據(jù),同時將狀態(tài)寄存器中的“忙”標志置為1。2 處理機不斷地循環(huán)測試忙標志,直到忙標志變?yōu)?;3 處理機通過I/O讀指令將數(shù)據(jù)從數(shù)據(jù)寄存器中取出,送入內(nèi)存中指定單元;4 若數(shù)據(jù)已讀完,則結(jié)束本過程,否則轉(zhuǎn)1,繼續(xù)讀下一個數(shù)據(jù)。第五章 設(shè) 備 管 理 在程序I/O方式中,由于處理機的速度非??欤O(shè)備的速度相對較慢,使得處理機的絕大部分時間都處于等待設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中,造成對CPU的極大浪費。第五章 設(shè) 備 管 理 中斷I/O方式 對于
9、讀操作,中斷方式的基本過程為: 處理機向設(shè)備(設(shè)備控制器)發(fā)出一條I/O指令,啟動設(shè)備,輸入數(shù)據(jù); 處理機完成其它工作,設(shè)備準備數(shù)據(jù); 當(dāng)設(shè)備準備好數(shù)據(jù)并將數(shù)據(jù)存入數(shù)據(jù)寄存器,向處理機發(fā)中斷信號,告之?dāng)?shù)據(jù)已準備好; 處理機響應(yīng)中斷請求,從數(shù)據(jù)寄存器中將數(shù)據(jù)取出,送入內(nèi)存的指定單元; 若數(shù)據(jù)已讀完,結(jié)束。否則,轉(zhuǎn)1,繼續(xù)。 中斷技術(shù)控制I/O的優(yōu)點在于,設(shè)備與CPU并行,提高了處理機的利用率。性能優(yōu)于程序控制I/O方式。第五章 設(shè) 備 管 理 DMA方式 中斷I/O比程序I/O方式高效,但以字/字節(jié)為傳輸單位。每完成一個字/字節(jié)的傳輸,設(shè)備均要向CPU請求一次中斷。 對于塊設(shè)備而言,這種方式的效
10、率還是顯得有些低下。因為,頻繁的、大量的中斷所累積的開銷很大。 為了進一步減少處理機對I/O事務(wù)的干預(yù),出現(xiàn)了DMA(Direct Memory Access)直接存儲器方式。第五章 設(shè) 備 管 理 DMA方式的特點 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊; 數(shù)據(jù)直接從設(shè)備送入內(nèi)存,或者直接從內(nèi)存送入設(shè)備; 僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需要處理機的干預(yù)。 與中斷方式相比,DMA方式大大減少了數(shù)據(jù)I/O對處理機的占用,進一步提高了處理機的利用率,提高了處理機和I/O設(shè)備的并行操作能力。第五章 設(shè) 備 管 理 2. DMA控制器的組成控制器的組成 圖 5-8 DMA控制器的組成 DRMARDCC
11、RI/O控制邏輯主機控制器接口控制器與塊設(shè)備接口count內(nèi)存CPU命令系統(tǒng)總線DMA控制器第五章 設(shè) 備 管 理 為了實現(xiàn)在主機與控制器之間成塊數(shù)據(jù)的直接交換, 必須在DMA控制器中設(shè)置如下四類寄存器: (1) 命令/狀態(tài)寄存器CR。用于接收從CPU發(fā)來的I/O命令或有關(guān)控制信息, 或設(shè)備的狀態(tài)。 (2) 內(nèi)存地址寄存器MAR。在輸入時,它存放把數(shù)據(jù)從設(shè)備傳送到內(nèi)存的起始目標地址;在輸出時,它存放由內(nèi)存到設(shè)備的內(nèi)存源地址。 (3) 數(shù)據(jù)寄存器DR。用于暫存從設(shè)備到內(nèi)存,或從內(nèi)存到設(shè)備的數(shù)據(jù)。 (4) 數(shù)據(jù)計數(shù)器DC。 存放本次CPU要讀或?qū)懙淖?節(jié))數(shù)。 第五章 設(shè) 備 管 理 3. DMA
12、工作過程工作過程 圖 5-9 DMA方式的工作流程 設(shè)置AR和DC初值啟動DMA傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增1字計數(shù)寄存器減1DC= 0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時,準備又一次傳送否是第五章 設(shè) 備 管 理 向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀入字向存儲器中寫字傳送完成?未就緒就緒出錯CPUI/OI/OCPUI/OCPUCPU 內(nèi)存下條指令完成未完向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀字向內(nèi)存中寫字傳送完成?就緒出錯CPUI/OI/OCPUI/OCPUCPU 內(nèi)存下條指令完成未完中斷CPU做其它事向I/O控
13、制器發(fā)布讀塊命令CPUDMACPU做其它事讀DMA控制器的狀態(tài)中斷DMACPU下條指令(a) 程序I/O方式(b) 中斷驅(qū)動方式(c) DMA方式第五章 設(shè) 備 管 理 I/O通道方式 通道相當(dāng)于一個功能單純的處理機,專門用于處理I/O操作。通道有自己的運算控制部件和指令系統(tǒng),但沒有專門的內(nèi)存。而是通過“周期竊用”方式與主機共享內(nèi)存。 通道通過執(zhí)行通道程序來完成I/O操作。 通道程序是通道指令的有序序列,它由系統(tǒng)中的輸入/輸出進程根據(jù)用戶進程的I/O要求來確定,可以是事先編制好的程序段,也可以動態(tài)產(chǎn)生。通道程序以及需要與設(shè)備交換的數(shù)據(jù)均放置在內(nèi)存中。第五章 設(shè) 備 管 理 2. 通道類型通道類
14、型 1) 字節(jié)多路通道(Byte Multiplexor Channel) 圖 5-3 字節(jié)多路通道的工作原理 控制器A控制器B控制器C控制器D控制器NA1A2A3子通道AB1B2B3子通道BC1C2C3子通道CN1N2N3子通道NA1B1C1A2B2C2設(shè)備第五章 設(shè) 備 管 理 2) 數(shù)組選擇通道(Block Selector Channel) 字節(jié)多路通道不適于連接高速設(shè)備,這推動了按數(shù)組方式進行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺高速設(shè)備,但由于它只含有一個分配型子通道,在一段時間內(nèi)只能執(zhí)行一道通道程序, 控制一臺設(shè)備進行數(shù)據(jù)傳送, 致使當(dāng)某臺設(shè)備占用了該通道后,便一
15、直由它獨占, 即使是它無數(shù)據(jù)傳送,通道被閑置, 也不允許其它設(shè)備使用該通道, 直至該設(shè)備傳送完畢釋放該通道??梢?,這種通道的利用率很低。 第五章 設(shè) 備 管 理 3) 數(shù)組多路通道(Block Multiplexor Channel) 數(shù)組選擇通道雖有很高的傳輸速率,但它卻每次只允許一個設(shè)備傳輸數(shù)據(jù)。數(shù)組多路通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道(設(shè)備)分時并行操作的優(yōu)點相結(jié)合而形成的一種新通道。它含有多個非分配型子通道, 因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進
16、行的。 第五章 設(shè) 備 管 理 I/O通道方式 一條通道指令可以傳送一組數(shù)據(jù),一個通道程序可以傳送多組數(shù)據(jù)。多組數(shù)據(jù)全部傳送完畢后(即一個通道程序執(zhí)行完畢),才向處理機發(fā)出一次中斷。 通道不僅可以傳送數(shù)據(jù),更重要的是它還完成對設(shè)備的控制。在通道的協(xié)助下,主機只需發(fā)出一個啟動通道、執(zhí)行通道程序的指令即可。主機僅與通道直接通信,不必考慮設(shè)備的具體控制以及如何完成數(shù)據(jù)傳送等問題,從而大大減輕了主機的負擔(dān)。第五章 設(shè) 備 管 理 第五章 設(shè) 備 管 理 3. “瓶頸瓶頸”問題問題 圖 5-4 單通路I/O系統(tǒng) 設(shè)備1設(shè)備2設(shè)備3設(shè)備4設(shè)備5設(shè)備6設(shè)備7控制器1控制器2控制器3控制器4通道1通道2存儲器
17、第五章 設(shè) 備 管 理 圖 5-5 多通路I/O系統(tǒng) I/O設(shè)備控制器1控制器2通道1通道2存儲器I/O設(shè)備I/O設(shè)備I/O設(shè)備第五章 設(shè) 備 管 理 5.3 緩緩 沖沖 管管 理理 5.3.1 緩沖的引入緩沖的引入 (1) 緩和CPU與I/O設(shè)備間速度不匹配的矛盾。 (2) 減少對CPU的中斷頻率, 放寬對CPU中斷響應(yīng)時間的限制。 (3) 提高CPU和I/O設(shè)備之間的并行性。 第五章 設(shè) 備 管 理 提前讀 指用戶進程從I/O緩沖區(qū)中取走前一個數(shù)據(jù)以后,立即發(fā)出對下一個數(shù)據(jù)的輸入請求。 操作系統(tǒng)將在適當(dāng)?shù)臅r候響應(yīng)該請求以便把用戶進程需要的下一個數(shù)據(jù)從用戶進程指定的輸入設(shè)備讀入到I/O緩沖區(qū)
18、中。 顯然,用戶進程加工前一個數(shù)據(jù)的工作與操作系統(tǒng)輸入下一個數(shù)據(jù)的工作可以同時進行。第五章 設(shè) 備 管 理 延后寫 是指,當(dāng)用戶進程請求輸出數(shù)據(jù)時,操作系統(tǒng)將很快把用戶進程請求輸出的數(shù)據(jù)從用戶進程的工作區(qū)中取走并將其暫時存放在I/O緩沖區(qū)中。 直到用戶進程指定的輸出設(shè)備空閑時,操作系統(tǒng)才把暫時存放在I/O緩沖區(qū)中的用戶進程的輸出數(shù)據(jù)寫入用戶進程指定的輸出設(shè)備上。 顯然,用戶進程生成下一個輸出數(shù)據(jù)的工作與操作系統(tǒng)輸出前一個輸出數(shù)據(jù)的工作可以同時進行。第五章 設(shè) 備 管 理 硬件緩沖和軟件緩沖 硬件緩沖區(qū)配置在設(shè)備中,具有專門的用途。對處理機透明,不需要處理機的直接管理,不會影響系統(tǒng)性能。 軟件實
19、現(xiàn)的緩沖區(qū)是內(nèi)存空間的一部分。其目的是為了彌補硬件緩沖區(qū)的不足。因為并非所有外設(shè)都擁有,或者足夠擁有硬件緩沖區(qū)。 操作系統(tǒng)中介紹的緩沖區(qū)都是指軟件緩沖區(qū)。第五章 設(shè) 備 管 理 緩沖區(qū)的組織形式 單緩沖 雙緩沖 循環(huán)緩沖 緩沖池第五章 設(shè) 備 管 理 假定,一塊數(shù)據(jù)從外部設(shè)備輸入到內(nèi)存所花費的時間為T,在內(nèi)存中移動所花費的時間為M,被用戶進程加工處理所花費的時間為C,那么 在沒有使用I/O緩沖區(qū)的情況下,平均每塊數(shù)據(jù)的處理時間近似為:T+C 在使用單緩沖區(qū)的情況下,平均每塊數(shù)據(jù)的處理時間近似為:max(T,C)+M1. 單緩沖單緩沖(Single Buffer)只在內(nèi)存中為進程對某個設(shè)備只在內(nèi)
20、存中為進程對某個設(shè)備的的I/O訪問分配一個緩沖區(qū)訪問分配一個緩沖區(qū) 。第五章 設(shè) 備 管 理 工作區(qū)處理(C)緩沖區(qū)傳送(M)輸入(T)I/O設(shè)備(a)T1M1C1T2M2C2T3M3C3T4t(b)用戶進程圖 5-11 單緩沖工作示意圖 第五章 設(shè) 備 管 理 相對于沒有I/O緩沖區(qū)的情形,單I/O緩沖區(qū)能提高用戶進程的運行效率。 如果用戶進程在對有關(guān)數(shù)據(jù)進行加工處理時不釋放I/O緩沖區(qū),那么用戶進程的性能并不能得到改善。 如果T遠遠大于C,即外部設(shè)備的I/O速度比用戶進程的計算速度慢得多,那么,單I/O緩沖區(qū)不會顯著改善用戶進程的性能。第五章 設(shè) 備 管 理 2. 雙緩沖雙緩沖(Doubl
21、e Buffer) 增加一個緩沖區(qū),兩個緩沖區(qū)可以交替使用。 當(dāng)數(shù)據(jù)從緩沖區(qū)復(fù)制到用戶進程空間時,輸入設(shè)備不必等待,可立即開始向另一個緩沖區(qū)輸入數(shù)據(jù)。因此,增加了一個緩沖區(qū)后,前述的平均工作時間可近似為: max(T,C) 若用戶進程陣發(fā)性I/O的數(shù)據(jù)超過一個緩沖區(qū)而不滿兩個緩沖區(qū)時,雙緩沖使進程不會在I/O數(shù)據(jù)期間被阻塞。第五章 設(shè) 備 管 理 工作區(qū)用戶進程緩沖區(qū)1緩沖區(qū)2I/O 設(shè)備T1(緩沖1)M1C1M2C2M3C3T2(緩沖2)T3(緩沖3)M4C4T4(緩沖4)(a)(b)圖 5-12 雙緩沖工作示意圖 第五章 設(shè) 備 管 理 圖 5-13 雙機通信時緩沖區(qū)的設(shè)置 緩沖區(qū)緩沖區(qū)A
22、機B機(a) 單緩沖發(fā)送緩沖區(qū)接收緩沖區(qū)接收緩沖區(qū)發(fā)送緩沖區(qū)A機B機(b) 雙緩沖第五章 設(shè) 備 管 理 循環(huán)緩沖 當(dāng)用戶進程處理數(shù)據(jù)的速度較快、外部設(shè)備處理數(shù)據(jù)的速度較慢,或者用戶進程陣發(fā)性輸入/輸出的數(shù)據(jù)較多時,必須考慮增加緩沖區(qū)的數(shù)量以改善系統(tǒng)性能,這就是多緩沖區(qū)方式。 多個I/O緩沖區(qū)常常被組織成一個環(huán)形隊列,故,稱為循環(huán)緩沖。 實質(zhì)上,雙緩沖可以看作是循環(huán)緩沖的一個特例。第五章 設(shè) 備 管 理 圖 5-14 循環(huán)緩沖 RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent第五章 設(shè) 備 管 理 2. 循環(huán)緩沖區(qū)的使用循環(huán)緩沖區(qū)的使用 (
23、1) Getbuf過程。(2) Releasebuf過程。 第五章 設(shè) 備 管 理 GetBuf() 指針Nextg所指向的緩沖區(qū)給進程使用 將其改為現(xiàn)行工作緩沖區(qū),并將current指針指向它,同時nextg指向下一個滿緩沖區(qū)。 每當(dāng)輸入進程要輸入數(shù)據(jù)的時候也調(diào)用getbuf()過程,將nexti指針指向的緩沖區(qū)供該進程使用,nexti指向下一個空緩沖區(qū)。第五章 設(shè) 備 管 理 ReleaseBuf() 當(dāng)計算進程使用完C緩沖區(qū)中的數(shù)據(jù)時,調(diào)用releasebuf過程,釋放C緩沖區(qū),并將C緩沖區(qū)改為R緩沖區(qū) 當(dāng)輸入進程將數(shù)據(jù)裝入緩沖區(qū)時,也調(diào)用releasebuf過程,將該緩沖區(qū)釋放,并將R
24、為G 緩沖區(qū)。第五章 設(shè) 備 管 理 3. 進程同步進程同步 (1) Nexti指針追趕上Nextg指針。(2) Nextg指針追趕上Nexti指針。 第五章 設(shè) 備 管 理 5.3.4 緩沖池緩沖池(Buffer Pool) 上述三種緩沖區(qū)的組織形式僅適用于某種特定的I/O進程和計算進程,屬于專用緩沖。 當(dāng)系統(tǒng)中的設(shè)備很多時,將會有許多這樣的循環(huán)緩沖區(qū),消耗大量的內(nèi)存空間,而且其利用率也不高。 為了提高緩沖區(qū)的利用率,可以采用公共緩沖池技術(shù),其中的緩沖區(qū)可以為多個設(shè)備和進程服務(wù)。第五章 設(shè) 備 管 理 1. 緩沖池的組成緩沖池的組成 對于既可用于輸入又可用于輸出的公用緩沖池, 其中至少應(yīng)含有
25、以下三種類型的緩沖區(qū): 空(閑)緩沖區(qū); 裝滿輸入數(shù)據(jù)的緩沖區(qū); 裝滿輸出數(shù)據(jù)的緩沖區(qū)。 為了管理上的方便,可將相同類型的緩沖區(qū)鏈成一個隊列,于是可形成以下三個隊列: (1) 空緩沖隊列emq。 (2) 輸入隊列inq。 (3) 輸出隊列outq。 第五章 設(shè) 備 管 理 2. Getbuf過程和過程和Putbuf過程過程 Procedure Getbuf(type) begin Wait(RS(type); Wait(MS(type); B(number) KG-*3=Takebuf(type); Signal(MS(type); end Procedure Putbuf(type, num
26、ber) begin Wait(MS(type); Addbuf(type, number); Signal(MS(type); Signal(RS(type); end 第五章 設(shè) 備 管 理 3. 緩沖區(qū)的工作方式緩沖區(qū)的工作方式 圖 5-15 緩沖區(qū)的工作方式 hinsoutsinhout收容輸入提取輸出用戶程序提取輸入收容輸出緩沖池第五章 設(shè) 備 管 理 5.4 I/O軟件 5.4.1 I/O軟件的設(shè)計目標和原則 與具體設(shè)備無關(guān) 統(tǒng)一命名 對錯誤的處理 緩沖技術(shù) 設(shè)備的分配和釋放 I/O控制方式第五章 設(shè) 備 管 理 I/O軟件的層次結(jié)構(gòu) 用戶層軟件:實現(xiàn)與用戶交互的接口。 設(shè)備獨立性
27、軟件:負責(zé)設(shè)備的保護、分配與釋放等。 設(shè)備驅(qū)動程序:與硬件直接相關(guān),負責(zé)向設(shè)備發(fā)出操作指令,驅(qū)動設(shè)備工作。 中斷處理程序:保存CPU環(huán)境,轉(zhuǎn)入相應(yīng)的中斷處理程序,處理完后返回中斷現(xiàn)場。第五章 設(shè) 備 管 理 5.4.2 中斷處理程序 中斷的基本概念 指計算機在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理的事件,使得CPU暫時中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后再返回原來的程序繼續(xù)執(zhí)行或調(diào)度新的進程執(zhí)行。 中斷源:引起中斷發(fā)生的事件 中斷請求:中斷源向CPU發(fā)出的請求中斷處理信號 中斷響應(yīng):CPU收到中斷請求后轉(zhuǎn)相應(yīng)的事件處理程序 開中斷和關(guān)中斷:由CPU內(nèi)部的
28、處理機狀態(tài)字PSW的中斷允許位控制,為了保證程序執(zhí)行的原子性。第五章 設(shè) 備 管 理 中斷技術(shù) 中斷的分類與優(yōu)先級 外中斷:來自CPU和內(nèi)存外部的中斷,包括I/O中斷、外部信號中斷(ESC鍵)、定時器引起地時鐘中斷和程序斷點引起的中斷。 內(nèi)中斷:指CPU和內(nèi)存內(nèi)部產(chǎn)生的中斷(也稱為陷阱),如程序運算引起的各種錯誤,包括地址非法、校驗錯、頁面失效、算術(shù)溢出等等。 優(yōu)先級:為不同的中斷源設(shè)置固定的優(yōu)先級。 軟中斷:通信進程之間用來模擬硬中斷的一種信號通信方式,收到軟中斷信號的進程只有占有CPU才能執(zhí)行相應(yīng)的功能。第五章 設(shè) 備 管 理 圖 5-20 中斷現(xiàn)場保護示意圖 PSW程序狀態(tài)字PC(N1)
29、程序計數(shù)器R0Rn寄存器開始返回用戶程序中斷服務(wù)子例程PSWPC(N1)中斷棧TTM線指針YNN1R0Rn第五章 設(shè) 備 管 理 中斷處理過程第五章 設(shè) 備 管 理 5.4.3 設(shè)備驅(qū)動程序 設(shè)備驅(qū)動程序,又稱為設(shè)備處理程序,它是I/O進程與設(shè)備控制器之間的通信程序。 接收來自上層軟件發(fā)來的抽象I/O請求,將其轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備執(zhí)行;另一方面,將由設(shè)備控制器發(fā)來的信號傳送給上層軟件。第五章 設(shè) 備 管 理 5.4.4 設(shè)備獨立性設(shè)備獨立性 設(shè)備無關(guān)性,指的是應(yīng)用程序獨立于具體使用的物理設(shè)備。 為了實現(xiàn)設(shè)備的獨立性(無關(guān)性),操作系統(tǒng)要求進程申請設(shè)備時,應(yīng)當(dāng)指明所需設(shè)備
30、的類別(或者邏輯設(shè)備名),不能指定某一設(shè)備的具體編號。 系統(tǒng)根據(jù)進程的請求以及資源分配情況在相應(yīng)類別的設(shè)備中選擇一個空閑的物理設(shè)備,并將其分配給申請者。第五章 設(shè) 備 管 理 優(yōu)點 提高設(shè)備的利用率。從根本上講,申請者只關(guān)心使用設(shè)備的結(jié)果,不在乎到底使用哪一個設(shè)備。假設(shè)申請者指定具體設(shè)備,被指定的設(shè)備可能正在被使用,因而申請無法滿足。而此時,其它同類設(shè)備可能空閑。這將造成資源的浪費和進程的不必要等待。 程序與設(shè)備無關(guān)。假設(shè)申請者指定具體設(shè)備,而被指定的設(shè)備已損壞或未聯(lián)機,則要么程序無法正常工作,要么修改程序。第五章 設(shè) 備 管 理 5.5 設(shè)備分配 分配:設(shè)備、控制器、通道 需要記錄與之相關(guān)的
31、信息。包括:資源標識、物理連接情況、占有進程、等待進程等。 具體實現(xiàn)時,可以將其分為設(shè)備控制表、控制器控制表、通道控制表和系統(tǒng)設(shè)備表。第五章 設(shè) 備 管 理 5.5.1 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) 1. 設(shè)備控制表設(shè)備控制表DCT 圖 5-16 設(shè)備控制表 第五章 設(shè) 備 管 理 2. 控制器控制表、控制器控制表、 通道控制表和系統(tǒng)設(shè)備表通道控制表和系統(tǒng)設(shè)備表 (c) 系統(tǒng)設(shè)備表SDT控制器標識符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊列的隊首指針控制器隊列的隊尾指針通道標識符:channelid通道狀態(tài):忙/閑與通道連接的控制器表首址通道隊列
32、的隊首指針通道隊列的隊尾指針(a) 控制器表COCT(b) 通道表CHCT表目1表目i設(shè)備類設(shè)備標識符DCT驅(qū)動程序入口第五章 設(shè) 備 管 理 5.5.2 設(shè)備分配時應(yīng)考慮的因素 1. 設(shè)備的固有屬性設(shè)備的固有屬性 (1) 獨享設(shè)備。指該類設(shè)備被分配給一個作業(yè)后,被這個作業(yè)所獨占使用,其他的任何作業(yè)不能使用,直到該作業(yè)釋放該設(shè)備位置。如:打印機。 獨享設(shè)備,系統(tǒng)一般采用靜態(tài)分配方式。即在一個作業(yè)執(zhí)行之前,將它所需要使用的這類設(shè)備分配給它,當(dāng)作業(yè)結(jié)束撤離時,才將分配給它的獨享設(shè)備收回。 (2) 共享設(shè)備。一段時間內(nèi)可以為多個進程共同使用的設(shè)備。對共享設(shè)備的分配一般采用動態(tài)分配這一方式。 (3)
33、虛擬設(shè)備。 第五章 設(shè) 備 管 理 2. 設(shè)備分配算法設(shè)備分配算法 (1) 先來先服務(wù)。 (2) 優(yōu)先級高者優(yōu)先。 3. 設(shè)備分配中的安全性設(shè)備分配中的安全性 1) 安全分配方式 2) 不安全分配方式 第五章 設(shè) 備 管 理 1. 基本的設(shè)備分配程序基本的設(shè)備分配程序 1) 分配設(shè)備 2) 分配控制器 3) 分配通道 5.5.3 獨占設(shè)備的分配程序2. 設(shè)備分配程序的改進設(shè)備分配程序的改進 1) 增加設(shè)備的獨立性 2) 考慮多通路情況 第五章 設(shè) 備 管 理 5.5.4 共享設(shè)備的分配 進程使用共享型設(shè)備不需要申請,當(dāng)然也就不存在占用或釋放設(shè)備的問題。 但是I/O期間只能有一個進程使用設(shè)備。因
34、此,進程使用共享設(shè)備之前,有一個隱含的申請命令;使用完畢之后,又一個隱含的釋放命令,以實現(xiàn)一次I/O傳輸?shù)呐潘?,保證操作的正常進行。 使用共享型設(shè)備的過程中,進程有可能進入阻塞等待狀態(tài)。第五章 設(shè) 備 管 理 虛擬設(shè)備的引入 獨占型設(shè)備的速度一般較慢,進程常需要長時間等待I/O傳輸完成,影響進程的推進速度; 進程在占有設(shè)備期間不一定一直使用此設(shè)備,而其他申請該設(shè)備的進程只能阻塞等待,降低了設(shè)備的利用率,影響其他進程的推進速度。 引入虛擬設(shè)備技術(shù),能解決獨占設(shè)備利用率不高的問題。第五章 設(shè) 備 管 理 5.5.5 虛擬設(shè)備的分配 虛擬設(shè)備技術(shù)類似于緩沖區(qū)技術(shù),可以認為是為設(shè)備提供了多個更大的、
35、無限長度的緩沖區(qū),進一步提高系統(tǒng)的效率。 虛擬設(shè)備技術(shù)的實現(xiàn):在獨占型設(shè)備與進程之間加入一個共享型設(shè)備作為過渡,如圖:進程內(nèi)存某一區(qū)域共享型設(shè)備獨占型設(shè)備間斷傳輸連續(xù)傳輸?shù)谖逭?設(shè) 備 管 理 輸入型虛擬設(shè)備的實現(xiàn) 對于輸入型虛擬設(shè)備,數(shù)據(jù)的流向: 獨占型設(shè)備 共享型設(shè)備 進程空間/內(nèi)存 假設(shè)用于輸入的獨占型設(shè)備是讀卡機,用于實現(xiàn)虛擬設(shè)備的共享型設(shè)備是磁盤,則對于進程所發(fā)出的資源申請命令、使用命令及時放命令,操作系統(tǒng)需要完成的工作如下:第五章 設(shè) 備 管 理 申請 分配一臺虛擬設(shè)備(磁盤區(qū)域),分配一臺實設(shè)備(一臺讀卡機),將信息由實設(shè)備(讀卡機)連續(xù)地傳輸?shù)教摂M設(shè)備(磁盤區(qū)域),釋放實設(shè)備(
36、讀卡機); 使用 將數(shù)據(jù)從虛擬設(shè)備(磁盤區(qū)域)傳輸?shù)竭M程空間; 釋放 回收虛擬設(shè)備(磁盤區(qū)域)。第五章 設(shè) 備 管 理 輸出型虛擬設(shè)備的實現(xiàn) 對于輸出型虛擬設(shè)備,數(shù)據(jù)的流向: 進程空間/內(nèi)存 共享型設(shè)備 獨占型設(shè)備 假設(shè)用于輸出的獨占型設(shè)備是打印機,用于實現(xiàn)虛擬設(shè)備的共享型設(shè)備是磁盤,則對于進程所發(fā)出的資源申請命令、使用命令及時放命令,操作系統(tǒng)需要完成的工作如下:第五章 設(shè) 備 管 理 申請 分配一臺虛擬設(shè)備(磁盤區(qū)域) 使用 將數(shù)據(jù)從進程空間傳輸?shù)教摂M設(shè)備(磁盤區(qū)域) 釋放 申請一臺實設(shè)備(打印機),將數(shù)據(jù)由虛擬設(shè)備(磁盤區(qū)域)輸出到實設(shè)備(打印機),回收實設(shè)備(打印機)第五章 設(shè) 備 管
37、理 5.5.6 SPOOLing系統(tǒng) SPOOLing:Simultaneous Peripheral Operations On-Line,即“聯(lián)機情況下同時進行的外圍設(shè)備操作”,通常稱其為“假脫機操作”。 SPOOLing系統(tǒng)是虛擬設(shè)備最典型的代表,包括假脫機輸入和輸出系統(tǒng)兩個部分。 核心思想:在快速輔助存儲設(shè)備中建立I/O緩沖區(qū),用于緩存從慢速輸入設(shè)備流入內(nèi)存的數(shù)據(jù),或緩存從內(nèi)存流向慢速輸出設(shè)備的數(shù)據(jù)。第五章 設(shè) 備 管 理 2. SPOOLing系統(tǒng)的組成系統(tǒng)的組成 圖 5-19 SPOOLing系統(tǒng)的組成 輸入進程SPi輸入進程SPo輸入緩沖區(qū)Bi輸出緩沖區(qū)Bo輸入井輸出井磁盤輸入設(shè)
38、備輸出設(shè)備第五章 設(shè) 備 管 理 3. 共享打印機共享打印機 當(dāng)用戶進程請求打印輸出時, SPOOLing系統(tǒng)同意為它打印輸出, 但并不真正立即把打印機分配給該用戶進程, 而只為它做兩件事: 由輸出進程在輸出井中為之申請一個空閑磁盤塊區(qū), 并將要打印的數(shù)據(jù)送入其中; 輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中, 再將該表掛到請求打印隊列上。第五章 設(shè) 備 管 理 4. SPOOLing系統(tǒng)的特點系統(tǒng)的特點 (1) 提高了I/O的速度。 (2) 將獨占設(shè)備改造為共享設(shè)備。 (3) 實現(xiàn)了虛擬設(shè)備功能。 第五章 設(shè) 備 管 理 5.6 磁盤存儲器管理磁盤存儲器管理
39、5.6.1 磁盤性能簡述磁盤性能簡述 1. 數(shù)據(jù)的組織和格式數(shù)據(jù)的組織和格式 磁盤設(shè)備可包括一個或多個物理盤片;每個盤片分一個或兩個存儲面;每個磁盤面被組織成若干個同心環(huán),稱為磁道(track);每條磁道又被邏輯上劃分成若干個扇區(qū);一個扇區(qū)稱為一個盤塊;第五章 設(shè) 備 管 理 磁盤的基本存儲單元(扇區(qū))的尋址方式為三維地址:磁盤面號、磁道號、扇區(qū)號。 為了管理方便及屏蔽存儲設(shè)備的物理細節(jié),操作系統(tǒng)向上層軟件提供統(tǒng)一的借口,常使用一維地址,即只有邏輯磁盤塊號(邏輯扇區(qū)號),將磁盤組中所有的扇區(qū)從0開始編號; 這里就涉及一維地址與三維地址間相互轉(zhuǎn)化的問題。第五章 設(shè) 備 管 理 Gap102031
40、292293Field GapField GapGap FieldGap FieldGap17741515201774151520IDDataIDDataGap1292293Field GapField1774151520IDDataSectorPhysical Sector 0Physical Sector 1Physical Sector 29BytesSynchByteTrack#Head#Sector#Bytes 1211CRC3SynchByteDataCRC15122600 Bytes/SectorGap第五章 設(shè) 備 管 理 磁盤的磁頭工作方式 磁盤:固定頭磁盤和移動頭磁盤。 固
41、定頭磁盤的每一條磁道上都有一個讀/寫磁頭,所有的磁頭都被安裝在一剛性磁臂中,通過磁頭訪問磁道,可以并行讀/寫,磁盤的I/O速度很快。 固定頭磁盤的優(yōu)點是訪問速度快,其缺點是成本較高、容量受磁頭數(shù)量限制。第五章 設(shè) 備 管 理 磁盤的磁頭工作方式 移動頭磁盤為每一個盤面配置一個磁頭,所有盤面的磁頭被裝入磁臂中,磁盤I/O時,必須移動磁頭(尋道)。 因此,移動頭磁盤只能進行串行讀/寫,I/O速度相對較慢,但由于其具有結(jié)構(gòu)簡單、成本較低、容量不受磁頭數(shù)量限制等優(yōu)點,因而被廣泛使用。第五章 設(shè) 備 管 理 影響磁盤I/O性能的技術(shù) 從磁盤讀數(shù)據(jù)的過程: 磁盤接收到讀指令后,磁頭從當(dāng)前位置移到目標磁道位
42、置,所需時間稱為尋道時間; 然后,旋轉(zhuǎn)磁盤,定位數(shù)據(jù)所在的扇區(qū),所需時間稱為旋轉(zhuǎn)延遲; 最后,從磁盤上讀取數(shù)據(jù),所需的時間稱為數(shù)據(jù)傳輸時間。 訪問時間 = 尋道時間 + 旋轉(zhuǎn)延遲 + 傳輸時間第五章 設(shè) 備 管 理 尋道時間 尋道時間 :把磁頭從當(dāng)前位置移動到指定磁道所需要的時間。是影響磁盤數(shù)據(jù)傳輸率的重要參數(shù),與磁頭移過的磁道數(shù)量成正比。 衡量磁盤的尋道性能時,通常使用平均尋道時間。sT第五章 設(shè) 備 管 理 旋轉(zhuǎn)延遲 旋轉(zhuǎn)延遲與磁盤轉(zhuǎn)速直接相關(guān),指旋轉(zhuǎn)磁盤,將指定扇區(qū)移動到磁頭下面所需要的時間。 假設(shè):Tr為旋轉(zhuǎn)時間,r為磁盤轉(zhuǎn)速(轉(zhuǎn)數(shù)/單位時間),那么 Tr=1/(2r) 例: 1、對于
43、一個轉(zhuǎn)速為3600rpm的硬盤而言,其每旋轉(zhuǎn)一周的時間為16.7ms,其平均旋轉(zhuǎn)延遲為8.3ms。 2、對于一個轉(zhuǎn)速為300rpm的軟盤而言,其每旋轉(zhuǎn)一周的時間為200ms,其平均旋轉(zhuǎn)延遲為100ms。第五章 設(shè) 備 管 理 這是指把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間。 Tt的大小與每次所讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān): rNbTt其中,r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù), 當(dāng)一次讀/寫的字節(jié)數(shù)相當(dāng)于半條磁道上的字節(jié)數(shù)時,Tt與T相同, 因此, 可將訪問時間Ta表示為: rNbrTTsa21傳輸時間第五章 設(shè) 備 管 理 調(diào)整磁盤的I/O性能 綜上所述,傳統(tǒng)上影響磁盤I/O性
44、能的主要技術(shù)指標是平均尋道時間和轉(zhuǎn)速,轉(zhuǎn)速則影響平均旋轉(zhuǎn)延遲和數(shù)據(jù)傳輸時間。 磁盤的轉(zhuǎn)速是固定不變的。 為了提高磁盤的I/O性能,只能從磁盤調(diào)度的方式和訪問數(shù)據(jù)的組織形式入手,即縮短尋道時間。第五章 設(shè) 備 管 理 磁盤調(diào)度算法 當(dāng)有多個進程都請求訪問磁盤時,他們訪問的位置(這里主要關(guān)心磁道)各不一樣,磁頭需要來回頻繁移動進行尋道操作。 磁頭的尋道操作屬于機械運動,花費的時間較長,而且過度的尋道操作會大大縮短磁盤的壽命。因此,必須采用適當(dāng)?shù)拇疟P調(diào)度算法,使得在盡可能公平的情況下,縮短平均尋道時間,并使磁頭移動距離最小。第五章 設(shè) 備 管 理 1. 先來先服務(wù)先來先服務(wù)FCFS(First-Co
45、me, First Served)按照輸入/輸出請求的先后次序為各個進程服務(wù)。 圖 5-23 FCFS調(diào)度算法第五章 設(shè) 備 管 理 磁頭在磁道之間來回頻繁移動,不但造成較大的時間開銷,影響效率,而且容易使磁臂疲勞,磁盤容易損壞。 因此,這種簡單的算法只適合于負載很輕的系統(tǒng)。第五章 設(shè) 備 管 理 2. 最短尋道時間優(yōu)先最短尋道時間優(yōu)先SSTF(Shortest Seek Time First) 優(yōu)先優(yōu)先為距離磁頭當(dāng)前所在位置最近的磁道服務(wù)。為距離磁頭當(dāng)前所在位置最近的磁道服務(wù)。圖 5-24 SSTF調(diào)度算法 第五章 設(shè) 備 管 理 3. 掃描掃描(SCAN)算法算法 (也稱為電梯算法)(也稱
46、為電梯算法)1) 進程“饑餓”現(xiàn)象 SSTF算法雖然能獲得較好的尋道性能, 但卻可能導(dǎo)致某個進程發(fā)生“饑餓”(Starvation)現(xiàn)象。因為只要不斷有新進程的請求到達, 且其所要訪問的磁道與磁頭當(dāng)前所在磁道的距離較近,這種新進程的I/O請求必須優(yōu)先滿足。對SSTF算法略加修改后所形成的SCAN算法, 即可防止老進程出現(xiàn)“饑餓”現(xiàn)象。 第五章 設(shè) 備 管 理 2) SCAN算法 假定開始時磁頭處于最外磁道,并向內(nèi)磁道方向移動。在磁頭移動過程中,如果經(jīng)過的磁道有訪問請求,則為其服務(wù),然后判斷當(dāng)前磁道以內(nèi)的磁道是否還有訪問請求,如果有,則磁頭繼續(xù)向內(nèi)磁道方向移動;否則,判斷當(dāng)前磁道以外的磁道是否有
47、訪問請求,若有,磁頭調(diào)轉(zhuǎn)方向朝外移動。若此時當(dāng)前磁道無訪問請求,則磁頭引臂停止不動。第五章 設(shè) 備 管 理 第五章 設(shè) 備 管 理 4. 循環(huán)掃描循環(huán)掃描(CSCAN)算法算法 圖 5-26 CSCAN調(diào)度算法示例第五章 設(shè) 備 管 理 掃描算法Scan比較公平,效率很高; 但是,若在某一段時間內(nèi)某一磁道的訪問請求不斷,則磁頭引臂將停留在該磁道上不動(稱為磁臂粘著),磁盤被相應(yīng)的進程壟斷,所有其它磁道上的請求將在較長時間內(nèi)得不到服務(wù)。第五章 設(shè) 備 管 理 5. N-Step-SCAN和和FSCAN調(diào)度算法調(diào)度算法 1) N-Step-SCAN算法 N步SCAN算法是將磁盤請求隊列分成若干個長
48、度為N的子隊列,磁盤調(diào)度將按FCFS算法依次處理這些子隊列。 而每處理一個隊列時又是按SCAN算法,對一個隊列處理完后,再處理其他隊列。 當(dāng)正在處理某子隊列時,如果又出現(xiàn)新的磁盤I/O請求,便將新請求進程放入其他隊列,這樣就可避免出現(xiàn)粘著現(xiàn)象。 當(dāng)N值取得很大時,會使N步掃描法的性能接近于SCAN算法的性能; 當(dāng)N=1時, N步SCAN算法便蛻化為FCFS算法。 第五章 設(shè) 備 管 理 2) FSCAN算法 FSCAN算法實質(zhì)上是N步SCAN算法的簡化, 即FSCAN只將磁盤請求隊列分成兩個子隊列。一個是由當(dāng)前所有請求磁盤I/O的進程形成的隊列,由磁盤調(diào)度按SCAN算法進行處理。在掃描期間,將
49、新出現(xiàn)的所有請求磁盤I/O的進程, 放入另一個等待處理的請求隊列。這樣,所有的新請求都將被推遲到下一次掃描時處理。 第五章 設(shè) 備 管 理 5.6.3 磁盤高速緩存(Disk Cache) 指,操作系統(tǒng)利用內(nèi)存實現(xiàn)的、專門針對磁盤I/O操作的緩沖區(qū)。 與磁盤機本身所帶的緩存以及磁盤控制器所帶的緩存相比,磁盤機和磁盤控制器上的緩存的特點: 容量較小 利用此類緩存進行數(shù)據(jù)提前讀和延后寫的工作能并行執(zhí)行。第五章 設(shè) 備 管 理 磁盤高速緩存的特點 容量較大; 常存儲全局范圍、經(jīng)常訪問的重要數(shù)據(jù)(文件系統(tǒng)的目錄、文件分配表、索引塊等); 缺點:利用該緩存進行數(shù)據(jù)提前讀和延后寫操作需要主機的管理,增加了
50、主機的負擔(dān)。第五章 設(shè) 備 管 理 磁盤高速緩存的實現(xiàn)形式 在內(nèi)存中單獨開辟一個大小固定的存儲空間作為磁盤高速緩存區(qū)。有的操作系統(tǒng)允許用戶指定或調(diào)整此空間的大?。?二是把系統(tǒng)中所有未使用的內(nèi)存空間變?yōu)橐粋€緩沖池,供請求分頁系統(tǒng)和磁盤高速緩存共享,其大小不固定,當(dāng)磁盤I/O操作頻繁時,磁盤高速緩存區(qū)可能較大。第五章 設(shè) 備 管 理 優(yōu)化數(shù)據(jù)的物理存儲結(jié)構(gòu) 磁盤I/O常針對整個文件進行,如果一個文件被分散存儲到多個盤面上,則讀/寫這樣的文件時,需要進行多次尋道操作和旋轉(zhuǎn)延遲。 為什么把文件分散存儲? 在系統(tǒng)建立的初期,文件是連續(xù)存儲的。但隨著系統(tǒng)使用時間的積累,文件會不斷被用戶刪除或新建。為了充分
51、利用存儲空間,新建文件常分散存儲。第五章 設(shè) 備 管 理 磁盤高速緩存的效率,取決于其命中率。 使用緩存需要基于兩個要素:一是訪問頻率,二是基于局部性原理的提前讀技術(shù)。 提前讀技術(shù)是使用緩存的關(guān)鍵,當(dāng)讀入進程申請的數(shù)據(jù)時,將其空間局部存儲的數(shù)據(jù)一起提前讀,以便節(jié)約時間。 如果一個文件在物理上存儲分散,盡管不影響系統(tǒng)的正確性,但卻使提前讀操作失效,反而降低系統(tǒng)效率。第五章 設(shè) 備 管 理 引入磁盤調(diào)度的例子 假定:一個硬盤的扇區(qū)長度為512個字節(jié),磁道長度為32個扇區(qū),平均尋道時間為20ms,傳輸速率為1MB/s,轉(zhuǎn)速為3600rpm。顯然,如果一個長度為128K字節(jié)的文件存放在該硬盤上,那么該
52、文件將在該硬盤上占用256個扇區(qū)。 請問:如果系統(tǒng)從該磁盤上完整地讀入該文件,將花費多長時間?第五章 設(shè) 備 管 理 若文件連續(xù)地存放在硬盤的8個相鄰的磁道上,那么系統(tǒng)完整地讀入該文件需要花費的時間: (20+8.3+16.7)+(8.3+16.7)* 7=220ms 若文件隨機地存放在硬盤的256個扇區(qū)上,那么讀入該文件需要花費的時間: (20+8.3+0.5)*256=7373ms第五章 設(shè) 備 管 理 比較與分析 比較前面兩種結(jié)果可以發(fā)現(xiàn): 如果文件的存儲方式不同,系統(tǒng)訪問文件的效率就不同;即,文件的存儲方式影響著系統(tǒng)訪問文件的效率。 文件的存儲方式對系統(tǒng)訪問文件的效率的影響主要在于:訪
53、問文件總的尋道時間和總的旋轉(zhuǎn)延遲。 當(dāng)系統(tǒng)訪問一組磁盤扇區(qū)時,如果能夠減少總的尋道時間和總的旋轉(zhuǎn)延遲,那么系統(tǒng)的訪問效率將得到提高。第五章 設(shè) 備 管 理 Disk Cache的工作原理 當(dāng)用戶進程請求從磁盤讀入一個扇區(qū)時,系統(tǒng)首先在disk cache中尋找該扇區(qū)的副本。 如果能找到,系統(tǒng)將從disk cache中取出該扇區(qū)的副本并返給用戶進程; 否則,系統(tǒng)首先從磁盤上讀入該扇區(qū)并在disk cache中為其建立一個副本,然后將該副本返回給用戶進程。第五章 設(shè) 備 管 理 Disk Cache的工作原理 當(dāng)用戶進程請求向磁盤上寫出一個扇區(qū)時,系統(tǒng)同樣首先在disk cache中尋找該扇區(qū)的副
54、本。 如果能找到,那么系統(tǒng)將根據(jù)用戶進程的請求修改該扇區(qū)的副本; 否則,系統(tǒng)同樣首先從磁盤上讀入該扇區(qū)并在disk cache中為其建立一個副本,然后根據(jù)用戶進程的請求修改該副本。第五章 設(shè) 備 管 理 磁盤高速緩存的數(shù)據(jù)安全性 Disk Cache中的數(shù)據(jù)寫出到磁盤: 在系統(tǒng)空閑或需要淘汰被寫的緩存空間時進行寫;這種策略風(fēng)險最大,效率高; 周期性地進行寫;風(fēng)險較低,效率較高; 立即寫回,即只要高速緩存中的某盤塊數(shù)據(jù)被修改,便立即將它們寫回磁盤。這種高速緩存通常被稱為“寫穿透高速緩存(Write Through Cache)”,相當(dāng)于只有讀緩存而沒有寫緩存。風(fēng)險較低,效率較低。第五章 設(shè) 備
55、管 理 高性能的文件系統(tǒng) 磁盤碎片整理,使文件在物理上連續(xù)存儲,不僅提高讀寫性能,減少尋道時間和平均旋轉(zhuǎn)延遲,而且能提高磁盤高速緩存的命中率,從而提高整個系統(tǒng)的效率,減少磁盤機械損耗。磁盤管理的另一有效方法第五章 設(shè) 備 管 理 磁盤容錯技術(shù) 磁盤容錯技術(shù)通過在系統(tǒng)中設(shè)置冗余部件(備份)來提高系統(tǒng)可靠性。冗余部件包括增加冗余的磁盤驅(qū)動器、磁盤控制器等,使得當(dāng)磁盤系統(tǒng)某部分出現(xiàn)缺陷或故障時,磁盤仍能正常工作,且不至于造成數(shù)據(jù)的錯誤和丟失。第五章 設(shè) 備 管 理 磁盤容錯技術(shù)級別 也稱為系統(tǒng)容錯技術(shù)SFT(System Fault Tolerance),大體分為三個級別: SFT-I低級磁盤容錯技
56、術(shù),主要防止磁盤表面介質(zhì)缺陷所引起的數(shù)據(jù)丟失; SFT-II中級磁盤容錯技術(shù),主要防止磁盤驅(qū)動器和磁盤控制器故障所引起的數(shù)據(jù)丟失; SFT-III高級磁盤容錯技術(shù),常使用雙服務(wù)器以保證在其中一臺服務(wù)器出現(xiàn)故障,甚至停止工作時,整個系統(tǒng)仍能照常運作。第五章 設(shè) 備 管 理 第一級容錯技術(shù) 最早出現(xiàn)、最基本的容錯技術(shù),包括: 雙份目錄和雙份文件分配表 熱修復(fù)重定向和寫后讀校驗第五章 設(shè) 備 管 理 雙份目錄和雙份FAT 文件目錄和文件分配表FAT是文件管理所需的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),可在不同的磁盤上或同一磁盤的不同區(qū)域中,分別建立維護兩份目錄和FAT。 其中一個損壞時,系統(tǒng)便自動啟用另一個,同時在磁盤其它區(qū)域再次建立新的目錄和FAT 每當(dāng)系統(tǒng)重啟時,都要對這兩個文件目錄和FAT進行檢查,以保證它們的一致性。第五章 設(shè) 備 管 理 熱修復(fù)重定向和寫后讀校驗 熱修復(fù)重定向是指,系統(tǒng)將一定的磁盤容量作為熱修復(fù)重定向區(qū),用于存放當(dāng)發(fā)現(xiàn)磁盤塊有缺陷時的待寫數(shù)據(jù),并對寫入該區(qū)的所有數(shù)據(jù)進行登記,以便于以后對此數(shù)據(jù)進行訪問。 寫后讀校驗是指每次將數(shù)據(jù)寫到磁盤以后,立即從磁盤上讀出該塊數(shù)據(jù),并進行對比,若寫入的數(shù)據(jù)與讀出的數(shù)據(jù)一致,則表示寫入成功;否則重寫數(shù)據(jù)。若
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TCZSYSJLXH 002-2024 全國藝術(shù)行業(yè)職業(yè)能力水平評價團體標準
- 太原單柱式標志桿施工方案
- 吉安市防水補漏施工方案
- 浦東新區(qū)2024學(xué)年度第一學(xué)期期末教學(xué)質(zhì)量檢測高三語文試卷
- 生態(tài)茶園修復(fù)工程施工方案
- 建筑工程竣工驗收檢測報告
- 右安門鋼結(jié)構(gòu)施工方案
- 簡支鋼箱梁橋施工方案
- 酉陽四星級酒店施工方案
- 陶鋁吸音板施工方案
- 中西醫(yī)結(jié)合規(guī)范化癌痛全程管理 癌痛的中西醫(yī)結(jié)合規(guī)范化治療(一)課件
- 沙棘種植施工方案
- 安 全 旁 站 監(jiān) 理 記 錄 表
- 村衛(wèi)生室醫(yī)療質(zhì)量督導(dǎo)檢查匯總表
- 電子商務(wù)專升本考試(習(xí)題卷12)
- (完整word版)Word信紙(A4橫條直接打印版)模板
- 雨水管道水力計算表
- (完整版)《西游記》競賽題目100題
- 困境兒童走訪調(diào)查表、致困原因確定參考標準、困境兒童評估報告
- 電機學(xué)同步電機-全套課件
- 農(nóng)產(chǎn)品電商營銷與運營PPT完整全套教學(xué)課件
評論
0/150
提交評論