計(jì)算機(jī)操作系統(tǒng)教程第七章:設(shè)備管理_第1頁
計(jì)算機(jī)操作系統(tǒng)教程第七章:設(shè)備管理_第2頁
計(jì)算機(jī)操作系統(tǒng)教程第七章:設(shè)備管理_第3頁
計(jì)算機(jī)操作系統(tǒng)教程第七章:設(shè)備管理_第4頁
計(jì)算機(jī)操作系統(tǒng)教程第七章:設(shè)備管理_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第七章設(shè)備管理進(jìn)入狀態(tài)退出狀態(tài)后備狀態(tài)運(yùn)行狀態(tài)數(shù)據(jù)數(shù)據(jù)源程序作業(yè)說明書輸入設(shè)備輸入井輸出設(shè)備輸出井運(yùn)行就緒等待磁盤……設(shè)備管理外設(shè)的特點(diǎn)種類多差異大(控制和速度)外設(shè)管理目的包括外設(shè)資源的控制外設(shè)資源的共享提高外設(shè)資源的利用率。第七章設(shè)備管理7.1I/O系統(tǒng)

7.1.1I/O設(shè)備I/O設(shè)備類型按交互對象分類人機(jī)交互設(shè)備:視頻顯示設(shè)備、鍵盤、鼠標(biāo)、打印機(jī)與計(jì)算機(jī)或其他電子設(shè)備交互的設(shè)備:磁盤、磁帶、傳感器、控制器計(jì)算機(jī)間的通信設(shè)備:網(wǎng)卡、調(diào)制解調(diào)器第七章設(shè)備管理I/O設(shè)備類型按交互方向分類輸入(可讀):鍵盤、掃描儀輸出(可寫):顯示設(shè)備、打印機(jī)輸入/輸出(可讀寫):磁盤、網(wǎng)卡7.1I/O系統(tǒng)

7.1.1I/O設(shè)備從程序使用角度分類邏輯設(shè)備:用戶程序中使用的設(shè)備物理設(shè)備:實(shí)際完成I/O操作的設(shè)備第七章設(shè)備管理I/O設(shè)備類型按外設(shè)特性分類使用特征:存儲(chǔ)、輸入/輸出、終端數(shù)據(jù)傳輸率:低速(如鍵盤)、中速(如打印機(jī))、高速(如網(wǎng)卡、磁盤)信息組織特征:單個(gè)字符或數(shù)據(jù)塊字符設(shè)備(如打印機(jī)):通常的輸入輸出型設(shè)備,以字符為單位存儲(chǔ)、傳輸信息;不可尋址塊設(shè)備(如磁盤):以數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息。可尋址7.1I/O系統(tǒng)

7.1.1I/O設(shè)備第七章設(shè)備管理I/O設(shè)備類型按資源分配角度分類獨(dú)占設(shè)備:在一段時(shí)間內(nèi)只能有一個(gè)進(jìn)程使用的設(shè)備,一般為低速I/O設(shè)備。如打印機(jī),磁帶等。共享設(shè)備:在一段時(shí)間內(nèi)可有多個(gè)進(jìn)程共同使用的設(shè)備,多個(gè)進(jìn)程以交叉的方式來使用設(shè)備,其資源利用率高。(如硬盤)7.1I/O系統(tǒng)

7.1.1I/O設(shè)備第七章設(shè)備管理I/O設(shè)備類型按資源分配角度分類虛設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備.(實(shí)例:SPOOLing技術(shù),利用虛設(shè)備技術(shù)——用硬盤模擬輸入輸出設(shè)備)7.1I/O系統(tǒng)

7.1.1I/O設(shè)備第七章設(shè)備管理設(shè)備與控制器之間的接口7.1I/O系統(tǒng)

7.1.1I/O設(shè)備緩沖轉(zhuǎn)換器控制邏輯數(shù)據(jù)線狀態(tài)線控制線信號數(shù)據(jù)I/O設(shè)備在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號作為設(shè)備控制器向I/O設(shè)備發(fā)送控制信號的通路第七章設(shè)備管理提高效率:提高I/O訪問效率,匹配CPU和多種不同處理速度的外設(shè)方便使用:方便用戶使用,對不同類型的設(shè)備統(tǒng)一使用方法,協(xié)調(diào)對設(shè)備的并發(fā)使用方便控制:方便OS內(nèi)部對設(shè)備的控制:增加和刪除設(shè)備,適應(yīng)新的設(shè)備類型7.1I/O系統(tǒng)

7.1.2I/O管理的目的第七章設(shè)備管理設(shè)備獨(dú)立性:又稱設(shè)備無關(guān)性,即應(yīng)用程序所涉及的I/O設(shè)備與系統(tǒng)中具體使用的物理設(shè)備相互無關(guān)系統(tǒng)建立邏輯設(shè)備與物理設(shè)備的映射機(jī)制,應(yīng)用進(jìn)程通過邏輯設(shè)備名申請I/O,系統(tǒng)通過物理設(shè)備的驅(qū)動(dòng)和控制實(shí)現(xiàn)具體的I/O提高了設(shè)備分配的靈活性易于實(shí)現(xiàn)I/O重定向7.1I/O系統(tǒng)

7.1.3I/O軟件設(shè)計(jì)目標(biāo)第七章設(shè)備管理統(tǒng)一命名:對各類設(shè)備采用預(yù)先設(shè)計(jì)的、統(tǒng)一的邏輯名稱命名,而不依賴于具體設(shè)備層次結(jié)構(gòu):組成I/O軟件的各個(gè)程序按照其功能和彼此接口劃分成若干層次,與用戶I/O程序相關(guān)的部分在高層,直接與硬件動(dòng)作相關(guān)的部分在低層高效率:合理分配各種設(shè)備,盡可能提高外設(shè)和CPU、外設(shè)之間的并行性7.1I/O系統(tǒng)

7.1.3I/O軟件設(shè)計(jì)目標(biāo)第七章設(shè)備管理提供設(shè)備使用的用戶接口:命令接口和編程接口設(shè)備分配和釋放:使用設(shè)備前,需要分配設(shè)備和相應(yīng)的通道、控制器。設(shè)備的訪問和控制:包括并發(fā)訪問和差錯(cuò)處理(虛擬設(shè)備)。I/O緩沖和調(diào)度:目標(biāo)是提高I/O訪問效率7.1I/O系統(tǒng)

