第五章設(shè)備管理PPT課件_第1頁
第五章設(shè)備管理PPT課件_第2頁
第五章設(shè)備管理PPT課件_第3頁
第五章設(shè)備管理PPT課件_第4頁
第五章設(shè)備管理PPT課件_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第五章第五章 設(shè)備管理設(shè)備管理調(diào)度與死鎖設(shè)備管理概述設(shè)備管理概述v設(shè)備管理的對(duì)象設(shè)備管理的對(duì)象 I/OI/O設(shè)備設(shè)備 設(shè)備控制器設(shè)備控制器 I/OI/O通道通道v設(shè)備管理的任務(wù)設(shè)備管理的任務(wù) 完成用戶的完成用戶的I/OI/O請(qǐng)求請(qǐng)求 提高設(shè)備利用率提高設(shè)備利用率v設(shè)備管理的主要功能設(shè)備管理的主要功能 緩沖區(qū)管理緩沖區(qū)管理 設(shè)備分配設(shè)備分配調(diào)度與死鎖5.1 I/O5.1 I/O系統(tǒng)系統(tǒng)v I/OI/O系統(tǒng)是實(shí)現(xiàn)數(shù)據(jù)輸入、輸出和數(shù)據(jù)存儲(chǔ)的系統(tǒng)。系統(tǒng)是實(shí)現(xiàn)數(shù)據(jù)輸入、輸出和數(shù)據(jù)存儲(chǔ)的系統(tǒng)。vI/OI/O設(shè)備的類型設(shè)備的類型 按設(shè)備的按設(shè)備的使用特性使用特性分類分類 存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備 輸入、輸出設(shè)備輸入

2、、輸出設(shè)備 按按傳輸速率傳輸速率分類分類 低速、中速(打印機(jī)等)和高速設(shè)備低速、中速(打印機(jī)等)和高速設(shè)備 按按信息交換的單位信息交換的單位分類分類 塊設(shè)備:有結(jié)構(gòu)設(shè)備(磁盤可尋址、塊設(shè)備:有結(jié)構(gòu)設(shè)備(磁盤可尋址、I/OI/O方式采用方式采用DMADMA方式。)方式。) 字符設(shè)備:無結(jié)構(gòu)設(shè)備(打印機(jī)等)不可尋址,中斷驅(qū)動(dòng)。字符設(shè)備:無結(jié)構(gòu)設(shè)備(打印機(jī)等)不可尋址,中斷驅(qū)動(dòng)。調(diào)度與死鎖5.1 I/O5.1 I/O系統(tǒng)系統(tǒng) 按設(shè)備的按設(shè)備的共享屬性共享屬性分類分類 獨(dú)占設(shè)備獨(dú)占設(shè)備 共享設(shè)備:磁盤共享設(shè)備:磁盤 虛擬設(shè)備虛擬設(shè)備調(diào)度與死鎖2. 2. 設(shè)備與控制器的接口設(shè)備與控制器的接口調(diào)度與死鎖5

3、.1.2 5.1.2 設(shè)備控制器設(shè)備控制器v設(shè)備控制器的基本功能設(shè)備控制器的基本功能 接收和識(shí)別命令(控制寄存器譯碼器)接收和識(shí)別命令(控制寄存器譯碼器) 數(shù)據(jù)交換數(shù)據(jù)交換 (數(shù)據(jù)寄存器)(數(shù)據(jù)寄存器) 標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)(狀態(tài)寄存器)標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)(狀態(tài)寄存器) 地址識(shí)別(地址譯碼器)地址識(shí)別(地址譯碼器) 每個(gè)設(shè)備有一個(gè)地址每個(gè)設(shè)備有一個(gè)地址 每個(gè)寄存器有一個(gè)地址每個(gè)寄存器有一個(gè)地址 數(shù)據(jù)緩沖(緩沖器)數(shù)據(jù)緩沖(緩沖器) 差錯(cuò)控制差錯(cuò)控制調(diào)度與死鎖2. 2. 設(shè)備控制器的組成設(shè)備控制器的組成調(diào)度與死鎖5.1.3 I/O5.1.3 I/O通道通道調(diào)度與死鎖1. 1. 通道的引入通道的

4、引入v通道是獨(dú)立于通道是獨(dú)立于CPUCPU,專門負(fù)責(zé)數(shù)據(jù),專門負(fù)責(zé)數(shù)據(jù)I/OI/O傳輸?shù)奶巶鬏數(shù)奶幚頇C(jī),有自己的運(yùn)控部件和指令系統(tǒng)。理機(jī),有自己的運(yùn)控部件和指令系統(tǒng)。 它對(duì)外設(shè)實(shí)現(xiàn)統(tǒng)一管理它對(duì)外設(shè)實(shí)現(xiàn)統(tǒng)一管理 代替代替CPUCPU對(duì)對(duì)I/OI/O操作進(jìn)行控制操作進(jìn)行控制 使使CPUCPU和外設(shè)可以并行工作和外設(shè)可以并行工作v通道又稱為通道又稱為I/OI/O處理機(jī),但無專門的內(nèi)存,因處理機(jī),但無專門的內(nèi)存,因此,通過周期性的竊用方式與主機(jī)共享內(nèi)存此,通過周期性的竊用方式與主機(jī)共享內(nèi)存v引入通道不僅使數(shù)據(jù)的傳送獨(dú)立于引入通道不僅使數(shù)據(jù)的傳送獨(dú)立于CPUCPU,而用,而用對(duì)對(duì)I/OI/O操作的組織、

5、管理也獨(dú)立于操作的組織、管理也獨(dú)立于CPUCPU。調(diào)度與死鎖2. 2. 通道的類型通道的類型v字節(jié)多路通道(不適合高速設(shè)備)字節(jié)多路通道(不適合高速設(shè)備) 以字節(jié)交叉方式工作,連接設(shè)備:如以字節(jié)交叉方式工作,連接設(shè)備:如打印機(jī)。打印機(jī)。調(diào)度與死鎖2) 2) 數(shù)組選擇通道數(shù)組選擇通道選擇通道選擇通道獨(dú)占通道,利用率低獨(dú)占通道,利用率低調(diào)度與死鎖 選擇通道是以成組方式工作的,即每次傳送選擇通道是以成組方式工作的,即每次傳送一批數(shù)據(jù),故傳送速度很高。選擇通道在一一批數(shù)據(jù),故傳送速度很高。選擇通道在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸臺(tái)設(shè)備進(jìn)

