版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)第五章設(shè)備管理院(系):計算機(jī)科學(xué)與技術(shù)學(xué)院研究室:軟件支持技術(shù)教師:王紅濱2025/1/151內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲器管理I/O系統(tǒng)是計算機(jī)系統(tǒng)的重要組成部分。I/O系統(tǒng)包括用于實現(xiàn)數(shù)據(jù)輸入、輸出、存儲功能的設(shè)備和相應(yīng)的控制器,設(shè)備管理的基本任務(wù)是完成用戶提出的I/O請求,提高I/O速率以及改善I/O的利用率。設(shè)備管理的主要功能有緩沖區(qū)管理、設(shè)備分配、設(shè)備處理、虛擬設(shè)備及實現(xiàn)設(shè)備獨立性。2025/1/1525.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)2025/1/1535.1.1I/O設(shè)備1.I/O設(shè)備的類型(1)按傳輸速率分類低速設(shè)備每秒幾個字節(jié)至數(shù)百字節(jié)鍵盤、鼠標(biāo)、語音輸入輸出設(shè)備等中速設(shè)備每秒數(shù)千至數(shù)萬字節(jié)行式打印機(jī)、激光打印機(jī)等高速設(shè)備每秒數(shù)百K至數(shù)十M字節(jié)磁盤機(jī)、磁帶機(jī)、光盤機(jī)等2025/1/154(2)按信息交換的單位分類塊設(shè)備(BlockDevice)信息的存取總是以數(shù)據(jù)塊為單位基本特征是其傳輸速率較高,通常每秒鐘為幾兆位可尋址,即對它可隨機(jī)地讀/寫任一塊屬于有結(jié)構(gòu)設(shè)備磁盤的I/O常采用DMA方式,每個盤塊的大小為512B~4KB字符設(shè)備(CharacterDevice)基本單位是字符基本特征是其傳輸速率較低,通常每秒鐘為幾個字節(jié)到數(shù)千字節(jié)不可尋址屬于無結(jié)構(gòu)設(shè)備通常采用中斷驅(qū)動方式例:交互式終端、打印機(jī)2025/1/155(3)按設(shè)備的共享屬性分類獨占設(shè)備(臨界資源)如打印機(jī)共享設(shè)備可供多個進(jìn)程同時訪問,如磁盤共享設(shè)備必須是可尋址的和可隨機(jī)訪問的設(shè)備。虛擬設(shè)備通過虛擬技術(shù)將一臺獨占設(shè)備變換為若干個邏輯設(shè)備,供若干個進(jìn)程同時使用2025/1/156(4)按操作(使用)特性分類存儲設(shè)備:用來存放各種信息的設(shè)備稱為存儲設(shè)備例軟盤、磁盤、光盤和磁帶等I/O設(shè)備:用來向計算機(jī)輸入和輸出信息的設(shè)備如鍵盤、鼠標(biāo)、顯示器、打印機(jī)在現(xiàn)代計算機(jī)系統(tǒng)中有些設(shè)備既可以做存儲設(shè)備,也可以做I/O設(shè)備,例如,軟盤、硬盤等。2025/1/157圖5-1設(shè)備與控制器間的接口2.設(shè)備與設(shè)備控制器之間的接口數(shù)據(jù)信號線用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號控制信號線作為由設(shè)備控制器向I/O設(shè)備發(fā)送控制信號時的通路狀態(tài)信號線用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號2025/1/1585.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)2025/1/1595.1.2設(shè)備控制器設(shè)備控制器是CPU與I/O設(shè)備之間的接口,常做成印刷電路卡形式,也稱接口卡。接收CPU發(fā)來的命令,控制一個或多個I/O設(shè)備,以實現(xiàn)I/O設(shè)備和計算機(jī)之間的數(shù)據(jù)交換,減輕CPU的負(fù)擔(dān)1.設(shè)備控制器的基本功能(1)接收和識別命令(2)數(shù)據(jù)交換(3)標(biāo)識和報告設(shè)備的狀態(tài)(4)地址識別(5)數(shù)據(jù)緩沖(6)差錯控制2025/1/15102.設(shè)備控制器的組成設(shè)備控制器與處理機(jī)的接口 該接口用于實現(xiàn)設(shè)備控制器與CPU之間的通信。在該接口中有三類信號線:數(shù)據(jù)線、地址線、控制線。設(shè)備控制器與設(shè)備的接口 在一個設(shè)備控制器上,可以連接一臺或多臺設(shè)備。相應(yīng)地,在控制器中就有一個或多個設(shè)備接口,一個接口連接一臺設(shè)備,在每個接口中都有數(shù)據(jù)、控制和狀態(tài)三種類型的信號。I/O邏輯
控制器對設(shè)備的控制通過I/O邏輯實現(xiàn)的。包括對收到命令和地址進(jìn)行譯碼。2025/1/1511圖5-2設(shè)備控制器的組成2025/1/15125.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)2025/1/15135.1.3I/O通道1.I/O通道(I/OChannel)設(shè)備的引入是一種特殊處理機(jī),專門負(fù)責(zé)輸入/輸出工作有自己簡單的指令系統(tǒng),只有數(shù)據(jù)傳送指令和設(shè)備控制指令主要目的是為了建立獨立的I/O操作,使有關(guān)對I/O操作的組織、管理及其結(jié)束處理也獨立于CPUCPU向I/O通道發(fā)送I/O命令,由通道執(zhí)行程序通道與一般處理機(jī)的區(qū)別指令類型單一,局限于與I/O操作有關(guān)命令。沒有獨立的內(nèi)存,通道與CPU共享內(nèi)存。2025/1/1514圖5-3字節(jié)多路通道的工作原理2.通道類型 (1)字節(jié)多路通道(ByteMultiplexorChannel)一個主通道連接多個子通道,以時間片輪轉(zhuǎn)方式共享主通道每個子通道每次只傳送一個字節(jié),連接中低速設(shè)備2025/1/1515 (2)數(shù)組選擇通道(BlockSelectorChannel)由于(1)不適合高速設(shè)備以數(shù)組方式工作,高速傳輸數(shù)據(jù)可以連接多臺高速設(shè)備每次只有一臺設(shè)備進(jìn)行數(shù)據(jù)傳送,形成獨占,如果它不傳數(shù)據(jù),別的設(shè)備也傳不了。通道利用率較低。2025/1/1516 (3)數(shù)組多路通道(BlockMultiplexorChannel)由于(2)有獨占性將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道分時并行操作的優(yōu)點相結(jié)合而形成的一種新通道其數(shù)據(jù)傳送是按數(shù)組方式。采用分時并行傳送多個非分配型子通道,因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率2025/1/15173.“瓶頸”問題圖5-4單通路I/O系統(tǒng)2025/1/1518圖5-5多通路I/O系統(tǒng)2025/1/15195.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)2025/1/15205.1.4總線系統(tǒng)圖5-6總線型I/O系統(tǒng)結(jié)構(gòu) 在計算機(jī)系統(tǒng)中的各部件,如CPU、存儲器以及各種I/O設(shè)備之間都是通過總線來聯(lián)系2025/1/15211.ISA和EISA總線1)ISA(IndustryStandardArchitecture)總線這是為了1984年推出的80286型微機(jī)而設(shè)計的總線結(jié)構(gòu)。其總線的帶寬為8位,最高傳輸速率為2Mb/s。之后不久又推出了16位的(EISA)總線,其最高傳輸速率為8Mb/s,后又升至16Mb/s,能連接12臺設(shè)備。2)EISA(ExtendedISA)總線到80年代末期,ISA總線已難于滿足帶寬和傳輸速率的要求,于是人們又開發(fā)出擴(kuò)展ISA(EISA)總線,其帶寬為32位,總線的傳輸速率高達(dá)32Mb/s,同樣可以連接12臺外部設(shè)備。2025/1/15222.局部總線(LocalBus)局部總線是指將多媒體卡、高速網(wǎng)卡、高性能圖形板等從ISA總線上卸下來,再通過局部總線控制器直接接到CPU總線上VESA(VideoElectronicStandardAssociation)總線PCI(PeripheralComponentInterface)總線2025/1/1523內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式
5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲器管理2025/1/15245.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式設(shè)備管理的主要任務(wù)之一是支持計算機(jī)與各種外部設(shè)備交換信息。它通過內(nèi)存與外部設(shè)備間的數(shù)據(jù)傳輸實現(xiàn)。內(nèi)存與外設(shè)的控制方式主要有四種:程序I/O方式、中斷驅(qū)動I/O方式、直接存儲訪問DMAI/O控制方式和I/O通道控制方式。2025/1/15255.2.1程序I/O方式程序I/O控制方式也稱為“忙—等待”方式,即在一個設(shè)備的操作沒有完成時,控制程序一直檢測設(shè)備的狀態(tài),直到該操作完成,才能進(jìn)行下一個操作。CPU通過I/O測試指令測試設(shè)備接口中的狀態(tài)位,當(dāng)為“忙”時則一直測試,當(dāng)為“閑”時,可進(jìn)行數(shù)據(jù)傳送,每次傳送一個字符CPU的絕大部分時間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中外設(shè)不能合理使用,也無法支持多道程序2025/1/1526程序直接控制方式的步驟
①當(dāng)用戶需要輸入數(shù)據(jù)時,由處理機(jī)向設(shè)備控制器發(fā)出一條I/O指令,啟動設(shè)備進(jìn)行輸入。在設(shè)備輸入數(shù)據(jù)期間,處理機(jī)通過循環(huán)執(zhí)行測試指令不間斷地檢測設(shè)備狀態(tài)寄存器的值,當(dāng)狀態(tài)寄存器的值顯示設(shè)備輸入完成時,處理機(jī)將數(shù)據(jù)寄存器中的數(shù)據(jù)取出,送入內(nèi)存指定的存儲單元,然后再啟動設(shè)備去讀取下一個數(shù)據(jù)。②當(dāng)用戶進(jìn)程需要向設(shè)備輸出數(shù)據(jù)時,也必須同樣發(fā)出啟動命令啟動設(shè)備輸出,并等待輸出操作完成。2025/1/1527圖5-7程序I/O方式的流程2025/1/1528程序直接控制方式的特點
由于CPU的速度遠(yuǎn)遠(yuǎn)高于I/O設(shè)備的速度,工作過程簡單,CPU等待時間過多,利用率太低,有“忙—等待”現(xiàn)象。2025/1/15295.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式2025/1/15305.2.2中斷驅(qū)動I/O控制方式中斷是指計算機(jī)在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPU暫時中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行的過程。中斷驅(qū)動(InterruptDriven)方式,即當(dāng)某進(jìn)程要啟動某個I/O設(shè)備工作時,便由CPU向相應(yīng)的設(shè)備控制器發(fā)出一條I/O命令,然后立即返回繼續(xù)執(zhí)行原來的任務(wù)設(shè)備控制器按命令要求去控制指定的I/O設(shè)備,完成后,通過中斷向CPU發(fā)送一中斷信號在I/O設(shè)備輸入數(shù)據(jù)的過程中,無須CPU干預(yù),每次傳送一個字符2025/1/1531在I/O中斷方式下,數(shù)據(jù)的輸入(或輸出)步驟如下:1、要求輸入數(shù)據(jù)的進(jìn)程把一個啟動命令和允許中斷位“1”寫入相應(yīng)設(shè)備的控制狀態(tài)寄存器中,從而啟動了該設(shè)備;2、該進(jìn)程因等待輸入的完成進(jìn)入睡眠狀態(tài)。3、當(dāng)輸入完成后,輸入設(shè)備向CPU發(fā)出完成中斷請求信號;4、處理機(jī)響應(yīng)中斷,處理該中斷,并喚醒等待輸入完成的進(jìn)程;5、在以后的某個時期,該程序被調(diào)度到后,繼續(xù)運行。2025/1/1532圖5-7中斷驅(qū)動方式的流程2025/1/1533中斷控制方式的特點中斷控制方式比程序直接控制方式提高了CPU的利用率。每輸入輸出一個數(shù)據(jù)都發(fā)生中斷,傳輸一次數(shù)據(jù)需要多次中斷,浪費了CPU的處理時間。I/O以字節(jié)為單位CPU與I/O設(shè)備并行操作。2025/1/15345.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式2025/1/15355.2.3直接存儲器訪問DMAI/O控制方式1.DMA(DirectMemoryAccess)控制方式的引入中斷驅(qū)動I/O是以字節(jié)為單位的。每完成一個字節(jié)的I/O,控制器便向CPU發(fā)一中斷,請求CPU中斷處理。例如,為了從磁盤中讀出1KB的數(shù)據(jù)塊,需要中斷1K次CPU。直接存儲器存取控制方式的概念
是指對I/O設(shè)備的控制由DMA控制器完成,在DMA控制器的作用下,設(shè)備和主存之間可以成批地進(jìn)行數(shù)據(jù)交換,而不用CPU的干涉。2025/1/1536圖5-8DMA控制器的組成2.DMA控制器的組成主機(jī)與DMA控制器的接口DMA控制器與塊設(shè)備的接口I/O控制邏輯2025/1/1537為了實現(xiàn)在主機(jī)與控制器之間成塊數(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)存的起始目標(biāo)地址;在輸出時,它存放由內(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ù)。2025/1/1538直接存儲器存取控制方式的步驟①當(dāng)進(jìn)程要求設(shè)備輸入一批數(shù)據(jù)時,CPU將設(shè)備存放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存器和傳送字節(jié)計數(shù)器;另外,還要將中斷位和啟動位置為1,以啟動設(shè)備開始進(jìn)行數(shù)據(jù)輸入并允許中斷。②發(fā)出數(shù)據(jù)要求的進(jìn)程進(jìn)入等待狀態(tài),進(jìn)程調(diào)度程序調(diào)度其他進(jìn)程占據(jù)CPU。③輸入設(shè)備不斷地挪用CPU工作周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)源源不斷地寫入內(nèi)存,直到所要求的字節(jié)全部傳送完畢。④DMA控制器在傳送字節(jié)數(shù)完成時,通過中斷請求線發(fā)出中斷信號,CPU收到中斷信號后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。⑤在以后的某個時刻,進(jìn)程調(diào)度程序選中提出請求輸入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步處理。2025/1/1539圖5-7DMA方式的流程2025/1/15403.DMA工作過程圖5-9DMA方式的工作流程2025/1/1541特點數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊(連續(xù))大大減少中斷次數(shù)所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在DMA控制器控制下完成的。I/O數(shù)據(jù)傳輸速度快,CPU負(fù)擔(dān)少。在DMA方式下,數(shù)據(jù)的傳送方向、存放數(shù)據(jù)的內(nèi)存始址及傳送數(shù)據(jù)的長度等都由CPU控制。每臺設(shè)備需要配一個DMA控制器。2025/1/15425.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式2025/1/15435.2.4I/O通道控制方式通道控制方式的概念
是一種以內(nèi)存為中心,是設(shè)備與內(nèi)存直接交換數(shù)據(jù)的控制方式。CPU只需要發(fā)出啟動指令,指出通道相應(yīng)的操作和I/O設(shè)備,該指令就可以啟動通道并使該通道從內(nèi)存中調(diào)出相應(yīng)的通道指令執(zhí)行。2025/1/15441.I/O通道控制方式的引入
與DMA類似,是以內(nèi)存為中心的數(shù)據(jù)交換方式它可進(jìn)一步減少CPU的干預(yù),即把對一個數(shù)據(jù)塊的讀(或?qū)?為單位的干預(yù),減少為對一組數(shù)據(jù)塊的讀(或?qū)?及有關(guān)的控制和管理為單位的干預(yù)一個通道控制多臺設(shè)備CPU僅在I/O操作的開始和結(jié)束時花費少量時間處理與I/O有關(guān)的工作可實現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個系統(tǒng)的資源利用率2025/1/1545通道控制方式的步驟
①當(dāng)進(jìn)程要求輸入數(shù)據(jù)時,CPU發(fā)啟動指令指明I/O操作、設(shè)備號和對應(yīng)通道。②對應(yīng)通道接收到CPU發(fā)來的啟動指令后,把存放在內(nèi)存中的通道指令程序讀出,并執(zhí)行通道程序,控制設(shè)備將數(shù)據(jù)傳送到內(nèi)存中指定的區(qū)域。③若數(shù)據(jù)傳輸結(jié)束,則向CPU發(fā)出中斷請求。CPU收到中斷信號后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。④在以后的某個時刻,進(jìn)程調(diào)度程序選中提出請求輸入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步處理。2025/1/1546圖通道的工作流程2025/1/1547數(shù)組選擇通道2025/1/1548通道控制方式特點:①I/O通道是一種特殊的處理器,它具有執(zhí)行I/O操作指令的能力。②I/O通道通過執(zhí)行通道(I/O)程序來控制I/O操作,完成I/O任務(wù)。③通道程序是放在內(nèi)存中的,即通道與CPU共享內(nèi)存。④CPU、通道、I/O設(shè)備三者并行工作。⑤能傳送多個數(shù)據(jù)塊。2025/1/15492.通道程序(1)操作碼規(guī)定指令所執(zhí)行的操作,如讀、寫、控制等(2)內(nèi)存地址標(biāo)明字符送入內(nèi)存或從內(nèi)存取出的內(nèi)存首址(3)計數(shù)本條指令所要讀/寫的字節(jié)數(shù)(4)通道程序結(jié)束位表示通道程序是否結(jié)束,P=1表示結(jié)束(5)記錄結(jié)束標(biāo)志R=0,表示本指令與下一指令處理同一個記錄;R=1表示處理某記錄的最后一條指令2025/1/1550操作PR計數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720寫成一條紀(jì)錄寫成一條紀(jì)錄寫成一條紀(jì)錄通道程序是否結(jié)束,P=1表示結(jié)束與下一指令處理是否同一個記錄2025/1/1551內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲器管理2025/1/15525.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)2025/1/15535.3.1緩沖的引入(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾。(2)減少對CPU的中斷頻率,放寬對CPU中斷響應(yīng)時間的限制。(3)提高CPU和I/O設(shè)備之間的并行性。2025/1/1554圖5-10利用緩沖寄存器實現(xiàn)緩沖2025/1/1555對緩沖區(qū)的理解①緩沖是提高CPU與外設(shè)并行程度的一種技術(shù)。②凡是數(shù)據(jù)來到速度和離去速度不同的地方都可以使用緩沖區(qū)。如CPU與內(nèi)存之間有高速緩存(CacheMemory),主存與顯示器之間有顯示緩存,主存與打印機(jī)之間有打印緩存等等。③緩沖的實現(xiàn)方式有兩種:一是,采用硬件緩沖器實現(xiàn);二是,在內(nèi)存劃出一塊區(qū)域,專門用來存放臨時輸入輸出的數(shù)據(jù),這個區(qū)域稱為緩沖區(qū)。④根據(jù)系統(tǒng)設(shè)置緩沖區(qū)的個數(shù),將緩沖技術(shù)分為:單緩沖、雙緩沖、循環(huán)緩沖、緩沖池。2025/1/15565.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)2025/1/15575.3.2單緩沖和雙緩沖1.單緩沖(SingleBuffer)圖5-11單緩沖工作示意圖串行2025/1/15582.雙緩沖(DoubleBuffer)圖5-12雙緩沖工作示意圖并行2025/1/1559圖5-13雙機(jī)通信時緩沖區(qū)的設(shè)置實現(xiàn)了雙向數(shù)據(jù)傳輸2025/1/15605.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)2025/1/15615.3.3循環(huán)緩沖循環(huán)緩沖的引入當(dāng)輸入與輸出速度基本匹配時,雙緩沖能獲得較好效果;當(dāng)速度相差較大時,可引入多個緩沖,組織成循環(huán)緩沖的形式1.循環(huán)緩沖的組成多個緩沖區(qū)用于裝輸入數(shù)據(jù)的空緩沖區(qū)R已裝滿數(shù)據(jù)的滿緩沖區(qū)G計算進(jìn)程正在使用的現(xiàn)行工作緩沖區(qū)C多個指針指示計算進(jìn)程下一可用緩沖區(qū)Nextg指示輸入進(jìn)程下一可用空緩沖區(qū)Nexti指示計算進(jìn)程正在使用的緩沖區(qū)Current2025/1/1562圖5-14循環(huán)緩沖工作緩沖區(qū)滿緩沖區(qū)空緩沖區(qū)2025/1/15632.循環(huán)緩沖區(qū)的使用(1)Getbuf過程為計算進(jìn)程和輸入進(jìn)程提供緩沖區(qū),并移動指針(2)Releasebuf過程當(dāng)計算進(jìn)程或輸入使用完緩沖區(qū)后,調(diào)用過程將緩沖區(qū)釋放3.進(jìn)程同步(1)Nexti指針追趕上Nextg指針輸入進(jìn)程速度大于計算進(jìn)程,全部空緩沖區(qū)已滿,無可用緩沖區(qū),輸入進(jìn)程阻塞(2)Nextg指針追趕上Nexti指針計算進(jìn)程速度大于輸入進(jìn)程,全部緩沖區(qū)空,無可用數(shù)據(jù),計算進(jìn)程阻塞2025/1/15645.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)2025/1/15655.3.4緩沖池(BufferPool)1.緩沖池的組成
專用緩沖的利用率不高,因此設(shè)置公用緩沖池,其中至少應(yīng)含有以下三種類型的緩沖區(qū): ①空(閑)緩沖區(qū); ②裝滿輸入數(shù)據(jù)的緩沖區(qū); ③裝滿輸出數(shù)據(jù)的緩沖區(qū)。 為了管理上的方便,可將相同類型的緩沖區(qū)鏈成一個隊列,于是可形成以下三個隊列:(1)空緩沖隊列emq。由空緩沖區(qū)所鏈成的隊列;(2)輸入隊列inq。由裝滿輸入數(shù)據(jù)的緩沖區(qū)所鏈成的隊列;(3)輸出隊列outq。由裝滿輸出數(shù)據(jù)的緩沖區(qū)所鏈成的隊列。2025/1/15662.Getbuf過程和Putbuf過程ProcedureGetbuf(type)//用于從type所指定的隊列的隊首begin//,摘下一個緩沖區(qū)P(RS(type));P(MS(type));B(number):=Takebuf(type);//從隊首摘下一個緩沖區(qū)
V(MS(type));endProcedurePutbuf(type,number)//用于將用參數(shù)number所指示的緩沖區(qū)begin//,掛在type隊列上P(MS(type));Addbuf(type,number);//將指定緩沖區(qū)掛在type指定隊列上
V(MS(type));V(RS(type));end資源信號量互斥信號量2025/1/15672.緩沖池的工作方式收容輸入提取輸入收容輸出提取輸出2025/1/15683.緩沖區(qū)的工作方式圖5-15緩沖區(qū)的工作方式2025/1/15691231231231232025/1/1570內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲器管理2025/1/15715.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3設(shè)備獨立性5.4.4獨占設(shè)備的分配程序5.4.5SPOOLing技術(shù)2025/1/15725.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)在多道程序環(huán)境下,系統(tǒng)中的設(shè)備所有進(jìn)程共享,為防止進(jìn)程對系統(tǒng)資源的無序競爭,必須由系統(tǒng)統(tǒng)一分配設(shè)備為確保CPU與設(shè)備之間能進(jìn)行通信,還應(yīng)分配相應(yīng)的控制器和通道為實現(xiàn)設(shè)備分配,系統(tǒng)中應(yīng)設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)2025/1/15731.設(shè)備控制表DCT圖5-20設(shè)備控制表系統(tǒng)為每個設(shè)備配置一張設(shè)備控制表,用于記錄設(shè)備的特性及I/O控制器連接的情況。2025/1/15742.控制器控制表、通道控制表和系統(tǒng)設(shè)備表圖5-21COCT、CHCT和SDT表
每個控制器配置一張表,它反映控制器的使用狀態(tài)以及和通道的連接狀況等。2025/1/1575圖5-21COCT、CHCT和SDT表為每個通道配置一張表,它反映通道的使用狀態(tài)。2025/1/1576圖5-21COCT、CHCT和SDT表它記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況,每個物理設(shè)備占一個表目。整個系統(tǒng)配置一張。2025/1/15775.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3設(shè)備獨立性5.4.4獨占設(shè)備的分配程序5.4.5SPOOLing技術(shù)2025/1/15785.4.2設(shè)備分配時應(yīng)考慮的因素1.設(shè)備的固有屬性(1)獨占性獨占設(shè)備是不能同時共用的設(shè)備,即在一段時間內(nèi),該設(shè)備只允許一個進(jìn)程獨占。(2)共享性允許多個進(jìn)程同時共享(3)可虛擬性虛擬設(shè)備是利用某種技術(shù)把獨占設(shè)備改造成可由多個進(jìn)程共用的設(shè)備。2025/1/15792.以上三種設(shè)備對應(yīng)的分配策略(1)獨占設(shè)備缺點:設(shè)備不能充分利用,防止死鎖(2)共享設(shè)備注意各進(jìn)程的訪問次序進(jìn)行合理調(diào)度(3)虛擬設(shè)備2025/1/15802.設(shè)備分配算法(1)先來先服務(wù)(2)優(yōu)先級高者優(yōu)先3.設(shè)備分配中的安全性(1)安全分配方式每當(dāng)進(jìn)程發(fā)出I/O請求后,便進(jìn)入阻塞狀態(tài),I/O操作完成后喚醒摒棄了“請求和保持”條件,不會產(chǎn)生死鎖缺點:進(jìn)程進(jìn)展緩慢,即CPU與I/O設(shè)備串行工作的(2)不安全分配方式
進(jìn)程發(fā)出I/O請求后仍繼續(xù)運行可操作多個設(shè)備,推進(jìn)迅速快2025/1/15815.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3設(shè)備獨立性5.4.4獨占設(shè)備的分配程序5.4.5SPOOLing技術(shù)2025/1/15825.4.3設(shè)備獨立性1.設(shè)備獨立性(DeviceIndependence)的概念為了提高OS的可適應(yīng)性和可擴(kuò)展性,在現(xiàn)代OS中都毫無例外地實現(xiàn)了設(shè)備獨立性,也稱為設(shè)備無關(guān)性其基本含義是:應(yīng)用程序獨立于具體使用的物理設(shè)備,即是指用戶在編程序時所使用的設(shè)備與實際設(shè)備無關(guān)。為了實現(xiàn)設(shè)備獨立性而引入了邏輯設(shè)備和物理設(shè)備這兩個概念在應(yīng)用程序中,使用邏輯設(shè)備名稱來請求使用某類設(shè)備;而系統(tǒng)在實際執(zhí)行時,還必須使用物理設(shè)備名稱系統(tǒng)須具有將邏輯設(shè)備名稱轉(zhuǎn)換為某物理設(shè)備名稱的功能,這非常類似于存儲器管理中所介紹的邏輯地址和物理地址的概念2025/1/1583設(shè)備獨立性的優(yōu)點(1)設(shè)備分配時的靈活性系統(tǒng)可將該邏輯設(shè)備類中的任一臺分配給進(jìn)程使用所有設(shè)備均占用時才阻塞(2)易于實現(xiàn)I/O重定向所謂I/O重定向,指用于I/O操作的設(shè)備可以更換,而不必變應(yīng)用程序如調(diào)試程序時輸出到屏幕,而實際應(yīng)用時改為輸出到打印機(jī)(邏輯設(shè)備表中的顯示終端改為打印機(jī))2025/1/15842.設(shè)備獨立性軟件為了實現(xiàn)設(shè)備獨立性,必須在設(shè)備驅(qū)動程序上設(shè)置一層軟件,稱為設(shè)備獨立性軟件設(shè)備獨立性軟件主要功能(1)執(zhí)行所有設(shè)備的公有操作對獨立設(shè)備的分配與回收將邏輯設(shè)備名映射為物理設(shè)備名,進(jìn)一步可以找到相應(yīng)物理設(shè)備的驅(qū)動程序?qū)υO(shè)備進(jìn)行保護(hù),禁止用戶直接訪問設(shè)備緩沖管理,即對字符設(shè)備和塊設(shè)備的緩沖區(qū)進(jìn)行有效的管理差錯控制(2)向用戶層(或文件層)軟件提供統(tǒng)一接口無論何種設(shè)備,它們向用戶所提供的接口應(yīng)該是相同的對各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對各種設(shè)備的寫操作,也都使用write2025/1/1585圖5-19邏輯設(shè)備表3.邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)(1)邏輯設(shè)備表(LgicalUnitTable)用于實現(xiàn)將應(yīng)用程序中的邏輯設(shè)備名映射為物理設(shè)備名(2)邏輯設(shè)備表的設(shè)置整個系統(tǒng)中設(shè)置一張LUT為每個用戶設(shè)置一張LUT2025/1/15865.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3設(shè)備獨立性5.4.4獨占設(shè)備的分配程序5.4.5SPOOLing技術(shù)2025/1/15875.4.4獨占設(shè)備的分配程序1.基本的設(shè)備分配程序(1)分配設(shè)備(2)分配控制器(3)分配通道2025/1/1588單通路2025/1/1589圖設(shè)備分配流程圖不考慮設(shè)備獨立性不考慮多通路2025/1/15902.設(shè)備分配程序的改進(jìn)基本分配程序的問題進(jìn)程以物理設(shè)備名提出I/O請求,無設(shè)備獨立性采用單通路I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生瓶頸改進(jìn)方案(1)增加設(shè)備獨立性(2)考慮多通路情況2025/1/15915.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3設(shè)備獨立性5.4.4獨占設(shè)備的分配程序5.4.5SPOOLing技術(shù)2025/1/15925.4.5SPOOLing技術(shù)脫機(jī)輸入/輸出(Off-LineI/O)方式進(jìn)程2025/1/15931.什么是SPOOLing技術(shù)在多道程序環(huán)境下,其中的一進(jìn)程模擬脫機(jī)輸入時的外圍控制機(jī)功能,把低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上;再用另一進(jìn)程來模擬脫機(jī)輸出時外圍控制機(jī)的功能,把數(shù)據(jù)從磁盤傳送到低速輸出設(shè)備上。在主機(jī)的直接控制下,實現(xiàn)脫機(jī)輸入、輸出功能,此時的外圍操作與CPU對數(shù)據(jù)的處理同時進(jìn)行把這種在聯(lián)機(jī)情況下實現(xiàn)的同時外圍操作稱為SPOOLing(SimultaneausPeriphernalOperatingOn-Line),或稱為假脫機(jī)操作2025/1/15942.SPOOLing系統(tǒng)的組成輸入井和輸出井在磁盤上的兩個存儲空間輸入井模擬脫機(jī)輸入,暫存輸入數(shù)據(jù)輸出井模擬脫機(jī)輸出,暫存輸出數(shù)據(jù)輸入緩沖區(qū)和輸出緩沖區(qū)(內(nèi)存中)用來緩和CPU與磁盤之間的速度的矛盾輸入進(jìn)程SPi和輸出進(jìn)程SPo模擬脫機(jī)I/O時的外圍控制機(jī)2025/1/1595圖5-22SPOOLing系統(tǒng)的組成2025/1/15963.共享打印機(jī)打印機(jī)為獨占設(shè)備,利用SPOOLing技術(shù),可將之改造為共享設(shè)備用戶請求打印時,SPOOLing系統(tǒng)處理如下由輸出進(jìn)程在輸出井中為之申請一個空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中輸出進(jìn)程再為用戶進(jìn)程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上2025/1/15974.SPOOLing系統(tǒng)的特點
(1)提高了I/O的速度。原來是對輸入和輸出設(shè)備的操作,現(xiàn)在是對磁盤操作。(2)將獨占設(shè)備改造為共享設(shè)備。由于SPOOLing技術(shù)把所有用戶進(jìn)程的輸出都送入輸出井,然后再由輸出進(jìn)程完成打印工作,而輸出井在磁盤上,為共享設(shè)備。這樣SPOOLing技術(shù)就把打印機(jī)等獨占設(shè)備改造為共享設(shè)備。
(3)實現(xiàn)了虛擬設(shè)備功能。由于SPOOLing技術(shù)實現(xiàn)了多個用戶進(jìn)程共同使用打印機(jī)這種獨占設(shè)備的情況,從而實現(xiàn)了把一個設(shè)備當(dāng)成多個設(shè)備來使用的情況,即虛擬設(shè)備的功能。2025/1/1598付出不少代價①占用大量的內(nèi)存作為外設(shè)之間傳送信息用的緩沖區(qū),它所用的表格也占用不少內(nèi)存空間;②占用大量磁盤空間作為輸入井和輸出井;③增加了系統(tǒng)的復(fù)雜性。2025/1/1599內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲器管理2025/1/151005.5設(shè)備處理5.5.1設(shè)備驅(qū)動程序的功能和特點5.5.2設(shè)備驅(qū)動程序的處理過程5.5.3中斷處理程序的處理過程2025/1/151015.5.1設(shè)備驅(qū)動程序的功能和特點設(shè)備處理程序又稱為設(shè)備驅(qū)動程序,是I/O進(jìn)程與設(shè)備控制器之間的通信程序1.設(shè)備驅(qū)動程序功能(1)接收由I/O進(jìn)程發(fā)來的命令和參數(shù),并將命令中的抽象要求轉(zhuǎn)換為具體要求(2)檢查用戶I/O請求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式(3)發(fā)出I/O命令并檢查設(shè)備狀態(tài)(4)及時響應(yīng)由控制器或通道發(fā)來的中斷請求并處理(5)對于設(shè)置有通道的計算機(jī)系統(tǒng),驅(qū)動程序還應(yīng)能夠根據(jù)用戶的I/O請求,自動地構(gòu)成通道程序2025/1/151022.設(shè)備處理方式在不同的操作系統(tǒng)中所采用的設(shè)備處理方式并不完全相同。根據(jù)在設(shè)備處理時是否設(shè)置進(jìn)程,以及設(shè)置什么樣的進(jìn)程而把設(shè)備處理方式分成以下三類:(1)為每一類設(shè)備設(shè)置一個進(jìn)程,專門用于執(zhí)行這類設(shè)備的I/O操作(2)在整個系統(tǒng)中設(shè)置一個I/O進(jìn)程,專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的I/O操作(3)不設(shè)置專門的設(shè)備處理進(jìn)程,而只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序(模塊),供用戶進(jìn)程或系統(tǒng)進(jìn)程調(diào)用2025/1/151033.設(shè)備驅(qū)動程序的特點(1)驅(qū)動程序主要是指在請求I/O的進(jìn)程與設(shè)備控制器之間的一個通信和轉(zhuǎn)換程序(2)驅(qū)動程序與設(shè)備控制器和I/O設(shè)備的硬件特性緊密相關(guān),因而對不同類型的設(shè)備應(yīng)配置不同的驅(qū)動程序(3)驅(qū)動程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān)(4)由于驅(qū)動程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語言書寫2025/1/151045.5設(shè)備處理5.5.1設(shè)備驅(qū)動程序的功能和特點5.5.2設(shè)備驅(qū)動程序的處理過程5.5.3中斷處理程序的處理過程2025/1/151055.5.2設(shè)備驅(qū)動程序的處理過程1.將抽象要求轉(zhuǎn)換為具體要求設(shè)置控制器中的寄存器2.檢查I/O請求的合法性若請求的設(shè)備不支持本次的I/O請求,認(rèn)為是非法操作3.讀出和檢查設(shè)備的狀態(tài)檢查設(shè)備是否空閑或是否就緒4.傳送必要的參數(shù)如數(shù)據(jù)量、起始地址等5.工作方式的設(shè)置對于有多種工作方式的設(shè)備進(jìn)行設(shè)置6.啟動I/O設(shè)備2025/1/15106設(shè)備驅(qū)動程序工作流程2025/1/151075.5設(shè)備處理5.5.1設(shè)備驅(qū)動程序的功能和特點5.5.2設(shè)備驅(qū)動程序的處理過程5.5.3中斷處理程序的處理過程2025/1/15108圖5-17中斷現(xiàn)場保護(hù)示意圖2025/1/15109圖5-18中斷處理流程2025/1/15110內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲器管理2025/1/151115.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列2025/1/151122025/1/15113圖5-23(a)磁盤驅(qū)動器的結(jié)構(gòu)2025/1/15114各個磁道、扇區(qū)之間保留一定的間隙圖5-23(b)磁盤的數(shù)據(jù)布局2025/1/151155.6.1磁盤性能簡述圖5-22磁盤的格式化1.數(shù)據(jù)的組織和格式盤片、盤面、磁道、扇區(qū)扇區(qū)有標(biāo)識符字段和數(shù)據(jù)字段界定符2025/1/151162.磁盤的類型(1)固定頭磁盤這種磁盤在每條磁道上都有一讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中。通過這些磁頭可訪問所有各磁道,并進(jìn)行并行讀/寫,有效地提高了磁盤的I/O速度(2)移動頭磁盤每一個盤面僅配有一個磁頭,也被裝入磁臂中。為能訪問該盤面上的所有磁道,該磁頭必須能移動以進(jìn)行尋道2025/1/151173.磁盤訪問時間(1)尋道時間Ts這是指把磁臂(磁頭)移動到指定磁道上所經(jīng)歷的時間。該時間是啟動磁臂的時間s與磁頭移動n條磁道所花費的時間之和,即Ts=m×n+s(2)旋轉(zhuǎn)延遲時間Tr這是指定扇區(qū)移動到磁頭下面所經(jīng)歷的時間2025/1/15118(3)傳輸時間Tt這是指把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間。Tt的大小與每次所讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān)r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù)執(zhí)行一次I/O時間T=尋道時間Ts
+旋轉(zhuǎn)延遲時間Tr
+傳輸時間Tt
減少平均尋道時間就可以顯著地改善系統(tǒng)性能。(長)2025/1/151195.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列2025/1/151205.6.2磁盤調(diào)度圖5-23FCFS調(diào)度算法1.先來先服務(wù)FCFS(First-Come,FirstServed)根據(jù)進(jìn)程請求訪問磁盤的先后次序進(jìn)行調(diào)度簡單、公平,每個進(jìn)程得到滿足適合請求磁盤進(jìn)程數(shù)目少2025/1/1512103839555890100150160184181.先來先服務(wù)FCFS(First-Come,FirstServed)圖5-23FCFS調(diào)度算法2025/1/151222.最短尋道時間優(yōu)先SSTF(ShortestSeekTimeFirst)與當(dāng)前磁頭所在磁道距離最近每次尋道時間最短不能保證平均尋道時間最短有“饑餓”現(xiàn)象圖5-24SSTF調(diào)度算法27.62025/1/1512303839555890100150160184182.最短尋道時間優(yōu)先SSTF(ShortestSeekTimeFirst)圖5-24SSTF調(diào)度算法27.62025/1/151243.掃描(SCAN)算法SSTF算法雖然能獲得較好的尋道性能,但卻可能導(dǎo)致某個進(jìn)程發(fā)生“饑餓”(Starvation)現(xiàn)象0501602025/1/15125掃描(SCAN)算法對SSTF算法略加修改后所形成的SCAN算法,即可防止進(jìn)程出現(xiàn)“饑餓”現(xiàn)象SCAN算法不僅考慮欲訪問的磁道與當(dāng)前磁道的距離,更優(yōu)先考慮的是磁頭當(dāng)前的移動方向又稱為“電梯調(diào)度算法”2025/1/15126SCAN算法圖5-25SCAN調(diào)度算法示例2025/1/151270383955589010015016018418SCAN算法2025/1/15128圖5-26CSCAN調(diào)度算法示例4.循環(huán)掃描(CSCAN)算法規(guī)定磁頭單向移動減少剛移過的磁道的等待時間35.82025/1/15129038395558901001501601841835.8循環(huán)掃描(CSCAN)算法2025/1/151305.N-Step-SCAN和FSCAN調(diào)度算法(1)N-Step-SCAN算法在以前講的算法都對于先來和后來的請求同等處理(除FCFS),不好,應(yīng)該考慮。N步SCAN算法是將磁盤請求隊列分成若干個長度為N的子隊列,磁盤調(diào)度將按FCFS算法依次處理這些子隊列。而每處理一個隊列時又是按SCAN算法,對一個隊列處理完后,再處理其他隊列(2)FSCAN算法FSCAN算法實質(zhì)上是N步SCAN算法的簡化,即FSCAN只將磁盤請求隊列分成兩個子隊列。一個是由當(dāng)前所有請求磁盤I/O的進(jìn)程形成的隊列,由磁盤調(diào)度按SCAN算法進(jìn)行處理。在掃描期間,將新出現(xiàn)的所有請求磁盤I/O的進(jìn)程,放入另一個等待處理的請求隊列2025/1/151315.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列2025/1/151325.6.3磁盤高速緩存(DiskCache)1.磁盤高速緩存的形式利用內(nèi)存中的存儲空間,來暫存從磁盤中讀出的一系列盤塊中的信息高速緩存是一組在邏輯上屬于磁盤,而物理上是駐留在內(nèi)存中的盤塊高速緩存在內(nèi)存中可分成兩種形式第一種是在內(nèi)存中開辟一個單獨的存儲空間來作為磁盤高速緩存,其大小是固定的第二種是把所有未利用的內(nèi)存空間變?yōu)橐粋€緩沖池,供請求分頁系統(tǒng)和磁盤I/O時(作為磁盤高速緩存)共享2025/1/151332.數(shù)據(jù)交付方式數(shù)據(jù)交付(DataDelivery)是指將磁盤高速緩存中的數(shù)據(jù)傳送給請求者進(jìn)程當(dāng)有進(jìn)程請求訪問某個盤塊時,選查看磁盤高速緩存系統(tǒng)可以采取兩種方式,將數(shù)據(jù)交付給請求進(jìn)程:(1)數(shù)據(jù)交付。這是直接將高速緩存中的數(shù)據(jù),傳送到請求者進(jìn)程的內(nèi)存工作區(qū)中。(2)指針交付。只將指向高速緩存中某區(qū)域的指針,交付給請求者進(jìn)程。后一種方式由于所傳送的數(shù)據(jù)量少,因而節(jié)省了數(shù)據(jù)從磁盤高速緩存存儲空間到進(jìn)程的內(nèi)存工作區(qū)的時間2025/1/151343.置換算法將磁盤中的盤塊寫入高速緩存時,會出現(xiàn)因為高速緩存中已裝滿盤塊而需要將高速緩存中的數(shù)據(jù)先換出的問題,常用算法有最近最久未使用LRU,最近未用NRU,最少使用LFU等同時還需考慮以下幾點(1)訪問頻率(2)可預(yù)見性(3)數(shù)據(jù)的一致性內(nèi)存中已修改數(shù)據(jù)要寫回磁盤2025/1/151354.周期性寫回磁盤在LRU算法中,經(jīng)常被訪問的盤塊數(shù)據(jù)可能一直保留在高速緩存中,長期不被寫回磁盤(有可能丟數(shù)據(jù))在UNIX系統(tǒng)中專門增設(shè)了一個修改(update)程序,使之在后臺運行,該程序周期性地調(diào)用一個系統(tǒng)調(diào)用SYNC。該調(diào)用的主要功能是強(qiáng)制性地將所有在高速緩存中已修改的盤塊數(shù)據(jù)寫回磁盤在MS-DOS中所采用的方法是:只要高速緩存中的某盤塊數(shù)據(jù)被修改,便立即將它寫回磁盤,并將這種高速緩存稱為“寫穿透、高速緩存”(write-throughcache)2025/1/151365.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列2025/1/151375.6.4提高磁盤I/O速度的其它方法1.提前讀(Read-Ahead)在讀當(dāng)前塊的同時,將下一盤塊讀入緩沖區(qū)2.延遲寫緩沖區(qū)中的數(shù)據(jù)不立即寫回磁盤,而掛在隊尾3.優(yōu)化物理塊分布使文件的物理塊集中,減小磁頭移動距離4.虛擬盤利用內(nèi)存空間仿真磁盤,又稱為RAM盤虛擬盤與磁盤高速緩存的主要區(qū)別:(1)虛擬盤內(nèi)容完全由用戶控制(用戶那他當(dāng)磁盤用)(2)而高速磁盤緩存內(nèi)容由操作系統(tǒng)OS控制(用戶不知道其存在)2025/1/151385.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列2025/1/151395.6.5廉價磁盤冗余陣列圖5-27磁盤并行交叉存取方式1.并行交叉存取將一個盤塊中的數(shù)據(jù)分成若干個子盤塊數(shù)據(jù),分別存儲在不同磁盤的相同位置上。數(shù)據(jù)傳送時采用并行傳輸方式廉價磁盤冗余陣列RAID(RedundantArraysofInexpensiveDesks)2025/1/151402.RAID的分級(1)RAID0僅提供了并行交叉存取無校驗(2)RAID1具有磁盤鏡像功能(3)RAID3具有并行傳輸功能的磁盤陣列利用一臺校驗盤來完成校驗(4)RAID5具有獨立傳送功能的磁盤陣列,每個驅(qū)動器有各自獨立的數(shù)據(jù)通路,獨立地進(jìn)行讀寫,無專門校驗盤(5)RAID6和RAID72025/1/151413.RAID的優(yōu)點(1)可靠性高采用容錯技術(shù)可實現(xiàn)鏡像、雙工等冗余方式(2)磁盤I/O速度高采用并行交叉存取,提高速度(3)性能/價格比高與其他高性能磁盤系統(tǒng)相比,容量、速度、可靠性高,但價格低2025/1/15142本章小結(jié)設(shè)備管理的主要任務(wù)是分配I/O設(shè)備。主要目的是提高I/O設(shè)備的使用效率。它的主要功能有:緩沖區(qū)管理、設(shè)備分配、設(shè)備處理、虛擬設(shè)備及實現(xiàn)設(shè)備獨立性。I/O4種控制方式:程序I/O方式、中斷驅(qū)動I/O方式、直接存儲訪問DMAI/O控制方式和I/O通道控制方式緩沖技術(shù)的概念及4種常見的緩沖技術(shù):單緩沖、雙緩沖、循環(huán)緩沖及緩沖池設(shè)備分配、設(shè)備處理、SPOOLing技術(shù)磁盤調(diào)度算法2025/1/151431、通過硬件和軟件的功能擴(kuò)充,把原來獨占的設(shè)備改造成若干用戶共享的設(shè)備,這種設(shè)備稱為( )A.存儲設(shè)備 B.系統(tǒng)設(shè)備 C.虛擬設(shè)備 D.用戶設(shè)備2、CPU輸出數(shù)據(jù)的速度遠(yuǎn)遠(yuǎn)高于打印機(jī)的打印速度,為解決這一矛盾,可采用( )A.并行技術(shù) B.通道技術(shù) C.緩沖技術(shù) D.虛擬存儲技術(shù)3、為了使多個進(jìn)程能有效地同時處理I/O,最好使用( )結(jié)構(gòu)的緩沖技術(shù)。A.緩沖池 B.單緩沖區(qū) C.雙緩沖區(qū) D.循環(huán)緩沖區(qū)CCA2025/1/151444、磁盤屬于((1) ),信息的存取是以((2) )單位進(jìn)行的,磁盤的I/O控制主要采取((3) )方式,打印機(jī)的I/O控制主要采取((3) )方式。(1)A.字符設(shè)備 B.獨占設(shè)備 C.塊設(shè)備 D.虛擬設(shè)備(2)A.位 B.字節(jié) C.幀 D.數(shù)據(jù)塊(3)A.程序I/O方式 B.中斷驅(qū)動I/O方式 C.DMA D.SPOOLing5、下面關(guān)于設(shè)備屬性的論述中正確的為( )A.字符設(shè)備的一個基本特征是可尋址的,即能指定輸入時的源地址和輸出時的目標(biāo)地址B.共享設(shè)備必須是可尋址的和可隨機(jī)訪問的設(shè)備C.共享設(shè)備是指在同一時刻內(nèi),允許多個進(jìn)程同時訪問的設(shè)備D.在分配共享設(shè)備和獨占設(shè)備時,都可能引起進(jìn)程死鎖CDCBB2025/1/151456、下面關(guān)于虛擬設(shè)備的論述中,正確的是( )A.虛擬設(shè)備是指允許用戶使用比系統(tǒng)中具有的物理設(shè)備更多的設(shè)備B.虛擬設(shè)備是指把一
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《中國文化》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年廣東建筑安全員-B證(項目經(jīng)理)考試題庫
- 2025山西省建筑安全員B證(項目經(jīng)理)考試題庫
- 貴陽信息科技學(xué)院《GS原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州珠江職業(yè)技術(shù)學(xué)院《藥物分子生物學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025山東省建筑安全員C證考試(專職安全員)題庫及答案
- 2025年云南建筑安全員A證考試題庫
- 2025年山東省建筑安全員-B證考試題庫附答案
- 2025黑龍江省建筑安全員A證考試題庫及答案
- 2025福建建筑安全員A證考試題庫
- 2024版成人腦室外引流護(hù)理TCNAS 42─20241
- **鎮(zhèn)家庭醫(yī)生簽約服務(wù)績效分配方案
- 湖北省八校2025屆高二生物第一學(xué)期期末質(zhì)量檢測模擬試題含解析
- 四川省食品生產(chǎn)企業(yè)食品安全員理論考試題庫(含答案)
- 新能源發(fā)電技術(shù) 課件 第6章 地?zé)岚l(fā)電
- 人教版八年級音樂上冊 第一單元 《拉起手》 教案
- 《馬克思主義基本原理》學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 《旅游大數(shù)據(jù)》-課程教學(xué)大綱
- 工藝以及質(zhì)量保證措施,工程實施的重點、難點分析和解決方案
- 2024至2030年中國購物商場行業(yè)市場深度調(diào)查與投資發(fā)展研究報告
- 期末測試(試題)2023-2024學(xué)年五年級上冊數(shù)學(xué)人教版
評論
0/150
提交評論