7.1.4I/O管理的功能第七章設(shè)備管理UserProcessLogicalI/ODeviceI/OScheduling&Control(DeviceDriver)HardwareCommunicationsArchitecture7.1I/O系統(tǒng)

7.1.5I/O管理結(jié)構(gòu)第七章設(shè)備管理邏輯I/O:邏輯設(shè)備(也稱為虛擬設(shè)備)實(shí)體,不涉及實(shí)際的設(shè)備控制;針對用戶接口,提供抽象的命令,如:Open,Close,Read,Write針對通信設(shè)備,則是通信體系結(jié)構(gòu),如網(wǎng)絡(luò)協(xié)議棧針對文件存儲(chǔ)設(shè)備,是文件系統(tǒng)的邏輯結(jié)構(gòu)控制設(shè)備I/O:邏輯設(shè)備與物理設(shè)備間的過渡協(xié)調(diào)機(jī)構(gòu)。用戶命令到設(shè)備操作序列的轉(zhuǎn)換I/O緩沖:提高I/O效率7.1I/O系統(tǒng)

7.1.5I/O管理結(jié)構(gòu)第七章設(shè)備管理調(diào)度和控制:物理設(shè)備控制實(shí)體;直接面對硬件設(shè)備的控制細(xì)節(jié)。這部分通常體現(xiàn)為設(shè)備驅(qū)動(dòng)程序。并發(fā)I/O訪問調(diào)度設(shè)備控制和狀態(tài)維護(hù)中斷處理7.1I/O系統(tǒng)

7.1.5I/O管理結(jié)構(gòu)第七章設(shè)備管理I/O操作由程序發(fā)起,并等待操作完成。數(shù)據(jù)的每次讀寫通過CPU。缺點(diǎn)在外設(shè)進(jìn)行數(shù)據(jù)處理時(shí),CPU只能等待CPU與外設(shè)只能串行工作用于CPU執(zhí)行速度較慢,且外圍設(shè)備較少的系統(tǒng)7.2I/O控制方式

7.2.1程序I/O方式第七章設(shè)備管理處理過程7.2I/O控制方式

7.2.1程序I/O方式CPU執(zhí)行下一條指令開始數(shù)據(jù)傳送否是外圍設(shè)備是否等待發(fā)Start指令設(shè)備標(biāo)志觸發(fā)器為“Done”?接收到Start指令作接收或發(fā)送數(shù)據(jù)準(zhǔn)備準(zhǔn)備好?標(biāo)志觸發(fā)器置為“Done”等待CPU來的下一條指令第七章設(shè)備管理I/O操作由程序發(fā)起,在操作完成時(shí)(如數(shù)據(jù)可讀或已經(jīng)寫入)由外設(shè)向CPU發(fā)出中斷,通知該程序。數(shù)據(jù)的每次讀寫通過CPU。優(yōu)點(diǎn):在外設(shè)進(jìn)行數(shù)據(jù)處理時(shí),CPU不必等待,可以繼續(xù)執(zhí)行該程序或其他程序。缺點(diǎn):CPU每次處理的數(shù)據(jù)量少(通常不超過幾個(gè)字節(jié)),只適于數(shù)據(jù)傳輸率較低的設(shè)備。7.2I/O控制方式

7.2.2程序中斷方式第七章設(shè)備管理接收到CPU發(fā)來的Start指令緩沖寄存器滿?設(shè)備控制器發(fā)中斷信號是CPU調(diào)度程序調(diào)度其它進(jìn)程收到中斷信號了嗎?中斷處理被中斷進(jìn)程執(zhí)行是否準(zhǔn)備數(shù)據(jù)并將其置入緩沖寄存器否向設(shè)備發(fā)Start指令,置中斷允許位為“1”其它進(jìn)程執(zhí)行

處理過程7.2I/O控制方式

7.2.2程序中斷方式第七章設(shè)備管理由程序設(shè)置DMA控制器中的若干寄存器值(如內(nèi)存始址,傳送字節(jié)數(shù)),然后發(fā)起I/O操作,而后者完成內(nèi)存與外設(shè)的成批數(shù)據(jù)交換,在操作完成時(shí)由DMA控制器向CPU發(fā)出中斷。優(yōu)點(diǎn):CPU只需干預(yù)I/O操作的開始和結(jié)束,而其中的一批數(shù)據(jù)讀寫無需CPU控制,適于高速設(shè)備。7.2I/O控制方式

7.2.3直接存儲(chǔ)器存取方式(DMA)第七章設(shè)備管理DataCountDataRegisterAddressRegisterControlLogicDMARequestDMAAcknowledgeInterruptReadWriteAddressLinesDataLinesI/O控制器結(jié)構(gòu)7.2I/O控制方式

7.2.3直接存儲(chǔ)器存取方式第七章設(shè)備管理7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)

——通道控制器(ChannelController)有自己的專用存儲(chǔ)器;可以執(zhí)行由通道指令組成的通道程序;可以進(jìn)行較為復(fù)雜的I/O控制,如網(wǎng)卡上信道訪問控制;通道程序通常由操作系統(tǒng)所構(gòu)造,放在內(nèi)存里。第七章設(shè)備管理7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)——引入通道的目的與優(yōu)點(diǎn)目的為了使CPU從I/O事務(wù)中解脫出來,同時(shí)為了提高CPU與設(shè)備,設(shè)備與設(shè)備之間的并行工作能力。優(yōu)點(diǎn)執(zhí)行一個(gè)通道程序可以完成幾批I/O操作。第七章設(shè)備管理7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)——通道分類選擇通道(selectorchannel):可以連接多個(gè)外設(shè),而一次只能訪問其中一個(gè)外設(shè)成組多路通道(Blockmultiplexorchannel):可以并發(fā)訪問多個(gè)外設(shè),同時(shí)連接多個(gè)中速塊設(shè)備。字節(jié)多路通道:多個(gè)字符設(shè)備第七章設(shè)備管理7.2I/O控制技術(shù)