6、行數(shù)據(jù)傳輸 當(dāng)這臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與當(dāng)這臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺(tái)設(shè)備,執(zhí)行它的相應(yīng)的通通道連接的另一臺(tái)設(shè)備,執(zhí)行它的相應(yīng)的通道程序道程序 主要連接磁盤,磁帶等高速主要連接磁盤,磁帶等高速I/OI/O設(shè)備設(shè)備 2) 2) 數(shù)組選擇通道數(shù)組選擇通道調(diào)度與死鎖 成組多路通道結(jié)合了選擇通道傳送速度高和字節(jié)多成組多路通道結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進(jìn)行分時(shí)并行操作的優(yōu)點(diǎn)。含有多個(gè)非分配路通道能進(jìn)行分時(shí)并行操作的優(yōu)點(diǎn)。含有多個(gè)非分配型子通道。型子通道。 主要連接高速設(shè)備主要連接高速設(shè)備 這樣,對(duì)于連接多臺(tái)磁盤機(jī)的數(shù)組多路通道,它可這樣,對(duì)于連接多臺(tái)磁盤機(jī)的數(shù)組多

7、路通道,它可以啟動(dòng)它們同時(shí)執(zhí)行移臂定位操作,然后,按序交叉以啟動(dòng)它們同時(shí)執(zhí)行移臂定位操作,然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對(duì)通道程地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對(duì)通道程序采用多道程序設(shè)計(jì)的硬件實(shí)現(xiàn)。序采用多道程序設(shè)計(jì)的硬件實(shí)現(xiàn)。 3) 3) 數(shù)組數(shù)組多路多路通道通道調(diào)度與死鎖通道的類型通道的類型調(diào)度與死鎖3. 3. “瓶頸瓶頸”問題問題調(diào)度與死鎖3. 3. “瓶頸瓶頸”問題的解決問題的解決增加設(shè)備到主機(jī)間的通路。提高了可靠性增加設(shè)備到主機(jī)間的通路。提高了可靠性調(diào)度與死鎖5.1.4 5.1.4 總線系統(tǒng)總線系統(tǒng)微型計(jì)算機(jī)微型計(jì)算機(jī)總線的種類和發(fā)展總線的種類和發(fā)展ISA

8、總線總線EISA總線總線VESA總線總線 PCI總線總線USB總線總線.1394總線總線調(diào)度與死鎖5.2 I/O5.2 I/O控制方式控制方式v程序直接控制方式程序直接控制方式v中斷控制方式中斷控制方式v直接存儲(chǔ)器存取方式直接存儲(chǔ)器存取方式(DMA)(DMA)v通道方式通道方式盡量減少主機(jī)對(duì)盡量減少主機(jī)對(duì)I/OI/O控制的干預(yù)。控制的干預(yù)。調(diào)度與死鎖1. 1. 程序直接控制方式程序直接控制方式也稱為忙也稱為忙等待方式等待方式調(diào)度與死鎖1. 1. 程序直接控制方式程序直接控制方式調(diào)度與死鎖1. 1. 程序直接控制方式程序直接控制方式v控制者:用戶進(jìn)程控制者:用戶進(jìn)程v 又稱為忙等待方式、循環(huán)測試

9、方式、程序又稱為忙等待方式、循環(huán)測試方式、程序I/OI/O方式方式v優(yōu)點(diǎn):優(yōu)點(diǎn): 控制簡單,硬件支持少(只需狀態(tài)寄存器)控制簡單,硬件支持少(只需狀態(tài)寄存器)v缺點(diǎn):缺點(diǎn): CPUCPU與外設(shè)串行工作。與外設(shè)串行工作。 CPUCPU在一段時(shí)間內(nèi)只能與一臺(tái)外設(shè)通信。在一段時(shí)間內(nèi)只能與一臺(tái)外設(shè)通信。調(diào)度與死鎖2. 2. 中斷方式中斷方式調(diào)度與死鎖2. 2. 中斷方式中斷方式調(diào)度與死鎖2. 2. 中斷方式中斷方式調(diào)度與死鎖2. 2. 中斷方式中斷方式v優(yōu)點(diǎn):優(yōu)點(diǎn): CPUCPU與外設(shè)并行工作。與外設(shè)并行工作。v缺點(diǎn):缺點(diǎn): 中斷方式以字或字節(jié)為單位進(jìn)行中斷方式以字或字節(jié)為單位進(jìn)行I/OI/O操作,操

10、作,每傳送一個(gè)字或字節(jié)均要求一次中斷。每傳送一個(gè)字或字節(jié)均要求一次中斷。 當(dāng)有多個(gè)外設(shè),如果提高外設(shè)速度,當(dāng)有多個(gè)外設(shè),如果提高外設(shè)速度,CPUCPU來來不及從緩沖區(qū)取數(shù)據(jù),造成數(shù)據(jù)丟失。不及從緩沖區(qū)取數(shù)據(jù),造成數(shù)據(jù)丟失。調(diào)度與死鎖3. DMA3. DMA方式方式v直接存儲(chǔ)器訪問(直接存儲(chǔ)器訪問(DMADMA:Direct Memory Direct Memory AccessAccess)v基本思想:基本思想:外設(shè)與內(nèi)存直接進(jìn)行數(shù)據(jù)交換外設(shè)與內(nèi)存直接進(jìn)行數(shù)據(jù)交換v特點(diǎn):特點(diǎn): 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊 設(shè)備與內(nèi)存間直接進(jìn)行數(shù)據(jù)存取設(shè)備與內(nèi)存間直接進(jìn)行數(shù)據(jù)存取 僅在

11、傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),才需才需CPUCPU干預(yù)干預(yù)調(diào)度與死鎖DMADMA控制器的組成控制器的組成數(shù)據(jù)計(jì)數(shù)器數(shù)據(jù)計(jì)數(shù)器命令命令/狀態(tài)狀態(tài)寄存器寄存器調(diào)度與死鎖3. DMA3. DMA方式方式調(diào)度與死鎖DMADMA方式方式傳送傳送過程過程調(diào)度與死鎖DMADMA方式傳送過程方式傳送過程調(diào)度與死鎖3. DMA3. DMA方式方式v特點(diǎn):特點(diǎn): 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊 僅在傳送開始和結(jié)束時(shí),才需處理機(jī)干預(yù)僅在傳送開始和結(jié)束時(shí),才需處理機(jī)干預(yù) 開始時(shí):開始時(shí):CPUCPU啟動(dòng)啟動(dòng)I/OI/O設(shè)備設(shè)備 結(jié)束時(shí):發(fā)送中斷給結(jié)束