7.2.4通道控制方式(channelcontrol)——通道分類——字節(jié)多路通道字節(jié)多路通道以字節(jié)為單位傳輸信息,它可以分時(shí)地執(zhí)行多個(gè)通道程序。當(dāng)一個(gè)通道程序控制某臺(tái)設(shè)備傳送一個(gè)字節(jié)后,通道硬件就控制轉(zhuǎn)去執(zhí)行另一個(gè)通道程序,控制另一臺(tái)設(shè)備傳送信息;主要連接以字節(jié)為單位的低速I/O設(shè)備。如打印機(jī),終端。第七章設(shè)備管理

字節(jié)多路通道的工作原理7.2I/O控制技術(shù)

7.2.4通道控制方式(channelcontrol)——通道分類——字節(jié)多路通道控制器A控制器B控制器C控制器N……A1B1C1…N1….AnBnCn…NnA1A2A3…

子通道AB1B2B3…

子通道BC1C2C3…

子通道CN1N2N3…

子通道N設(shè)備字節(jié)多路通道工作原理第七章設(shè)備管理選擇通道是以成組方式工作的,即每次傳送一批數(shù)據(jù),故傳送速度很高。選擇通道在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸選擇通道當(dāng)這臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺(tái)設(shè)備,執(zhí)行它的相應(yīng)的通道程序主要連接磁盤、磁帶等高速I/O設(shè)備7.2I/O控制技術(shù)

7.2.4通道控制方式(channelcontrol)——通道分類——選擇通道第七章設(shè)備管理它結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進(jìn)行分時(shí)并行操作的優(yōu)點(diǎn)。它先為一臺(tái)設(shè)備執(zhí)行一條通道指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令主要連接高速設(shè)備對于連接多臺(tái)磁盤機(jī)的數(shù)組多路通道,它可以啟動(dòng)它們同時(shí)執(zhí)行移臂定位操作,然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對通道程序采用多道程序設(shè)計(jì)的硬件實(shí)現(xiàn)7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)——通道分類——成組多路通道第七章設(shè)備管理硬件連接結(jié)構(gòu)

7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)CPU內(nèi)存通道控制設(shè)備第七章設(shè)備管理通道:執(zhí)行通道程序,向控制器發(fā)出命令,并具有向CPU發(fā)中斷信號的功能。一旦CPU發(fā)出指令,啟動(dòng)通道,則通道獨(dú)立于CPU工作。一個(gè)通道可連接多個(gè)控制器,一個(gè)控制器可連接多個(gè)設(shè)備,形成樹形交叉連接主要目的是啟動(dòng)外設(shè)時(shí):提高控制器效率提高可靠性提高并行度7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)第七章設(shè)備管理設(shè)備、控制器、通道、內(nèi)存之間的關(guān)系(單通道I/O系統(tǒng))7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)存儲(chǔ)器通道1通道2控制器1控制器2I/O設(shè)備1I/O設(shè)備2I/O設(shè)備3I/O設(shè)備4控制器1控制器2I/O設(shè)備5I/O設(shè)備6I/O設(shè)備7I/O設(shè)備8第七章設(shè)備管理設(shè)備、控制器、通道、內(nèi)存之間的關(guān)系(多通道I/O系統(tǒng),交叉連接)7.2I/O控制方式

7.2.4通道控制方式(channelcontrol)存儲(chǔ)器通道1通道2控制器1控制器2I/O設(shè)備1I/O設(shè)備2I/O設(shè)備3I/O設(shè)備4第七章設(shè)備管理緩沖區(qū)CPU外設(shè)緩和CPU與I/O設(shè)備之間速度不匹配的矛盾減少對CPU的中斷頻率,放寬對CPU中斷響應(yīng)時(shí)間的限制提高CPU和I/O設(shè)備之間的并行性7.3緩沖技術(shù)

7.3.1緩沖的引入第七章設(shè)備管理磁盤高速緩存:利用內(nèi)存中的存儲(chǔ)空間暫存從磁盤中讀出的一系列盤塊中的信息(并非組成原理中的Cache)是一組在邏輯上屬于磁盤、而物理上駐留在內(nèi)存中的盤塊兩種形式在內(nèi)存中開辟一單獨(dú)存儲(chǔ)空間作為高速緩存把所有未利用的內(nèi)存空間作為高速緩存7.3緩沖技術(shù)

7.3.2高速緩存第七章設(shè)備管理單緩沖:一個(gè)緩沖區(qū),CPU和外設(shè)輪流使用,一方處理完之后接著等待對方處理7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖操作系統(tǒng)用戶進(jìn)程緩沖區(qū)工作區(qū)I/O設(shè)備輸入傳送TMC處理T1M1C1T2M2C2T3M3C3T4M4C4T5t系統(tǒng)處理每一塊數(shù)據(jù)的時(shí)間為:Max(C,T)+M第七章設(shè)備管理雙緩沖:兩個(gè)緩沖區(qū),CPU和外設(shè)都可以連續(xù)處理而無需等待對方。要求CPU和外設(shè)的速度相近7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖操作系統(tǒng)用戶進(jìn)程緩沖區(qū)1工作區(qū)緩沖區(qū)2I/O設(shè)備傳送輸入TMC處理系統(tǒng)處理每一塊數(shù)據(jù)的時(shí)間大約為:Max(C,T)T1M1C1T2M2C2T3M3C3T4M4C4T5t第七章設(shè)備管理環(huán)形緩沖:多個(gè)緩沖區(qū),CPU和外設(shè)的處理速度可以相差較大7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖操作系統(tǒng)用戶進(jìn)程緩沖區(qū)1工作區(qū)緩沖區(qū)2緩沖區(qū)nI/O設(shè)備傳送輸入TMC處理第七章設(shè)備管理環(huán)形緩沖操作系統(tǒng)用戶進(jìn)程緩沖區(qū)1工作區(qū)緩沖區(qū)2緩沖區(qū)nI/O設(shè)備傳送輸入TMC處理組成RRGGGG123456NextiNextgRRCGGG123456NextiCurrentNextg多個(gè)緩沖區(qū):用于輸入數(shù)據(jù)的空緩沖區(qū)R、已裝滿數(shù)據(jù)的緩沖區(qū)G、計(jì)算進(jìn)程正在使用的現(xiàn)行緩沖區(qū)C多個(gè)指針:Nextg:計(jì)算進(jìn)程下次可用Nexti:輸入進(jìn)程下次可用Current:計(jì)算進(jìn)程正在使用緩沖區(qū)使用、進(jìn)程同步第七章設(shè)備管理