12、時(shí):發(fā)送中斷給CPUCPU,處理中斷。,處理中斷。v缺點(diǎn):缺點(diǎn): 當(dāng)需要一次去讀多個(gè)數(shù)據(jù)塊且將它們分別傳當(dāng)需要一次去讀多個(gè)數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)域,或者相反時(shí),須由送到不同的內(nèi)存區(qū)域,或者相反時(shí),須由CPUCPU分別發(fā)出多條分別發(fā)出多條I/OI/O指令及進(jìn)行多次中斷處指令及進(jìn)行多次中斷處理才能完成。理才能完成。調(diào)度與死鎖DMADMA方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別v中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請(qǐng)中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請(qǐng)求,求,CPUCPU進(jìn)行中斷處理。進(jìn)行中斷處理。v DMADMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送方式則是在所要求傳送的數(shù)據(jù)塊全

13、部傳送結(jié)束時(shí)要求結(jié)束時(shí)要求CPUCPU進(jìn)行中斷處理,大大減少了進(jìn)行中斷處理,大大減少了CPUCPU進(jìn)行中斷處理的次數(shù)進(jìn)行中斷處理的次數(shù)v中斷方式的數(shù)據(jù)傳送是由中斷方式的數(shù)據(jù)傳送是由CPUCPU控制完成的,而控制完成的,而DMADMA方式則是在方式則是在DMADMA控制器的控制下不經(jīng)過控制器的控制下不經(jīng)過CPUCPU控制完成的控制完成的調(diào)度與死鎖4. 4. 通道控制方式通道控制方式v通道是獨(dú)立于通道是獨(dú)立于CPUCPU,專門負(fù)責(zé)數(shù)據(jù),專門負(fù)責(zé)數(shù)據(jù)I/OI/O傳輸?shù)奶巶鬏數(shù)奶幚頇C(jī),有自己的運(yùn)控部件和指令系統(tǒng)。理機(jī),有自己的運(yùn)控部件和指令系統(tǒng)。v通道又稱為通道又稱為I/OI/O處理機(jī),但無專門的內(nèi)存

14、,因處理機(jī),但無專門的內(nèi)存,因此,通過周期性的竊用方式與主機(jī)共享內(nèi)存此,通過周期性的竊用方式與主機(jī)共享內(nèi)存調(diào)度與死鎖硬件連接結(jié)構(gòu)硬件連接結(jié)構(gòu)調(diào)度與死鎖通道程序通道程序v通道程序是由一系列通道指令所構(gòu)成通道程序是由一系列通道指令所構(gòu)成v通道指令通道指令 WriteWrite 0 0 250 1850 0 0 250 1850 Write 1 1 250 720Write 1 1 250 720v常用指令包括下列信息:常用指令包括下列信息: 操作碼操作碼 通道程序結(jié)束位通道程序結(jié)束位P P 記錄結(jié)束標(biāo)志記錄結(jié)束標(biāo)志R R 計(jì)數(shù)計(jì)數(shù) 內(nèi)存地址內(nèi)存地址調(diào)度與死鎖4. 4. 通道控制方式通道控制方式v傳

15、輸過程:傳輸過程: 進(jìn)程請(qǐng)求進(jìn)程請(qǐng)求I/OI/O CPUCPU發(fā)發(fā)I/OI/O指令(指令(I/OI/O操作,設(shè)備號(hào),對(duì)應(yīng)的操作,設(shè)備號(hào),對(duì)應(yīng)的通道)通道) 對(duì)應(yīng)的通道啟動(dòng)通道指令程序,設(shè)置對(duì)應(yīng)的通道啟動(dòng)通道指令程序,設(shè)置I/OI/O設(shè)設(shè)備控制的控制狀態(tài)寄存器備控制的控制狀態(tài)寄存器 數(shù)據(jù)入內(nèi)存數(shù)據(jù)入內(nèi)存 結(jié)束,中斷信號(hào)給結(jié)束,中斷信號(hào)給CPUCPU調(diào)度與死鎖v緩沖技術(shù)引入的原因緩沖技術(shù)引入的原因 緩和緩和CPUCPU與與I/OI/O設(shè)備間速度不匹配的矛盾。設(shè)備間速度不匹配的矛盾。 減少對(duì)減少對(duì)CPUCPU的的中斷頻率中斷頻率 提高提高CPUCPU和和I/OI/O設(shè)備之間的并行性設(shè)備之間的并行性