環(huán)形緩沖區(qū)的使用Getbuf過程:當(dāng)計(jì)算進(jìn)程需要使用緩沖區(qū)的數(shù)據(jù)時(shí)調(diào)用Getbuf過程。將指針Nextg所指示的緩沖區(qū)提供給計(jì)算進(jìn)程使用;將該緩沖區(qū)改為現(xiàn)行工作緩沖區(qū);令Current指針指向該緩沖區(qū)的第一個(gè)單元;將Nextg移向下一個(gè)G緩沖區(qū)。7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖RRGGGG123456NextiNextgCCurrentNextgRRCGGG123456NextiCurrentNextg第七章設(shè)備管理

環(huán)形緩沖區(qū)的使用Getbuf過程:當(dāng)輸入進(jìn)程需要使用空緩沖區(qū)來裝入數(shù)據(jù)時(shí)也調(diào)用Getbuf過程。將指針Nexti所指示的緩沖區(qū)提供給輸入進(jìn)程使用;將Nexti移向下一個(gè)R緩沖區(qū)。7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖RRGGGG123456NextiNextgNextiRRGGGG123456NextgNexti第七章設(shè)備管理

環(huán)形緩沖區(qū)的使用Releasebuf過程:當(dāng)計(jì)算進(jìn)程把C緩沖區(qū)數(shù)據(jù)提取完時(shí),調(diào)用Releasebuf過程。將C緩沖區(qū)釋放;將該緩沖區(qū)由當(dāng)前工作緩沖區(qū)C改為空緩沖區(qū)R。7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖RRCGGG123456NextiCurrentNextgRRRRGGG123456NextiNextg第七章設(shè)備管理

環(huán)形緩沖區(qū)的使用Releasebuf過程:當(dāng)輸入進(jìn)程把緩沖區(qū)裝滿時(shí),調(diào)用Releasebuf過程。將緩沖區(qū)釋放;將該緩沖區(qū)改為滿緩沖區(qū)G。7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖RRGGGG123456NextgNextiGGRGGGG123456NextgNexti第七章設(shè)備管理

環(huán)形緩沖區(qū)使用時(shí)的進(jìn)程同步7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖RRGGGG123456NextiNextgRNextgGNextiRNextgGNextiRNextg第七章設(shè)備管理

環(huán)形緩沖區(qū)使用時(shí)的進(jìn)程同步7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖GGRRGR123456NextiNextgGGRRGR123456NextiNextgGNextiGNextiGNexti?第七章設(shè)備管理

環(huán)形緩沖區(qū)使用時(shí)的進(jìn)程同步7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖GGRRGR123456NextiNextgGGGGGG123456NextgNexti?GGRRGR123456NextiNextgRNextgRNextgRNextg?第七章設(shè)備管理

環(huán)形緩沖區(qū)使用時(shí)的進(jìn)程同步使用環(huán)形緩沖,可使輸入進(jìn)程與計(jì)算進(jìn)程并發(fā)執(zhí)行,指針Nexti和Nextg不斷沿順時(shí)針方向移動(dòng),可能出現(xiàn):Nexti追上Nextg,輸入進(jìn)程輸入數(shù)據(jù)的速度大于計(jì)算進(jìn)程處理數(shù)據(jù)的速度,已將全部緩沖區(qū)裝滿(均為G或C),輸入進(jìn)程阻塞,直到計(jì)算進(jìn)程使R出現(xiàn),并調(diào)用Releasebuf將其釋放,喚醒輸入進(jìn)程;Nextg追上Nexti,計(jì)算進(jìn)程處理數(shù)據(jù)的速度大于輸入進(jìn)程輸入數(shù)據(jù)的速度,已將全部緩沖區(qū)抽空(均為R),計(jì)算進(jìn)程阻塞,直到輸入進(jìn)程使G出現(xiàn),并調(diào)用Releasebuf將其釋放,喚醒計(jì)算進(jìn)程。7.3緩沖技術(shù)

7.3.3單緩沖與雙緩沖GRGGGG123456NextgNexti系統(tǒng)受計(jì)算限制系統(tǒng)受I/O限制第七章設(shè)備管理緩沖池組成三種緩沖區(qū)空閑緩沖區(qū)裝滿輸入數(shù)據(jù)的緩沖區(qū)裝滿輸出數(shù)據(jù)的緩沖區(qū)構(gòu)成三個(gè)緩沖區(qū)隊(duì)列:emq、inq、outq7.3緩沖技術(shù)

7.3.4緩沖池emqinqoutq第七章設(shè)備管理緩沖池組成三種緩沖區(qū)隊(duì)列四個(gè)工作緩沖區(qū):收容輸入數(shù)據(jù)hin、提取輸入數(shù)據(jù)sin、收容輸出數(shù)據(jù)hout、提取輸出數(shù)據(jù)sout7.3緩沖技術(shù)

7.3.4緩沖池應(yīng)用進(jìn)程hinsinhoutsout收容輸入提取輸入提取輸出收容輸出第七章設(shè)備管理緩沖池組成三種緩沖區(qū)隊(duì)列:emq,inq,outq四個(gè)工作緩沖區(qū):hin,sin,hout,sout四種操作:收容輸入、提取輸入、收容輸出、提取輸出7.3緩沖技術(shù)

7.3.4緩沖池應(yīng)用進(jìn)程emqinqoutqhinsinhoutsout收容輸入提取輸入提取輸出收容輸出算法、互斥取emq

作為hin

放inq取outq

作為sout

放emq取inq

作為sin放emq取emq

作為hout

放outq第七章設(shè)備管理Getbuf和Putbuf過程(對緩沖池的隊(duì)列操作)Addbuf(type,number)過程:將由參數(shù)number所指示的緩沖區(qū)B掛在type隊(duì)列上;Takebuf(type)過程:從type所指示的隊(duì)列的隊(duì)首摘下一個(gè)緩沖區(qū)。為每個(gè)隊(duì)列設(shè)置互斥信號量MS(type)、資源信號量RS(type)7.3緩沖技術(shù)

7.3.4緩沖池ProcedureGetbuf(type)

P(RS(type));

P(MS(type));

B(number)=Takebuf(type);

V(MS(type));ProcedurePutbuf(type,number)