16、解決解決DMADMA與通道方式的瓶頸問題。與通道方式的瓶頸問題。 要求數(shù)據(jù)的進(jìn)程不能即時(shí)獲得內(nèi)存而長期要求數(shù)據(jù)的進(jìn)程不能即時(shí)獲得內(nèi)存而長期占有通道或占有通道或DMADMA的現(xiàn)象。的現(xiàn)象。 5.3 5.3 緩沖管理緩沖管理調(diào)度與死鎖調(diào)度與死鎖v單緩沖單緩沖( (系統(tǒng)對(duì)數(shù)據(jù)的處理時(shí)間為系統(tǒng)對(duì)數(shù)據(jù)的處理時(shí)間為:Max(C,T)+M):Max(C,T)+M)5.3.2 5.3.2 緩沖的種類緩沖的種類調(diào)度與死鎖v雙緩沖5.3.2 5.3.2 緩沖的種類緩沖的種類調(diào)度與死鎖v雙緩沖(系統(tǒng)對(duì)數(shù)據(jù)的處理時(shí)間為:Max(C,T)5.3.2 5.3.2 緩沖的種類緩沖的種類調(diào)度與死鎖v雙緩沖5.3.2 5.3.

17、2 緩沖的種類緩沖的種類調(diào)度與死鎖v多個(gè)緩沖區(qū)組織成循環(huán)緩沖的形式。多個(gè)緩沖區(qū)組織成循環(huán)緩沖的形式。v R:R:空空bufferbuffer;G G:裝滿數(shù)據(jù)的:裝滿數(shù)據(jù)的buffer;Cbuffer;C: :工作工作bufferbufferv 指針:指針:5.3.3 5.3.3 循環(huán)緩沖循環(huán)緩沖作為輸入的緩沖區(qū)作為輸入的緩沖區(qū)調(diào)度與死鎖v多緩沖存在同步的問題。5.3.3 5.3.3 循環(huán)緩沖循環(huán)緩沖調(diào)度與死鎖v緩沖池緩沖池把多個(gè)緩沖區(qū)連接起來統(tǒng)一管理,既把多個(gè)緩沖區(qū)連接起來統(tǒng)一管理,既可用于輸入又可用于輸出的緩沖區(qū)??捎糜谳斎胗挚捎糜谳敵龅木彌_區(qū)。若干進(jìn)程可以共享。若干進(jìn)程可以共享。5.3.

18、4 5.3.4 緩沖池緩沖池調(diào)度與死鎖v類型:類型: 空閑緩沖區(qū)空閑緩沖區(qū) 裝滿輸入數(shù)據(jù)的緩沖區(qū)裝滿輸入數(shù)據(jù)的緩沖區(qū) 裝滿輸出數(shù)據(jù)的緩沖區(qū)裝滿輸出數(shù)據(jù)的緩沖區(qū)5.3.4 5.3.4 緩沖池的管理緩沖池的管理v三種隊(duì)列:三種隊(duì)列:調(diào)度與死鎖v工作緩沖區(qū)工作緩沖區(qū) 收容輸入緩沖區(qū)收容輸入緩沖區(qū)hinhin 提取輸入緩沖區(qū)提取輸入緩沖區(qū)sinsin 收容輸出緩沖區(qū)收容輸出緩沖區(qū)houthout 提取輸出緩沖區(qū)提取輸出緩沖區(qū)soutsout5.3.4 5.3.4 緩沖池管理緩沖池管理emhininget_bufput_bufget_bufinsinemget_bufput_bufemhoutoutge

19、t_bufput_bufoutsoutemget_bufput_buf調(diào)度與死鎖v管理管理 take_buf(type,number) add_buf(type,number) get_buf(type,number) put_buf(type,number)v參數(shù):參數(shù):type緩沖區(qū)類型,緩沖區(qū)類型,number緩沖區(qū)號(hào)緩沖區(qū)號(hào)v get_buf()和和put_buf()分別調(diào)用分別調(diào)用add_buf()和和take_buf().5.3.4 5.3.4 緩沖池管理緩沖池管理調(diào)度與死鎖過程過程get_bufget_buf和和put_bufput_buf的描述的描述互斥信號(hào)量互斥信號(hào)量MS(t

20、ype),其初值為,其初值為1資源信號(hào)量資源信號(hào)量RS(type),其初值為,其初值為n(n為為type隊(duì)列長度隊(duì)列長度)get_buf(type,number):beginP(RS(type)P(MS(type)B(number) = take_buf(type,number)V(MS(type)end調(diào)度與死鎖過程過程get_bufget_buf和和put_bufput_buf的描述的描述互斥信號(hào)量互斥信號(hào)量MS(type),其初值為,其初值為1資源信號(hào)量資源信號(hào)量RS(type),其初值為,其初值為n(n為為type隊(duì)列長度隊(duì)列長度)put_buf(type,number):beginP

21、(MS(type)add_buf(type,number)V(MS(type)V(RS(type)end調(diào)度與死鎖緩沖區(qū)的工作方式緩沖區(qū)的工作方式調(diào)度與死鎖5.4 I/O5.4 I/O軟件軟件v總目標(biāo):高效率、通用性總目標(biāo):高效率、通用性vI/OI/O軟件的設(shè)計(jì)目標(biāo)軟件的設(shè)計(jì)目標(biāo) 設(shè)備無關(guān)性(設(shè)備的獨(dú)立性)設(shè)備無關(guān)性(設(shè)備的獨(dú)立性) 應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。為了實(shí)應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。為了實(shí)現(xiàn)設(shè)備獨(dú)立性而引入了現(xiàn)設(shè)備獨(dú)立性而引入了邏輯設(shè)備邏輯設(shè)備和和物理設(shè)備物理設(shè)備這兩這兩個(gè)概念。(即插即用)。個(gè)概念。(即插即用)。 統(tǒng)一命名統(tǒng)一命名 系統(tǒng)中各類設(shè)備均以統(tǒng)一的系統(tǒng)中各類設(shè)

22、備均以統(tǒng)一的邏輯名稱邏輯名稱命名,應(yīng)命名,應(yīng)用程序以邏輯名稱訪問設(shè)備,統(tǒng)一命名與具體設(shè)用程序以邏輯名稱訪問設(shè)備,統(tǒng)一命名與具體設(shè)備無關(guān)。備無關(guān)。 調(diào)度與死鎖5.4 I/O5.4 I/O軟件軟件vI/OI/O軟件的設(shè)計(jì)目標(biāo)軟件的設(shè)計(jì)目標(biāo) 對(duì)錯(cuò)誤的處理對(duì)錯(cuò)誤的處理 錯(cuò)誤的處理盡量在低層解決錯(cuò)誤的處理盡量在低層解決 緩沖技術(shù)緩沖技術(shù) I/OI/O軟件屏蔽緩沖區(qū)大小的差異。軟件屏蔽緩沖區(qū)大小的差異。 設(shè)備的分配與釋放設(shè)備的分配與釋放: :獨(dú)占、共享獨(dú)占、共享 I/OI/O控制方式控制方式調(diào)度與死鎖設(shè)備管理的分層模型設(shè)備管理的分層模型用戶進(jìn)程用戶進(jìn)程設(shè)備硬件無關(guān)層設(shè)備硬件無關(guān)層設(shè)備硬件相關(guān)層設(shè)備硬件相關(guān)

23、層設(shè)備硬件設(shè)備硬件邏輯設(shè)備邏輯設(shè)備設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序調(diào)度與死鎖5.4 I/O5.4 I/O軟件的層次結(jié)構(gòu)軟件的層次結(jié)構(gòu)調(diào)度與死鎖5.4.2 5.4.2 中斷處理程序中斷處理程序調(diào)度與死鎖5.4.2 5.4.2 中斷處理過程中斷處理過程v喚醒被阻塞的驅(qū)動(dòng)(程序)進(jìn)程喚醒被阻塞的驅(qū)動(dòng)(程序)進(jìn)程v保護(hù)被中斷進(jìn)程的保護(hù)被中斷進(jìn)程的CPUCPU環(huán)境環(huán)境調(diào)度與死鎖5.4.2 5.4.2 中斷處理過程中斷處理過程v 轉(zhuǎn)入相應(yīng)的設(shè)備處理程序轉(zhuǎn)入相應(yīng)的設(shè)備處理程序v 中斷處理中斷處理 正常完成中斷正常完成中斷 異常結(jié)束中斷異常結(jié)束中斷v 恢復(fù)被中斷進(jìn)程的現(xiàn)場恢復(fù)被中斷進(jìn)程的現(xiàn)場v 中斷總控程序中斷總控程

24、序調(diào)度與死鎖5.4.2 5.4.2 中斷處理過程中斷處理過程調(diào)度與死鎖5.4.3 5.4.3 設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序v設(shè)備驅(qū)動(dòng)程序的功能設(shè)備驅(qū)動(dòng)程序的功能 接收接收設(shè)備獨(dú)立性軟件設(shè)備獨(dú)立性軟件發(fā)來的命令和參數(shù),并將命令發(fā)來的命令和參數(shù),并將命令中的抽象要求轉(zhuǎn)換為具體要求,例如,將磁盤塊號(hào)中的抽象要求轉(zhuǎn)換為具體要求,例如,將磁盤塊號(hào)轉(zhuǎn)換為磁盤的盤面、轉(zhuǎn)換為磁盤的盤面、 磁道號(hào)及扇區(qū)號(hào)。磁道號(hào)及扇區(qū)號(hào)。 檢查用戶檢查用戶I/OI/O請(qǐng)求的合法性,了解請(qǐng)求的合法性,了解I/OI/O設(shè)備的狀態(tài),設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。 發(fā)出發(fā)出I/OI/O命令

25、命令 忙忙/ /等等 及時(shí)響應(yīng)由及時(shí)響應(yīng)由控制器控制器或或通道通道發(fā)來的中斷請(qǐng)求,并根據(jù)發(fā)來的中斷請(qǐng)求,并根據(jù)其中斷類型調(diào)用相應(yīng)的其中斷類型調(diào)用相應(yīng)的中斷處理程序中斷處理程序進(jìn)行處理。進(jìn)行處理。 對(duì)于設(shè)置有通道的計(jì)算機(jī)系統(tǒng),自動(dòng)地構(gòu)成通道程對(duì)于設(shè)置有通道的計(jì)算機(jī)系統(tǒng),自動(dòng)地構(gòu)成通道程序。序。 調(diào)度與死鎖5.4.3 5.4.3 設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序v設(shè)備驅(qū)動(dòng)方式設(shè)備驅(qū)動(dòng)方式 為每一類設(shè)備設(shè)置一個(gè)進(jìn)程,專門用于執(zhí)行為每一類設(shè)備設(shè)置一個(gè)進(jìn)程,專門用于執(zhí)行這類設(shè)備的這類設(shè)備的I/OI/O操作。操作。 在整個(gè)系統(tǒng)中設(shè)置一個(gè)在整個(gè)系統(tǒng)中設(shè)置一個(gè)I/OI/O進(jìn)程,專門用于進(jìn)程,專門用于執(zhí)行系統(tǒng)中所有各類

26、設(shè)備的執(zhí)行系統(tǒng)中所有各類設(shè)備的I/OI/O操作。操作。 不設(shè)置專門的設(shè)備處理進(jìn)程,而只為各類設(shè)不設(shè)置專門的設(shè)備處理進(jìn)程,而只為各類設(shè)備設(shè)置相應(yīng)的備設(shè)置相應(yīng)的設(shè)備處理程序設(shè)備處理程序( (模塊模塊) ),供用戶,供用戶進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。調(diào)度與死鎖5.4.3 5.4.3 設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序v設(shè)備驅(qū)動(dòng)程序的特點(diǎn)設(shè)備驅(qū)動(dòng)程序的特點(diǎn) 在請(qǐng)求在請(qǐng)求I/OI/O的進(jìn)程與設(shè)備控制器之間提供一的進(jìn)程與設(shè)備控制器之間提供一個(gè)通信和轉(zhuǎn)換程序。個(gè)通信和轉(zhuǎn)換程序。 不同類型的設(shè)備應(yīng)配置不同的驅(qū)動(dòng)程序。不同類型的設(shè)備應(yīng)配置不同的驅(qū)動(dòng)程序。 驅(qū)動(dòng)程序與驅(qū)動(dòng)程序與I/OI/O設(shè)備所采用的設(shè)備所采用

27、的I/OI/O控制方式相控制方式相關(guān)。關(guān)。 驅(qū)動(dòng)程序是由匯編與驅(qū)動(dòng)程序是由匯編與C C語言構(gòu)成?;蚬袒谡Z言構(gòu)成?;蚬袒赗OMROM中。中。 驅(qū)動(dòng)程序允許可重入。驅(qū)動(dòng)程序允許可重入。 驅(qū)動(dòng)程序不允許驅(qū)動(dòng)程序不允許系統(tǒng)調(diào)用系統(tǒng)調(diào)用。調(diào)度與死鎖v處理過程:處理過程: 抽象要求轉(zhuǎn)為具體要求(塊號(hào)抽象要求轉(zhuǎn)為具體要求(塊號(hào)- -扇區(qū))扇區(qū)) 檢查檢查I/OI/O的合法性。的合法性。 讀出和檢查設(shè)備的狀態(tài)讀出和檢查設(shè)備的狀態(tài) 傳送必要的參數(shù)傳送必要的參數(shù) 工作方式的設(shè)置工作方式的設(shè)置 啟動(dòng)設(shè)備,控制器控制基本啟動(dòng)設(shè)備,控制器控制基本I/OI/O操作操作5.4.3 5.4.3 設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序調(diào)

28、度與死鎖5.4.4 5.4.4 設(shè)備獨(dú)立性軟件設(shè)備獨(dú)立性軟件 概念:應(yīng)用程序獨(dú)立于具體使用的設(shè)備概念:應(yīng)用程序獨(dú)立于具體使用的設(shè)備 好處:好處:設(shè)備分配的靈活性設(shè)備分配的靈活性易于實(shí)現(xiàn)易于實(shí)現(xiàn)I/OI/O重定向重定向調(diào)度與死鎖5.4.4 5.4.4 設(shè)備獨(dú)立性軟件設(shè)備獨(dú)立性軟件v 主要功能:主要功能: 執(zhí)行所有設(shè)備的公有操作執(zhí)行所有設(shè)備的公有操作對(duì)獨(dú)立設(shè)備的分配與回收對(duì)獨(dú)立設(shè)備的分配與回收將邏輯設(shè)備名映射為物理設(shè)備名,進(jìn)而找到設(shè)將邏輯設(shè)備名映射為物理設(shè)備名,進(jìn)而找到設(shè)備驅(qū)動(dòng)程序備驅(qū)動(dòng)程序?qū)υO(shè)備進(jìn)行保護(hù),禁止用戶直接訪問設(shè)備對(duì)設(shè)備進(jìn)行保護(hù),禁止用戶直接訪問設(shè)備緩沖管理緩沖管理差錯(cuò)控制差錯(cuò)控制提供

29、獨(dú)立于設(shè)備的邏輯塊提供獨(dú)立于設(shè)備的邏輯塊 向用戶層軟件提供統(tǒng)一的接口向用戶層軟件提供統(tǒng)一的接口調(diào)度與死鎖邏輯設(shè)備名到物理設(shè)備名的映射邏輯設(shè)備名到物理設(shè)備名的映射v 邏輯設(shè)備表邏輯設(shè)備表LUTLUTv LUTLUT的設(shè)置問題的設(shè)置問題 整個(gè)系統(tǒng)一張整個(gè)系統(tǒng)一張LUTLUT:單用戶系統(tǒng)中:單用戶系統(tǒng)中 每個(gè)用戶一張每個(gè)用戶一張LUTLUT:多用戶系統(tǒng)中:多用戶系統(tǒng)中調(diào)度與死鎖5.4.5 5.4.5 用戶層用戶層I/OI/O軟件軟件v 用戶層用戶層I/OI/O軟件軟件 通過系統(tǒng)調(diào)用取得通過系統(tǒng)調(diào)用取得osos的服務(wù)。的服務(wù)。 用戶程序用戶程序庫函數(shù)庫函數(shù)系統(tǒng)調(diào)用系統(tǒng)調(diào)用調(diào)度與死鎖v設(shè)備分配程序按一定

30、的策略統(tǒng)一分配設(shè)備分配程序按一定的策略統(tǒng)一分配設(shè)備給進(jìn)程設(shè)備給進(jìn)程v分配用的數(shù)據(jù)結(jié)構(gòu):分配用的數(shù)據(jù)結(jié)構(gòu): 設(shè)備控制表設(shè)備控制表DCTDCT 系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表SDTSDT 控制器控制表控制器控制表COCTCOCT 通道控制表通道控制表CHCTCHCT5.5 5.5 設(shè)備分配設(shè)備分配調(diào)度與死鎖5.5.1 5.5.1 設(shè)備控制表設(shè)備控制表DCTDCT調(diào)度與死鎖5.5.1 5.5.1 設(shè)備控制表設(shè)備控制表DCTDCT調(diào)度與死鎖5.5.1 5.5.1 設(shè)備控制表設(shè)備控制表DCTDCT調(diào)度與死鎖v設(shè)備的固有屬性設(shè)備的固有屬性 獨(dú)占設(shè)備:獨(dú)占設(shè)備:死鎖問題死鎖問題 共享設(shè)備:共享設(shè)備:調(diào)度順序調(diào)度順序

31、虛擬設(shè)備:虛擬設(shè)備:調(diào)度順序調(diào)度順序v設(shè)備分配算法設(shè)備分配算法 先來先服務(wù)先來先服務(wù) 優(yōu)先級(jí)高者優(yōu)先優(yōu)先級(jí)高者優(yōu)先v設(shè)備分配的安全性設(shè)備分配的安全性 安全分配方式:進(jìn)程安全分配方式:進(jìn)程 進(jìn)展緩慢進(jìn)展緩慢 不安全分配方式:不安全分配方式: 進(jìn)程推進(jìn)迅速、可能死進(jìn)程推進(jìn)迅速、可能死鎖。需要安全性檢查鎖。需要安全性檢查5.5.2 5.5.2 設(shè)備分配時(shí)應(yīng)考慮的因素設(shè)備分配時(shí)應(yīng)考慮的因素調(diào)度與死鎖基基本本設(shè)設(shè)備備分分配配流流程程5.5.3 5.5.3 獨(dú)占設(shè)備的分配程序獨(dú)占設(shè)備的分配程序調(diào)度與死鎖v基本的設(shè)備分配程序基本的設(shè)備分配程序 進(jìn)程以物理設(shè)備名來提出進(jìn)程以物理設(shè)備名來提出I/OI/O請(qǐng)求請(qǐng)求

32、 采用單通路的采用單通路的I/OI/O系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)v設(shè)備分配程序的改進(jìn)設(shè)備分配程序的改進(jìn) 增加設(shè)備的獨(dú)立性增加設(shè)備的獨(dú)立性 進(jìn)程以邏輯設(shè)備名請(qǐng)求進(jìn)程以邏輯設(shè)備名請(qǐng)求I/O.I/O. 考慮多通路情況考慮多通路情況5.5.3 5.5.3 獨(dú)占設(shè)備的分配程序獨(dú)占設(shè)備的分配程序?yàn)檫M(jìn)程為進(jìn)程P P分配所需的分配所需的I/OI/O設(shè)備設(shè)備從從SDTSDT表查該類設(shè)備的控制表表查該類設(shè)備的控制表DCTDCT由由DCTDCT檢查該設(shè)備忙否檢查該設(shè)備忙否? ?不忙不忙檢查分配此設(shè)備的安全性檢查分配此設(shè)備的安全性? ?不安全不安全分配此設(shè)備給進(jìn)程分配此設(shè)備給進(jìn)程P P查此設(shè)備連接的查此設(shè)備連接的COCTCOC

33、T忙否忙否? ?不忙不忙不忙不忙分配此控制器給進(jìn)程分配此控制器給進(jìn)程P P查此控制器連接的查此控制器連接的CHCTCHCT忙否忙否? ?最后一個(gè)最后一個(gè)DCT?DCT?分配此通道給進(jìn)程分配此通道給進(jìn)程P P啟動(dòng)啟動(dòng)I/O,I/O,進(jìn)行具體的進(jìn)行具體的I/OI/O操作操作忙忙進(jìn)程進(jìn)程P的的PCB放入放入此設(shè)備的等待隊(duì)列此設(shè)備的等待隊(duì)列YN忙忙最后一個(gè)最后一個(gè)COCT?COCT?最后一個(gè)最后一個(gè)DCT?DCT?進(jìn)程進(jìn)程 P 的的 PCB 放入放入此控制器的等待隊(duì)列此控制器的等待隊(duì)列YNY忙忙最后一個(gè)最后一個(gè)CHCT?CHCT?Y最后一個(gè)最后一個(gè)COCT?COCT?進(jìn)程進(jìn)程 P 的的 PCB 放入放

34、入此通道的等待隊(duì)列此通道的等待隊(duì)列NYNN多通路設(shè)備分配流程示意圖多通路設(shè)備分配流程示意圖調(diào)度與死鎖v什么是什么是SPOOLingSPOOLing 脫機(jī)輸入與脫機(jī)輸出技術(shù)脫機(jī)輸入與脫機(jī)輸出技術(shù) SPOOLing (Simultaneaus Periphernal SPOOLing (Simultaneaus Periphernal Operating On Line)Operating On Line),又稱假脫機(jī)技術(shù)。,又稱假脫機(jī)技術(shù)。 適用于多道程序系統(tǒng)。適用于多道程序系統(tǒng)。5.5.4 SPOOLing5.5.4 SPOOLing技術(shù)技術(shù)調(diào)度與死鎖v 輸入井和輸出井輸入井和輸出井 輸入井:

35、模擬脫機(jī)輸入時(shí)的磁盤設(shè)備輸入井:模擬脫機(jī)輸入時(shí)的磁盤設(shè)備 輸出井:模擬脫機(jī)輸出時(shí)的磁盤設(shè)備輸出井:模擬脫機(jī)輸出時(shí)的磁盤設(shè)備v 輸入緩沖區(qū)和輸出緩沖區(qū)輸入緩沖區(qū)和輸出緩沖區(qū)v 輸入進(jìn)程與輸出進(jìn)程輸入進(jìn)程與輸出進(jìn)程 輸入進(jìn)程:模擬脫機(jī)輸入進(jìn)程:模擬脫機(jī)I/OI/O時(shí)的外圍控制機(jī)時(shí)的外圍控制機(jī) 輸出進(jìn)程:模擬脫機(jī)輸出進(jìn)程:模擬脫機(jī)I/OI/O時(shí)的外圍控制機(jī)時(shí)的外圍控制機(jī)2. SPOOLing2. SPOOLing系統(tǒng)的組成系統(tǒng)的組成調(diào)度與死鎖v 當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí),當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí),SPOOLingSPOOLing系統(tǒng)并不立即系統(tǒng)并不立即把打印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事:把打

36、印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事: 由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤塊區(qū),由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;并將要打印的數(shù)據(jù)送入其中; 輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用戶請(qǐng)求打用戶請(qǐng)求打印表印表,并將用戶的打印要求填入其中,再將該表掛,并將用戶的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上。到請(qǐng)求打印隊(duì)列上。v 當(dāng)打印機(jī)空閑時(shí),輸出進(jìn)程取出打印表,將數(shù)據(jù)從輸當(dāng)打印機(jī)空閑時(shí),輸出進(jìn)程取出打印表,將數(shù)據(jù)從輸出井傳入內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。出井傳入內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。3. 3. 共享打印機(jī)共

37、享打印機(jī)調(diào)度與死鎖v提高了提高了I/OI/O的速度的速度 從低速設(shè)備的操作變?yōu)閷?duì)輸入井和輸出井從低速設(shè)備的操作變?yōu)閷?duì)輸入井和輸出井的操作的操作v將獨(dú)占設(shè)備改造為共享設(shè)備將獨(dú)占設(shè)備改造為共享設(shè)備v可以將一臺(tái)物理設(shè)備虛擬為多臺(tái)邏輯設(shè)備,允可以將一臺(tái)物理設(shè)備虛擬為多臺(tái)邏輯設(shè)備,允許多個(gè)用戶共享一臺(tái)物理設(shè)備。許多個(gè)用戶共享一臺(tái)物理設(shè)備。4. 4. SPOOLingSPOOLing系統(tǒng)的特點(diǎn)系統(tǒng)的特點(diǎn)調(diào)度與死鎖5.6 5.6 磁盤存儲(chǔ)器的管理磁盤存儲(chǔ)器的管理調(diào)度與死鎖v 磁盤的組織與格式磁盤的組織與格式5.6 5.6 磁盤存儲(chǔ)器的管理磁盤存儲(chǔ)器的管理調(diào)度與死鎖v固定頭磁盤固定頭磁盤 每條磁道上都有一個(gè)讀