P(MS(type));

Addbuf(type,number);

V(MS(type));

V(RS(type));第七章設(shè)備管理緩沖區(qū)的工作方式7.3緩沖技術(shù)

7.3.4緩沖池收容輸入:hin=Getbuf(emq);輸入數(shù)據(jù)至hin;Putbuf(inq,hin)應(yīng)用進(jìn)程emqinqoutqhinsinhoutsout收容輸入提取輸入提取輸出收容輸出第七章設(shè)備管理緩沖區(qū)的工作方式7.3緩沖技術(shù)

7.3.4緩沖池收容輸入:hin=Getbuf(emq);輸入數(shù)據(jù)至hin;Putbuf(inq,hin)提取輸入:sin=Getbuf(inq);從hin提取數(shù)據(jù);Putbuf(emq,sin)應(yīng)用進(jìn)程emqinqoutqhinsinhoutsout收容輸入提取輸入提取輸出收容輸出第七章設(shè)備管理緩沖區(qū)的工作方式7.3緩沖技術(shù)

7.3.4緩沖池收容輸入:hin=Getbuf(emq);輸入數(shù)據(jù)至hin;Putbuf(inq,hin)提取輸入:sin=Getbuf(inq);從hin提取數(shù)據(jù);Putbuf(emq,sin)收容輸出:hout=Getbuf(emq);將hout裝滿數(shù)據(jù);Putbuf(outq,hout)應(yīng)用進(jìn)程emqinqoutqhinsinhoutsout收容輸入提取輸入提取輸出收容輸出第七章設(shè)備管理緩沖區(qū)的工作方式7.3緩沖技術(shù)

7.3.4緩沖池收容輸入:hin=Getbuf(emq);輸入數(shù)據(jù)至hin;Putbuf(inq,hin)提取輸入:sin=Getbuf(inq);從hin提取數(shù)據(jù);Putbuf(emq,sin)收容輸出:hout=Getbuf(emq);將hout裝滿數(shù)據(jù);Putbuf(outq,hout)提取輸出:sout=Getbuf(outq);從hout提取數(shù)據(jù);Putbuf(emq,sout)應(yīng)用進(jìn)程emqinqoutqhinsinhoutsout收容輸入提取輸入提取輸出收容輸出第七章設(shè)備管理設(shè)備控制表(OCT):每個(gè)設(shè)備一張,記錄本設(shè)備的情況7.4設(shè)備分配與回收

7.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)OCT1OCT2OCTn設(shè)備控制表集合設(shè)備類型:type設(shè)備標(biāo)識符:deviceid設(shè)備狀態(tài):等待/不等待忙/閑指向控制器表的指針重復(fù)執(zhí)行次數(shù)或時(shí)間設(shè)備隊(duì)列的隊(duì)首指針第七章設(shè)備管理控制器控制表(COCT):每個(gè)控制器一張,記錄本控制器的情況;通道控制表(CHCT):每個(gè)通道一張。7.4設(shè)備分配與回收

7.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)控制器標(biāo)識符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)尾指針通道標(biāo)識符:channerid通道狀態(tài):忙/閑與通道連接的控制器表指針通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)尾指針第七章設(shè)備管理系統(tǒng)設(shè)備表(SDT):記錄系統(tǒng)中全部設(shè)備的情況,每個(gè)設(shè)備占一個(gè)表目。7.4設(shè)備分配與回收

7.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)表目1表目i……設(shè)備類設(shè)備標(biāo)識符DCT驅(qū)動(dòng)程序入口第七章設(shè)備管理7.4設(shè)備分配與回收

7.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)表目1表目i……設(shè)備類設(shè)備標(biāo)識符DCT驅(qū)動(dòng)程序入口設(shè)備類型:type設(shè)備標(biāo)識符:deviceid設(shè)備狀態(tài):等待/不等待忙/閑指向控制器表的指針重復(fù)執(zhí)行次數(shù)或時(shí)間設(shè)備隊(duì)列的隊(duì)首指針通道標(biāo)識符:channerid通道狀態(tài):忙/閑與通道連接的控制器表指針通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)尾指針控制器標(biāo)識符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)尾指針DCTCOCTSDTCHCT第七章設(shè)備管理設(shè)備的固有屬性

獨(dú)占性:一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程獨(dú)占共享性:允許多個(gè)進(jìn)程同時(shí)共享可虛擬設(shè)備:設(shè)備本身獨(dú)占,但經(jīng)某種技術(shù)處理,可將其改造成虛擬設(shè)備分配策略獨(dú)占分配:分配給一個(gè)進(jìn)程,該進(jìn)程釋放設(shè)備后,再將進(jìn)程分配給另一進(jìn)程共享分配:分配給多個(gè)進(jìn)程,注意訪問順序和合理調(diào)度虛擬分配:采用虛擬技術(shù)后,按共享設(shè)備分配7.4設(shè)備分配與回收

7.4.2設(shè)備分配時(shí)考慮的因素第七章設(shè)備管理先來先服務(wù):當(dāng)多個(gè)進(jìn)程對同一設(shè)備提出I/O請求時(shí),按照進(jìn)程對設(shè)備提出請求的先后順序排隊(duì)優(yōu)先級高者優(yōu)先:優(yōu)先級高者排在設(shè)備隊(duì)列前面,優(yōu)先級相同者,按照先來先服務(wù)原則排隊(duì)7.4設(shè)備分配與回收

7.4.3設(shè)備分配算法7.4.4設(shè)備分配中的安全性安全分配方式:進(jìn)程發(fā)出I/O請求后,便進(jìn)入阻塞狀態(tài)(不能再請求其他任何資源),直到其I/O操作完成時(shí)才被喚醒——不會(huì)死鎖不安全分配方式:進(jìn)程發(fā)出I/O請求后仍繼續(xù)運(yùn)行,需要時(shí)又發(fā)出第二、三、…個(gè)I/O請求,僅當(dāng)其請求設(shè)備被另一進(jìn)程占用時(shí),請求進(jìn)程才被阻塞——可能死鎖第七章設(shè)備管理基本的設(shè)備分配程序分配設(shè)備:根據(jù)物理設(shè)備名,查SDT,找出DCT,根據(jù)DCT狀態(tài)字,判斷設(shè)備忙否,若忙,將請求進(jìn)程的PCB掛在設(shè)備隊(duì)列上;否則,考慮安全分配;分配設(shè)備控制器:將設(shè)備分配給請求進(jìn)程后,到其DCT中找出與該設(shè)備連接的控制器的COCT,根據(jù)狀態(tài)自判斷其忙否,若忙,將請求進(jìn)程的PCB掛在設(shè)備控制器的等待隊(duì)列上;否則,分配;分配通道:在COCT中找到相關(guān)通道的CHCT,根據(jù)其狀態(tài)字判斷通道忙否,若忙,將請求進(jìn)程的PCB掛在該通道的等待隊(duì)列上;不忙,分配。7.4設(shè)備分配與回收