38、每條磁道上都有一個(gè)讀/ /寫磁頭寫磁頭 并行讀并行讀/ /寫寫 適用于大容量磁盤適用于大容量磁盤v移動(dòng)頭磁盤移動(dòng)頭磁盤 每個(gè)盤面僅有一個(gè)磁頭每個(gè)盤面僅有一個(gè)磁頭 串行方式讀串行方式讀/ /寫寫 適用于中小型磁盤適用于中小型磁盤2 2 磁盤的類型磁盤的類型調(diào)度與死鎖v尋道時(shí)間尋道時(shí)間: :T Ts s= =m mn n+ +s s 大約是大約是5-30ms5-30ms n n:移動(dòng)磁道數(shù),:移動(dòng)磁道數(shù),s s:啟動(dòng)磁臂的時(shí)間,:啟動(dòng)磁臂的時(shí)間,m m:常數(shù)。:常數(shù)。v旋轉(zhuǎn)延遲時(shí)間旋轉(zhuǎn)延遲時(shí)間T Tr: r: 平均旋轉(zhuǎn)延遲時(shí)間為:平均旋轉(zhuǎn)延遲時(shí)間為:1/2r 1/2r v傳輸時(shí)間傳輸時(shí)間 b b為

39、每次讀為每次讀/ /寫的字節(jié)數(shù),寫的字節(jié)數(shù),r r為磁盤每秒的轉(zhuǎn)數(shù),為磁盤每秒的轉(zhuǎn)數(shù),N N為一條磁道上的字節(jié)數(shù)。為一條磁道上的字節(jié)數(shù)。 可將訪問時(shí)間可將訪問時(shí)間T Ta a表示為表示為: : 旋轉(zhuǎn)和尋道時(shí)間占訪問時(shí)間中的大頭旋轉(zhuǎn)和尋道時(shí)間占訪問時(shí)間中的大頭3. 3. 磁盤訪問時(shí)間磁盤訪問時(shí)間調(diào)度與死鎖v目標(biāo):平均尋道時(shí)間最少目標(biāo):平均尋道時(shí)間最少v算法:先來先服務(wù)、最短尋道時(shí)間優(yōu)先及掃描等算法:先來先服務(wù)、最短尋道時(shí)間優(yōu)先及掃描等5.6.2 5.6.2 磁盤調(diào)度磁盤調(diào)度調(diào)度與死鎖v 先來先服務(wù)先來先服務(wù)FCFS (First Come First Served)FCFS (First Com

40、e First Served)v 優(yōu)點(diǎn):優(yōu)點(diǎn): 公平,簡單公平,簡單v 缺點(diǎn):缺點(diǎn): 平均尋道距離大平均尋道距離大v 適用范圍:適用范圍: 請(qǐng)求磁盤請(qǐng)求磁盤I/OI/O的進(jìn)程較少的場合的進(jìn)程較少的場合5.6.2 5.6.2 磁盤調(diào)度磁盤調(diào)度調(diào)度與死鎖v優(yōu)點(diǎn):優(yōu)點(diǎn): 平均尋道距離最短平均尋道距離最短v缺點(diǎn):缺點(diǎn): 不公平不公平 產(chǎn)生進(jìn)程產(chǎn)生進(jìn)程“饑餓饑餓”2. 2. 最短尋道時(shí)間優(yōu)先最短尋道時(shí)間優(yōu)先(SSTFSSTF:Shortest Seek Time First)Shortest Seek Time First)調(diào)度與死鎖在在SSTFSSTF算法中,只要不斷有新進(jìn)程的請(qǐng)求到算法中,只要不斷有

41、新進(jìn)程的請(qǐng)求到達(dá),且其所要訪問的磁道與磁頭當(dāng)前所在磁達(dá),且其所要訪問的磁道與磁頭當(dāng)前所在磁道的距離較近,這種新進(jìn)程的道的距離較近,這種新進(jìn)程的I/OI/O請(qǐng)求必須請(qǐng)求必須優(yōu)先滿足。優(yōu)先滿足。可能出現(xiàn)情況:有的老進(jìn)程總也得不到執(zhí)行可能出現(xiàn)情況:有的老進(jìn)程總也得不到執(zhí)行進(jìn)程進(jìn)程“饑餓饑餓”現(xiàn)象現(xiàn)象調(diào)度與死鎖v 又稱又稱“電梯調(diào)度電梯調(diào)度”算法算法v 優(yōu)先考慮磁頭當(dāng)前的移優(yōu)先考慮磁頭當(dāng)前的移動(dòng)方向動(dòng)方向v 存在問題:要求訪問磁存在問題:要求訪問磁頭剛經(jīng)過的磁道。頭剛經(jīng)過的磁道。3. SCAN3. SCAN算法算法調(diào)度與死鎖4. 4. 循環(huán)掃描(循環(huán)掃描(CSCANCSCAN)算法)算法規(guī)定磁頭單向移