7.4.5獨(dú)占設(shè)備的分配程序只有在設(shè)備、控制器和通道三者都分配成功時(shí),此次設(shè)備分配才成功。然后,可啟動(dòng)該I/O設(shè)備進(jìn)行數(shù)據(jù)傳送。第七章設(shè)備管理為進(jìn)程P分配所需的I/O設(shè)備從SDT表查該類設(shè)備的控制表DCT由DCT檢查該設(shè)備忙否?不忙檢查分配此設(shè)備的安全性?不安全分配此設(shè)備給進(jìn)程P查此設(shè)備連接的COCT忙否?不忙不忙分配此控制器給進(jìn)程P查此控制器連接的CHCT忙否?最后一個(gè)DCT?分配此通道給進(jìn)程P啟動(dòng)I/O,進(jìn)行具體的I/O操作忙進(jìn)程P的PCB放入此設(shè)備的等待隊(duì)列YN忙最后一個(gè)COCT?最后一個(gè)DCT?進(jìn)程P的PCB放入此控制器的等待隊(duì)列YNY忙最后一個(gè)CHCT?Y最后一個(gè)COCT?NYNN多通路設(shè)備分配流程示意圖進(jìn)程P的PCB放入此通道的等待隊(duì)列引入獨(dú)享設(shè)備經(jīng)常會(huì)成為系統(tǒng)中的“瓶頸”資源進(jìn)程在占用設(shè)備期間,并不經(jīng)常使用該設(shè)備利用高速共享設(shè)備(如磁盤)將低速的獨(dú)享設(shè)備模擬成高速的共享設(shè)備7.4設(shè)備分配與回收

7.4.6SPOOLing技術(shù)應(yīng)用進(jìn)程

A應(yīng)用進(jìn)程

BSPOOLing程序設(shè)備VirtualI/OActualI/O第七章設(shè)備管理SPOOLing系統(tǒng)的組成輸入井暫存設(shè)備輸入的數(shù)據(jù);輸出井暫存用戶程序的輸出數(shù)據(jù)(在磁盤上)輸入緩沖區(qū)Bi暫存來自輸入設(shè)備的數(shù)據(jù),再傳送到輸入井;輸出緩沖區(qū)Bo暫存來自輸出井的數(shù)據(jù),再傳送到輸出設(shè)備(在內(nèi)存中)輸入進(jìn)程SPi:輸入設(shè)備

輸入緩沖區(qū)

輸入井;輸出進(jìn)程SPo:內(nèi)存

輸出井

輸出緩沖區(qū)

輸出設(shè)備7.4設(shè)備分配與回收

7.4.6SPOOLing技術(shù)第七章設(shè)備管理SPOOLing系統(tǒng)的組成輸入井,輸出井輸入緩沖區(qū)Bi,輸出緩沖區(qū)Bo輸入進(jìn)程SPi,輸出進(jìn)程SPo7.4設(shè)備分配與回收

7.4.6SPOOLing技術(shù)輸入進(jìn)程SPi

輸出進(jìn)程SPo輸入緩沖區(qū)Bi輸出緩沖區(qū)Bo輸入井輸出井輸入設(shè)備輸出設(shè)備磁盤第七章設(shè)備管理共享打印機(jī)打印機(jī)屬于獨(dú)占設(shè)備利用SPOOLing技術(shù),可將其改造成共享設(shè)備用戶請求打印輸出時(shí),SPOOLing系統(tǒng)進(jìn)行:由輸出進(jìn)程在輸出井中為之申請一個(gè)空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中輸出進(jìn)程再為用戶進(jìn)程申請一張空白的用戶請求打印表,將用戶打印要求填入其中,再將該表掛在請求打印隊(duì)列上打印機(jī)空閑時(shí),輸出進(jìn)程根據(jù)打印隊(duì)列要求打印7.4設(shè)備分配與回收

7.4.6SPOOLing技術(shù)輸入進(jìn)程SPi

輸出進(jìn)程SPo輸入緩沖區(qū)Bi輸出緩沖區(qū)Bo輸入井輸出井輸入設(shè)備輸出設(shè)備磁盤第七章設(shè)備管理SPOOLing系統(tǒng)的特點(diǎn)提高了I/O的速度將獨(dú)占設(shè)備改造為共享設(shè)備實(shí)現(xiàn)了虛擬設(shè)備的功能7.4設(shè)備分配與回收

7.4.6SPOOLing技術(shù)第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.1磁盤結(jié)構(gòu)軸心主桿讀寫磁頭盤面0盤面1盤面2盤面3盤面4盤面5盤面6盤面7盤面8盤面9扇區(qū)磁道磁道間隔扇區(qū)間隔第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.1磁盤結(jié)構(gòu)

磁盤I/O訪問時(shí)間的組成柱面定位時(shí)間(尋道時(shí)間):磁頭移動(dòng)到指定柱面的機(jī)械運(yùn)動(dòng)時(shí)間旋轉(zhuǎn)延遲時(shí)間(尋區(qū)時(shí)間):磁盤旋轉(zhuǎn)到指定扇區(qū)的機(jī)械運(yùn)動(dòng)時(shí)間數(shù)據(jù)傳送時(shí)間:從指定扇區(qū)讀寫數(shù)據(jù)的時(shí)間設(shè)備占用等待時(shí)間I/O通道占用等待時(shí)間柱面定位時(shí)間旋轉(zhuǎn)延遲時(shí)間數(shù)據(jù)傳送時(shí)間磁盤設(shè)備忙第七章設(shè)備管理