42、動(dòng)規(guī)定磁頭單向移動(dòng)調(diào)度與死鎖v SSTFSSTF、 SCANSCAN及及CSCANCSCAN幾種調(diào)度算法可能產(chǎn)生幾種調(diào)度算法可能產(chǎn)生“磁盤粘著磁盤粘著”現(xiàn)現(xiàn)象。象。v 一個(gè)或幾個(gè)進(jìn)程反復(fù)請(qǐng)求對(duì)某一磁道的一個(gè)或幾個(gè)進(jìn)程反復(fù)請(qǐng)求對(duì)某一磁道的I/OI/O操作,從而壟斷了操作,從而壟斷了整個(gè)磁盤設(shè)備。這一現(xiàn)象稱為磁臂粘著。整個(gè)磁盤設(shè)備。這一現(xiàn)象稱為磁臂粘著。vNStepSCANNStepSCAN掃描算法掃描算法 將磁盤請(qǐng)求隊(duì)列分成若干個(gè)長度為將磁盤請(qǐng)求隊(duì)列分成若干個(gè)長度為N N的子隊(duì)列,磁盤調(diào)度的子隊(duì)列,磁盤調(diào)度將按將按FCFSFCFS算法依次處理這些子隊(duì)列。而每處理一個(gè)隊(duì)列時(shí)算法依次處理這些子隊(duì)列。

43、而每處理一個(gè)隊(duì)列時(shí)又是按又是按SCANSCAN算法,對(duì)一個(gè)隊(duì)列處理完后,再處理其他隊(duì)列。算法,對(duì)一個(gè)隊(duì)列處理完后,再處理其他隊(duì)列。 當(dāng)當(dāng)N N很大時(shí),很大時(shí),NStepSCANNStepSCAN蛻化為蛻化為SCANSCAN。 當(dāng)當(dāng)N N1 1時(shí),時(shí), NStepSCANNStepSCAN蛻化為蛻化為FCFSFCFS。5. 5. NStepSCANNStepSCAN算法算法調(diào)度與死鎖 FSCANFSCAN算法實(shí)質(zhì)上是算法實(shí)質(zhì)上是N N步步SCANSCAN算法的簡化。算法的簡化。 FSCANFSCAN只將磁盤請(qǐng)求隊(duì)列分成只將磁盤請(qǐng)求隊(duì)列分成兩個(gè)子隊(duì)列兩個(gè)子隊(duì)列。一個(gè)是由。一個(gè)是由當(dāng)前所有請(qǐng)求磁盤當(dāng)

44、前所有請(qǐng)求磁盤I/OI/O的進(jìn)程形成的隊(duì)列,由磁盤調(diào)的進(jìn)程形成的隊(duì)列,由磁盤調(diào)度按度按SCANSCAN算法進(jìn)行處理。在掃描期間,將新出現(xiàn)的所算法進(jìn)行處理。在掃描期間,將新出現(xiàn)的所有請(qǐng)求磁盤有請(qǐng)求磁盤I/OI/O的進(jìn)程,放入另一個(gè)等待處理的請(qǐng)求的進(jìn)程,放入另一個(gè)等待處理的請(qǐng)求隊(duì)列。所有新請(qǐng)求都被推遲到下一次掃描時(shí)處理。隊(duì)列。所有新請(qǐng)求都被推遲到下一次掃描時(shí)處理。6. FSCAN6. FSCAN算法算法調(diào)度與死鎖5.6.3 5.6.3 磁盤高速緩存(磁盤高速緩存(Disk CacheDisk Cache)調(diào)度與死鎖 高速緩存是一組在邏輯上屬于磁盤,而物理上是駐留在內(nèi)高速緩存是一組在邏輯上屬于磁盤,而物理上是駐留在內(nèi)存中的盤塊。存中的盤塊。 高速緩存存在的形式高速緩存存在的形式在內(nèi)在中開辟大小固定,獨(dú)立的存儲(chǔ)空間。在內(nèi)在中開辟大小固定,獨(dú)立的存儲(chǔ)空間。把所有未利用的內(nèi)存空間變?yōu)橐粋€(gè)緩沖池,供請(qǐng)求分把所有未利用的內(nèi)存空間變?yōu)橐粋€(gè)緩沖池,供請(qǐng)求分頁系統(tǒng)和磁盤頁系統(tǒng)和磁盤I/OI/O時(shí)時(shí)( (作為磁盤高速緩存作為磁盤高速緩存) )共享。共享。1. 1. 磁盤高速緩存的形式磁盤高速緩存的形式調(diào)度與死鎖 將磁盤高速緩

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論