例子:讀一個(gè)128KB大小的文件(1)文件由8個(gè)連續(xù)磁道(每個(gè)磁道32個(gè)扇區(qū))上的256個(gè)扇區(qū)構(gòu)成:20ms+(7.3ms+16.7ms)*8=220ms;其中,柱面定位時(shí)間為20ms,旋轉(zhuǎn)延遲時(shí)間為7.3ms,32扇區(qū)數(shù)據(jù)傳送時(shí)間為16.7ms;(2)文件由256個(gè)隨機(jī)分布的扇區(qū)構(gòu)成:(20ms+7.3ms+0.5ms)*256=7373ms;其中,1扇區(qū)數(shù)據(jù)傳送時(shí)間為0.5ms;隨機(jī)分布時(shí)的訪問時(shí)間為連續(xù)分布時(shí)的33.5倍。7.5磁盤存儲(chǔ)器的管理

7.5.1磁盤結(jié)構(gòu)第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法

問題提出有若干個(gè)訪問者請求磁盤執(zhí)行輸入輸出操作,應(yīng)先讓哪一個(gè)訪問者完成操作?磁盤調(diào)度考慮公平:一個(gè)I/O請求在有限時(shí)間內(nèi)滿足高效:減少設(shè)備機(jī)械運(yùn)動(dòng)所帶來的時(shí)間浪費(fèi)第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法先來先服務(wù)(FCFS):根據(jù)進(jìn)程請求磁盤的先后順序進(jìn)行調(diào)度例:磁頭當(dāng)前位置為100號磁道,請求順序?yàn)椋?5、58、39、18、90、160、150、38、184,采用FCFS調(diào)度算法,計(jì)算平均尋道長度。(從100號磁道開始)被訪問的下一個(gè)磁道號移動(dòng)距離(磁道數(shù))

55 45 58 3 39 19 18 21 90 72 160 70 150 10 38 112 184 146平均尋道長度:55.3第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法先來先服務(wù)(FCFS):根據(jù)進(jìn)程請求磁盤的先后順序進(jìn)行調(diào)度優(yōu)點(diǎn):公平、簡單缺點(diǎn):平均尋道距離大,僅適用于進(jìn)程數(shù)目較少的場合第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法最短尋道時(shí)間優(yōu)先(SSTF):要求訪問的磁道與當(dāng)前磁頭所在的磁道距離最近例:磁頭當(dāng)前位置為100號磁道,請求順序?yàn)椋?5、58、39、18、90、160、150、38、184,采用SSTF調(diào)度算法,計(jì)算平均尋道長度。(從100號磁道開始)被訪問的下一個(gè)磁道號移動(dòng)距離(磁道數(shù))

90 10 58 32 55 3 39 16 38 1 18 20 150 132 160 10 184 24平均尋道長度:27.5第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法最短尋道時(shí)間優(yōu)先(SSTF):要求訪問的磁道與當(dāng)前磁頭所在的磁道距離最近問題:可能導(dǎo)致某個(gè)進(jìn)程發(fā)生“饑餓”現(xiàn)象——只要不斷有新進(jìn)程請求到達(dá),且其要訪問的磁道與磁頭當(dāng)前所在磁道的距離較近,這種新進(jìn)程的I/O請求必然優(yōu)先滿足。第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法掃描(SCAN)算法:下一個(gè)訪問對象應(yīng)是其余訪問的磁道既在當(dāng)前磁道之外,又是距離最近的例:磁頭當(dāng)前位置為100號磁道,請求順序?yàn)椋?5、58、39、18、90、160、150、38、184,采用SCAN調(diào)度算法,計(jì)算平均尋道長度。(從100號磁道開始,向磁道號增加方向訪問)被訪問的下一個(gè)磁道號移動(dòng)距離(磁道數(shù))

150 50 160 10 184 24 90 94 58 32 55 3 39 16 38 1 18 20平均尋道長度:27.8第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法掃描(SCAN)算法:下一個(gè)訪問對象應(yīng)是其余訪問的磁道既在當(dāng)前磁道之外,又是距離最近的問題:當(dāng)磁頭剛從里向外移動(dòng)而越過了某一磁道時(shí),恰好又有一進(jìn)程請求訪問此磁道,這時(shí)該進(jìn)程必須等待,待磁頭繼續(xù)從里向外,然后再從外向里掃描完所有要訪問的磁道后,才處理該進(jìn)程的請求,致使該進(jìn)程的請求被大大推遲第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法循環(huán)掃描(CSCAN)算法:規(guī)定磁頭單向移動(dòng)(從100號磁道開始,向磁道號增加方向訪問)被訪問的下一個(gè)磁道號移動(dòng)距離(磁道數(shù))

150 50 160 10 184 24 18 166 38 20 39 1 55 16 58 3 90 32平均尋道長度:35.8例:磁頭當(dāng)前位置為100號磁道,請求順序?yàn)椋?5、58、39、18、90、160、150、38、184,采用SCAN調(diào)度算法,計(jì)算平均尋道長度。第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法N步掃描(N-step-SCAN)算法把磁盤I/O請求隊(duì)列分成長度為N的段,每次使用掃描算法處理這N個(gè)請求。當(dāng)N=1時(shí),該算法退化為FIFO算法該算法的目標(biāo)是改進(jìn)前幾種算法可能在多磁頭系統(tǒng)中出現(xiàn)磁頭靜止在一個(gè)磁道上,導(dǎo)致其它進(jìn)程無法及時(shí)進(jìn)行磁盤I/O第七章設(shè)備管理7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法雙隊(duì)列掃描(FSCAN)算法把磁盤I/O請求分成兩個(gè)隊(duì)列,交替使用掃描算法處理一個(gè)隊(duì)列,新生成的磁盤I/O請求放入另一隊(duì)列中該算法的目標(biāo)與N步掃描算法一致第七章設(shè)備管理旋轉(zhuǎn)調(diào)度根據(jù)延遲時(shí)間來決定執(zhí)行次序的調(diào)度稱為“旋轉(zhuǎn)調(diào)度”。即:當(dāng)移動(dòng)臂定位后,決定同一柱面訪問者的執(zhí)行次序?從減少輸入輸出操作總時(shí)間為目標(biāo)考慮,應(yīng)優(yōu)先選擇延遲時(shí)間最短的訪問者進(jìn)行服務(wù)。7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法第七章設(shè)備管理旋轉(zhuǎn)調(diào)度進(jìn)行旋轉(zhuǎn)調(diào)度時(shí)應(yīng)分析下列情況:若干等待訪問者請求訪問同一磁道上的不同扇區(qū)。若干等待訪問者請求訪問不同磁道上的不同編號的扇區(qū)。若干等待訪問者請求訪問不同磁道上具有相同編號的扇區(qū)。7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法第七章設(shè)備管理旋轉(zhuǎn)調(diào)度對于前兩種情況,旋轉(zhuǎn)調(diào)度總是讓首先到達(dá)讀寫磁頭位置下的扇區(qū)先進(jìn)行傳送操作。對于第三種情況,這些扇區(qū)同時(shí)到達(dá)讀寫磁頭位置下,旋轉(zhuǎn)調(diào)度可任意選擇一個(gè)讀寫磁頭進(jìn)行傳送操作。7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法第七章設(shè)備管理旋轉(zhuǎn)調(diào)度磁盤數(shù)據(jù)的存?。捍疟P塊-內(nèi)部緩沖區(qū)-內(nèi)存。當(dāng)數(shù)據(jù)從磁盤塊傳送至內(nèi)存時(shí),后續(xù)扇區(qū)中的數(shù)據(jù)將從磁頭下通過。但控制器一般不能同時(shí)進(jìn)行輸入輸出,因在數(shù)據(jù)塊傳輸?shù)倪@段時(shí)間里,從磁頭下通過的扇區(qū)的信息丟失。因此,應(yīng)將數(shù)據(jù)以交叉方式存放,塊間應(yīng)間隔的扇區(qū)數(shù)與數(shù)據(jù)從磁盤傳送到內(nèi)存的速度有關(guān)。7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法第七章設(shè)備管理03145276每磁道有8個(gè)扇區(qū),每扇區(qū)有512字節(jié),旋轉(zhuǎn)速度為3000轉(zhuǎn)/分。假定磁頭已在要讀取信息的磁道上,0扇區(qū)旋轉(zhuǎn)到磁頭下需要1/2轉(zhuǎn),且設(shè)備對應(yīng)的控制器不能同時(shí)進(jìn)行輸入輸出。在數(shù)據(jù)從控制器傳送到內(nèi)存的這段時(shí)間內(nèi),從磁頭下通過的扇區(qū)數(shù)為2。問:依次讀出一個(gè)磁道上的所有扇區(qū)需要多少時(shí)間?其數(shù)據(jù)傳輸速度為多少?旋轉(zhuǎn)調(diào)度舉例:有一個(gè)交叉存放信息的磁盤,信息在其上的存放方法如圖所示。7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法第七章設(shè)備管理旋轉(zhuǎn)調(diào)度舉例從圖中可知,信息塊之間的間隔為2個(gè)扇區(qū)。旋轉(zhuǎn)速度:3000轉(zhuǎn)/分,即20ms/轉(zhuǎn)讀一個(gè)扇區(qū)需要時(shí)間:20/8=2.5ms讀一個(gè)扇區(qū)并將扇區(qū)數(shù)據(jù)送入內(nèi)存需要時(shí)間:2.5×3=7.5ms讀出一個(gè)磁道上所有扇區(qū)需要時(shí)間:

20/2+8×7.5=70ms=0.07s每磁道數(shù)據(jù)量:8×512=4KB數(shù)據(jù)傳輸速度為:

4KB/0.07=57.1KB/秒7.5磁盤存儲(chǔ)器的管理

7.5.2磁盤調(diào)度算法第七章設(shè)備管理訪問頻率置換算法(Frequency-basedReplacement)磁盤緩存是磁盤扇區(qū)在內(nèi)存中的緩沖區(qū)。磁盤緩存的調(diào)度算法很類似虛擬存儲(chǔ)調(diào)度算法,但由于磁盤的訪問頻率遠(yuǎn)低于虛擬存儲(chǔ),它們又存在區(qū)別。通常磁盤緩存調(diào)度算法會(huì)比虛擬存儲(chǔ)復(fù)雜。7.5磁盤存儲(chǔ)器的管理

7.5.3磁盤緩存置換算法第七章設(shè)備管理

訪問頻率置換算法的引入它是對LRU(最近最久未使用)算法和LFU(最不常用)算法的改進(jìn);它要解決的主要問題是在LFU算法中的引用計(jì)數(shù)問題。磁盤訪問可能會(huì)十分集中,在一段密集使用后,引用計(jì)數(shù)的變化就不能反映當(dāng)前的引用情況。需要考慮磁盤訪問的這種密集特征,對密集引用不計(jì)數(shù)。其基本思想是在短周期中使用LRU算法,而在長周期中使用LFU算法。7.5磁盤存儲(chǔ)器的管理

7.5.3磁盤緩存置換算法第七章設(shè)備管理

訪問頻率置換算法把LRU算法中的特殊棧分成三部分,并在每個(gè)緩存塊增加一個(gè)引用計(jì)數(shù)。新區(qū)域(NewSection)中間區(qū)域(MiddleSection)舊區(qū)域(OldSection)7.5磁盤存儲(chǔ)器的管理

7.5.3磁盤緩存置換算法第七章設(shè)備管理………棧頂棧底…新區(qū)域…中間區(qū)域…舊區(qū)域引用計(jì)數(shù)不變引用計(jì)數(shù)加1新讀入數(shù)據(jù)塊,引用計(jì)數(shù)為1棧中緩存塊被訪問時(shí)移到棧頂;如果該塊在新區(qū)域,引用計(jì)數(shù)不變;否則,引用計(jì)數(shù)加1。在新區(qū)域中引用計(jì)數(shù)不變的目的是避免密集訪問對引用計(jì)數(shù)不利影響;在中間區(qū)域和舊區(qū)域中引用計(jì)數(shù)加1是為了使用LFU算法;未緩存數(shù)據(jù)塊讀入后放在棧頂,引用計(jì)數(shù)為1;在舊區(qū)域中引用計(jì)數(shù)最小的緩存塊被置換;中間區(qū)域的定義是為了避免新讀入的緩存塊在第一次出現(xiàn)在新區(qū)域時(shí)馬上被置換,有一個(gè)過渡期。

訪問頻率置換算法7.5磁盤存儲(chǔ)器的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論