第五章計算機操作系統(tǒng)設(shè)備管理課件_第1頁
第五章計算機操作系統(tǒng)設(shè)備管理課件_第2頁
第五章計算機操作系統(tǒng)設(shè)備管理課件_第3頁
第五章計算機操作系統(tǒng)設(shè)備管理課件_第4頁
第五章計算機操作系統(tǒng)設(shè)備管理課件_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)院:計算機與信息技術(shù)學(xué)院教師:劉賢梅第五章設(shè)備管理12/7/20231內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理I/O系統(tǒng)包括用于實現(xiàn)數(shù)據(jù)輸入、輸出、存儲功能的設(shè)備和相應(yīng)的控制器,設(shè)備管理的基本任務(wù)是完成用戶提出的I/O請求,提高I/O速率以及改善I/O的利用率。設(shè)備管理的主要功能有緩沖區(qū)管理、設(shè)備分配、磁盤管理、虛擬設(shè)備及實現(xiàn)設(shè)備獨立性。5.4I/O軟件5.5設(shè)備分配5.6磁盤存儲器管理12/7/202325.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)12/7/202335.1.1I/O設(shè)備1.按設(shè)備的使用特性分類存儲設(shè)備磁帶、磁盤、光盤等。輸入/輸出設(shè)備鍵盤、鼠標、掃描儀、視頻攝像、傳感器等。12/7/202342.按傳輸速率分類低速設(shè)備每秒幾個字節(jié)至數(shù)百字節(jié)。鍵盤、鼠標、語音輸入輸出設(shè)備等。中速設(shè)備每秒數(shù)千至數(shù)萬字節(jié)。行式打印機、激光打印機等。高速設(shè)備每秒數(shù)百K至數(shù)十M字節(jié)。磁盤機、磁帶機、光盤機等。12/7/202353.按信息交換的單位分類塊設(shè)備信息的存取以數(shù)據(jù)塊為單位,有結(jié)構(gòu)設(shè)備。基本特征是其傳輸速率較高,通常每秒鐘為幾兆位,可尋址,即對它可隨機地讀/寫任一塊。例:磁盤字符設(shè)備基本單位是字符,無結(jié)構(gòu)設(shè)備。基本特征是其傳輸速率較低,通常每秒鐘為幾個字節(jié)到數(shù)千字節(jié),不可尋址。例:交互式終端、打印機12/7/202364.按設(shè)備的共享屬性分類獨占設(shè)備(臨界資源)如打印機共享設(shè)備可供多個多個進程同時訪問,如磁盤。共享設(shè)備必須是可尋址的和可隨機訪問的設(shè)備。虛擬設(shè)備通過虛擬技術(shù)將一臺獨占設(shè)備變換為若干個邏輯設(shè)備,供若干個進程同時使用。12/7/202375.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)12/7/202385.1.2設(shè)備控制器1.設(shè)備控制器概述設(shè)備控制器是CPU與I/O設(shè)備之間的硬件接口,常做成印刷電路卡形式,也稱接口卡。接收從CPU發(fā)來的命令,并控制一個或多個I/O設(shè)備,以實現(xiàn)I/O設(shè)備和計算機之間的數(shù)據(jù)交換,減輕CPU的負擔。12/7/202392.設(shè)備控制器的組成設(shè)備控制器與處理機的接口 該接口用于實現(xiàn)設(shè)備控制器與CPU之間的通信。在該接口中有三類信號線:數(shù)據(jù)線、地址線、控制線。設(shè)備控制器與設(shè)備的接口 在一個設(shè)備控制器上,可以連接一臺或多臺設(shè)備(一個或多個設(shè)備接口),一個接口連接一臺設(shè)備,在每個接口中都有數(shù)據(jù)、控制和狀態(tài)三種類型的信號。I/O邏輯 控制器對設(shè)備的控制通過I/O邏輯實現(xiàn)的。包括對收到命令和地址進行譯碼。12/7/202310圖5-2設(shè)備控制器的組成12/7/2023115.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)12/7/2023125.1.3I/O通道1.I/O通道設(shè)備的引入是一種特殊處理機,專門負責(zé)輸入/輸出工作,具有執(zhí)行I/O指令的能力。主要目的是為了建立獨立的I/O操作,使有關(guān)對I/O操作的組織、管理及其結(jié)束處理也獨立于CPU。CPU向I/O通道發(fā)送I/O命令,由通道執(zhí)行程序。通道與一般處理機的區(qū)別指令類型單一,局限于與I/O操作有關(guān)命令。沒有獨立的內(nèi)存,通道與CPU共享內(nèi)存。12/7/202313圖5-3字節(jié)多路通道的工作原理2.通道類型 (1)字節(jié)多路通道一個主通道連接多個子通道,以時間片輪轉(zhuǎn)方式共享主通道。每個子通道每次只傳送一個字節(jié),連接中低速設(shè)備。12/7/202314

(2)數(shù)組選擇通道(BlockSelectorChannel)(1)不適合高速設(shè)備。以數(shù)組方式工作,高速傳輸數(shù)據(jù)??梢赃B接多臺高速設(shè)備。每次只有一臺設(shè)備進行數(shù)據(jù)傳送,形成獨占,如果它不傳數(shù)據(jù),別的設(shè)備也傳不了。通道利用率較低。12/7/202315

(3)數(shù)組多路通道(BlockMultiplexorChannel)(2)有獨占性。將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道分時并行操作的優(yōu)點相結(jié)合而形成的一種新通道。其數(shù)據(jù)傳送是按數(shù)組方式。采用分時并行傳送多個非分配型子通道,因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。12/7/202316圖5-5多通路I/O系統(tǒng)12/7/2023175.1I/O系統(tǒng)5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)12/7/2023185.1.4總線系統(tǒng)圖5-6總線型I/O系統(tǒng)結(jié)構(gòu) 在計算機系統(tǒng)中的各部件,如CPU、存儲器以及各種I/O設(shè)備之間都是通過總線來聯(lián)系。12/7/2023191.ISA(IndustryStandardArchitecture)總線

這是為了1984年推出的80286型微機而設(shè)計的總線結(jié)構(gòu)。其總線的帶寬為8位,最高傳輸速率為2Mb/s。之后不久又推出了16位的(EISA)總線,其最高傳輸速率為8Mb/s,后又升至16Mb/s,能連接12臺設(shè)備。2.EISA(ExtendedISA)總線到80年代末期,ISA總線已難于滿足帶寬和傳輸速率的要求,于是人們又開發(fā)出擴展ISA(EISA)總線,其帶寬為32位,總線的傳輸速率高達32Mb/s,同樣可以連接12臺外部設(shè)備。12/7/2023203.VESA(VideoElectronicStandardAssociation)總線以ISA為基礎(chǔ)的局部總線,帶寬為32位,工作頻率為33MHz,最高傳輸速率為132Mb/s,為486設(shè)計的。4.PCI(PeripheralComponentInterface)總線局部總線,最大傳輸速率為132Mb/s,既可以連接ISA、EISA等傳統(tǒng)型總線,又可支持Pentium的64位系統(tǒng)。12/7/202321內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式

5.3緩沖管理5.4I/O軟件5.5設(shè)備分配5.6磁盤存儲器管理12/7/2023225.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式設(shè)備管理的主要任務(wù)之一是控制設(shè)備和內(nèi)存或CPU之間的數(shù)據(jù)傳送。I/O控制方式主要有四種:程序I/O方式、中斷驅(qū)動I/O方式、直接存儲訪問DMAI/O控制方式和I/O通道控制方式。12/7/2023235.2.1程序I/O方式程序I/O控制方式(“忙—等待”方式):在一個設(shè)備的操作沒有完成時,控制程序一直檢測設(shè)備的狀態(tài),直到該操作完成,才能進行下一個操作。CPU通過I/O測試指令測試設(shè)備接口中的狀態(tài)位,當為“忙”時則一直測試,當為“閑”時,可進行數(shù)據(jù)傳送,每次傳送一個字符。CPU的絕大部分時間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中。外設(shè)不能合理使用,也無法支持多道程序。CPU的高速性和I/O設(shè)備的低速性。12/7/202324圖5-7程序I/O方式的流程12/7/2023255.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式12/7/2023265.2.2中斷驅(qū)動I/O控制方式中斷是指計算機在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPU暫時中斷當前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度新的進程執(zhí)行的過程。中斷驅(qū)動方式:當某進程要啟動某個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ù)。每次傳送一個字符。12/7/202327在I/O中斷方式下,數(shù)據(jù)的輸入(或輸出)步驟如下:1、要求輸入數(shù)據(jù)的進程把一個啟動命令和允許中斷位“1”寫入相應(yīng)設(shè)備的控制狀態(tài)寄存器中,從而啟動了該設(shè)備。2、該進程因等待輸入的完成進入睡眠狀態(tài)。3、當輸入完成后,輸入設(shè)備向CPU發(fā)出完成中斷請求信號。4、處理機響應(yīng)中斷,處理該中斷,并喚醒等待輸入完成的進程。5、在以后的某個時期,該程序被調(diào)度到后,繼續(xù)運行。12/7/202328圖5-7中斷驅(qū)動方式的流程12/7/2023295.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式12/7/2023305.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è)備和主存之間可以成批地進行數(shù)據(jù)交換,而不用CPU的干涉。12/7/202331圖5-7DMA方式的流程12/7/202332圖5-8DMA控制器的組成2.DMA控制器的組成主機與DMA控制器的接口DMA控制器與塊設(shè)備的接口I/O控制邏輯12/7/202333為了實現(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ù)。12/7/2023343.DMA工作過程

圖5-9DMA方式的工作流程12/7/202335

4.直接存儲器存取控制方式的步驟①當進程要求設(shè)備輸入一批數(shù)據(jù)時,CPU將設(shè)備存放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存器和傳送字節(jié)計數(shù)器;另外,還要將中斷位和啟動位置為1,以啟動設(shè)備開始進行數(shù)據(jù)輸入并允許中斷。②發(fā)出數(shù)據(jù)要求的進程進入等待狀態(tài),進程調(diào)度程序調(diào)度其他進程占據(jù)CPU。③輸入設(shè)備不斷地挪用CPU工作周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)源源不斷地寫入內(nèi)存,直到所要求的字節(jié)全部傳送完畢。④DMA控制器在傳送字節(jié)數(shù)完成時,通過中斷請求線發(fā)出中斷信號,CPU收到中斷信號后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進程,并返回被中斷的程序。⑤在以后的某個時刻,進程調(diào)度程序選中提出請求輸入的進程,該進程從指定的內(nèi)存始址取出數(shù)據(jù)做進一步處理。12/7/2023365.2I/O控制方式5.2.1程序I/O方式5.2.2中斷驅(qū)動I/O方式5.2.3直接存儲器訪問DMAI/O控制方式5.2.4I/O通道控制方式12/7/2023375.2.4I/O通道控制方式通道控制方式的概念

是一種以內(nèi)存為中心,是設(shè)備與內(nèi)存直接交換數(shù)據(jù)的控制方式。CPU只需要發(fā)出啟動指令,指出通道相應(yīng)的操作和I/O設(shè)備,該指令就可以啟動通道并使該通道從內(nèi)存中調(diào)出相應(yīng)的通道指令執(zhí)行。12/7/2023381.I/O通道控制方式的引入

與DMA類似,是以內(nèi)存為中心的數(shù)據(jù)交換方式。它可進一步減少CPU的干預(yù),即把對一個數(shù)據(jù)塊的讀(寫)為單位的干預(yù),減少為對一組數(shù)據(jù)塊的讀(寫)及有關(guān)的控制和管理為單位的干預(yù)。一個通道控制多臺設(shè)備。CPU僅在I/O操作的開始和結(jié)束時花費少量時間處理與I/O有關(guān)的工作。實現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個系統(tǒng)的資源利用率。5.2.4I/O通道控制方式12/7/2023392.通道程序與設(shè)備控制器共同實現(xiàn)對I/O設(shè)備的控制的。指令中含:(1)操作碼:規(guī)定指令所執(zhí)行的操作,如讀、寫、控制等。(2)內(nèi)存地址:標明字符送入內(nèi)存或從內(nèi)存取出的內(nèi)存首址。(3)計數(shù):本條指令所要讀/寫的字節(jié)數(shù)。(4)通道程序結(jié)束位:表示通道程序是否結(jié)束,P=1表示結(jié)束。(5)記錄結(jié)束標志:R=0,表示本指令與下一指令處理同一個記錄;R=1表示處理某記錄的最后一條指令。12/7/202340操作PR計數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE1125072012/7/202341圖通道的工作流程12/7/2023423.通道控制方式的步驟①當進程要求輸入數(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)中斷處理程序,喚醒等待輸入完成的進程,并返回被中斷的程序。④在以后的某個時刻,進程調(diào)度程序選中提出請求輸入的進程,該進程從指定的內(nèi)存始址取出數(shù)據(jù)做進一步處理。12/7/202343內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4I/O軟件5.5設(shè)備分配5.6磁盤存儲器管理12/7/2023445.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)12/7/2023455.3.1緩沖的引入(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾。(2)減少對CPU的中斷頻率,放寬對CPU中斷響應(yīng)時間的限制。(3)提高CPU和I/O設(shè)備之間的并行性。12/7/202346圖5-10利用緩沖寄存器實現(xiàn)緩沖12/7/2023475.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)12/7/2023485.3.2單緩沖和雙緩沖1.單緩沖(SingleBuffer)圖5-11單緩沖工作示意圖12/7/2023492.雙緩沖(DoubleBuffer)

圖5-12雙緩沖工作示意圖12/7/202350圖5-13雙機通信時緩沖區(qū)的設(shè)置12/7/2023515.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)12/7/2023525.3.3循環(huán)緩沖循環(huán)緩沖的引入:

當輸入與輸出速度基本匹配時,雙緩沖能獲得較好效果;當速度相差較大時,可引入多個緩沖,組織成循環(huán)緩沖的形式。12/7/2023535.3緩沖管理5.3.1緩沖的引入5.3.2單緩沖和雙緩沖5.3.3循環(huán)緩沖5.3.4緩沖池(BufferPool)12/7/2023545.3.4緩沖池(BufferPool)1.緩沖池的組成

專用緩沖的利用率不高,因此設(shè)置公用緩沖池,其中至少應(yīng)含有以下三種類型的緩沖區(qū): ①空(閑)緩沖區(qū); ②裝滿輸入數(shù)據(jù)的緩沖區(qū); ③裝滿輸出數(shù)據(jù)的緩沖區(qū)。 為了管理上的方便,可將相同類型的緩沖區(qū)鏈成一個隊列,于是可形成以下三個隊列:(1)空緩沖隊列emq(2)輸入隊列inq(3)輸出隊列outq12/7/2023552.緩沖區(qū)的工作方式

圖5-15緩沖區(qū)的工作方式12/7/202356內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4I/O軟件

5.5設(shè)備分配

5.6磁盤存儲器管理12/7/2023575.4I/O軟件5.4.1I/O軟件的設(shè)計目標和原則5.4.2中斷處理程序5.4.3設(shè)備驅(qū)動程序5.4.4設(shè)備獨立性軟件5.4.5用戶層的I/O軟件12/7/2023585.4.1I/O軟件的設(shè)計目標和原則I/O系統(tǒng)的層次及功能用戶層軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序硬件產(chǎn)生I/O請求、格式化I/O、Spooling映射、保護、分塊、緩沖、分配設(shè)置設(shè)備寄存器,檢查寄存器狀態(tài)執(zhí)行I/O操作圖5-16I/O系統(tǒng)的層次及功能12/7/2023595.4I/O軟件5.4.1I/O軟件的設(shè)計目標和原則5.4.2中斷處理程序5.4.3設(shè)備驅(qū)動程序5.4.4設(shè)備獨立性軟件5.4.5用戶層的I/O軟件12/7/2023605.4.2中斷處理程序中斷處理程序的處理過程:(1)喚醒被阻塞的驅(qū)動進程(2)保護被中斷進程的CPU環(huán)境(3)轉(zhuǎn)入相應(yīng)的設(shè)備處理程序(4)中斷處理(5)恢復(fù)被中斷進程的現(xiàn)場12/7/202361圖5-17中斷現(xiàn)場保護示意圖12/7/202362圖5-18中斷處理流程12/7/2023635.4.3設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序又稱為設(shè)備處理程序,是I/O進程與設(shè)備控制器之間的通信程序。1.設(shè)備驅(qū)動程序功能(1)接收由I/O進程發(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è)置有通道的計算機系統(tǒng),驅(qū)動程序還應(yīng)能夠根據(jù)用戶的I/O請求,自動地構(gòu)成通道程序。12/7/2023642.設(shè)備處理方式

在不同的操作系統(tǒng)中所采用的設(shè)備處理方式并不完全相同。根據(jù)在設(shè)備處理時是否設(shè)置進程,以及設(shè)置什么樣的進程而把設(shè)備處理方式分成以下三類:(1)為每一類設(shè)備設(shè)置一個進程,專門用于執(zhí)行這類設(shè)備的I/O操作。(2)在整個系統(tǒng)中設(shè)置一個I/O進程,專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的I/O操作。(3)不設(shè)置專門的設(shè)備處理進程,而只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序(模塊),供用戶進程或系統(tǒng)進程調(diào)用。12/7/2023653.設(shè)備驅(qū)動程序的特點(1)驅(qū)動程序主要是指在請求I/O的進程與設(shè)備控制器之間的一個通信和轉(zhuǎn)換程序。(2)驅(qū)動程序與設(shè)備控制器和I/O設(shè)備的硬件特性緊密相關(guān),因而對不同類型的設(shè)備應(yīng)配置不同的驅(qū)動程序。(3)驅(qū)動程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān),常用中斷驅(qū)動和DMA方式。(4)由于驅(qū)動程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語言書寫。12/7/2023664.設(shè)備驅(qū)動程序的處理過程(1)將抽象要求轉(zhuǎn)換為具體要求。設(shè)置控制器中的寄存器(2)檢查I/O請求的合法性。若請求的設(shè)備不支持本次的I/O請求,認為是非法操作。(3)讀出和檢查設(shè)備的狀態(tài)。檢查設(shè)備是否空閑或是否就緒。(4)傳送必要的參數(shù)。如數(shù)據(jù)量、起始地址等。(5)工作方式的設(shè)置。對于有多種工作方式的設(shè)備進行設(shè)置。(6)啟動I/O設(shè)備12/7/202367設(shè)備驅(qū)動程序工作流程12/7/2023681.設(shè)備獨立性的概念為了提高OS的可適應(yīng)性和可擴展性,在現(xiàn)代OS中實現(xiàn)了設(shè)備獨立性,也稱為設(shè)備無關(guān)性。含義:應(yīng)用程序獨立于具體使用的物理設(shè)備,即是指用戶在編程序時所使用的設(shè)備與實際設(shè)備無關(guān)。引入邏輯設(shè)備和物理設(shè)備這兩個概念。在應(yīng)用程序中,使用邏輯設(shè)備名稱來請求使用某類設(shè)備;而系統(tǒng)在實際執(zhí)行時,還必須使用物理設(shè)備名稱。系統(tǒng)須具有將邏輯設(shè)備名稱轉(zhuǎn)換為某物理設(shè)備名稱的功能,這非常類似于存儲器管理中所介紹的邏輯地址和物理地址的概念5.4.4設(shè)備獨立性軟件12/7/202369設(shè)備獨立性的優(yōu)點(1)設(shè)備分配時的靈活性系統(tǒng)可將該邏輯設(shè)備類中的任一臺分配給進程使用所有設(shè)備均占用時才阻塞(2)易于實現(xiàn)I/O重定向所謂I/O重定向,指用于I/O操作的設(shè)備可以更換,而不必變應(yīng)用程序如調(diào)試程序時輸出到屏幕,而實際應(yīng)用時改為輸出到打印機(邏輯設(shè)備表中的顯示終端改為打印機)12/7/2023702.設(shè)備獨立性軟件為了實現(xiàn)設(shè)備獨立性,必須在設(shè)備驅(qū)動程序上設(shè)置一層軟件,稱為設(shè)備獨立性軟件。設(shè)備獨立性軟件主要功能(1)執(zhí)行所有設(shè)備的公有操作對獨立設(shè)備的分配與回收將邏輯設(shè)備名映射為物理設(shè)備名,進一步可以找到相應(yīng)物理設(shè)備的驅(qū)動程序?qū)υO(shè)備進行保護,禁止用戶直接訪問設(shè)備緩沖管理,即對字符設(shè)備和塊設(shè)備的緩沖區(qū)進行有效的管理差錯控制(2)向用戶層(或文件層)軟件提供統(tǒng)一接口無論何種設(shè)備,它們向用戶所提供的接口應(yīng)該是相同的對各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對各種設(shè)備的寫操作,也都使用write12/7/202371圖5-18邏輯設(shè)備表3.邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)

(1)邏輯設(shè)備表(LUT)用于實現(xiàn)將應(yīng)用程序中的邏輯設(shè)備名映射為物理設(shè)備名。(2)邏輯設(shè)備表的設(shè)置整個系統(tǒng)中設(shè)置一張LUT為每個用戶設(shè)置一張LUT12/7/2023725.4.5用戶層的I/O軟件大部分I/O軟件都在操作系統(tǒng)內(nèi)部,只有一小部分在用戶層。用戶層軟件必須通過一組系統(tǒng)調(diào)用來取得操作系統(tǒng)服務(wù)。現(xiàn)代高級語言通常提供了與各系統(tǒng)調(diào)用一一對應(yīng)的庫函數(shù),用戶程序通過調(diào)用對應(yīng)的庫函數(shù)使用系統(tǒng)調(diào)用。12/7/202373內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4I/O軟件

5.5

設(shè)備分配

5.6磁盤存儲器管理12/7/2023745.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3獨占設(shè)備的分配程序5.4.4SPOOLing技術(shù)12/7/2023755.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)在多道程序環(huán)境下,系統(tǒng)中的設(shè)備所有進程共享,為防止進程對系統(tǒng)資源的無序競爭,必須由系統(tǒng)統(tǒng)一分配設(shè)備。為確保CPU與設(shè)備之間能進行通信,還應(yīng)分配相應(yīng)的控制器和通道。為實現(xiàn)設(shè)備分配,系統(tǒng)中應(yīng)設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。12/7/202376圖5-20設(shè)備控制表1.設(shè)備控制表DCT系統(tǒng)為每個設(shè)備配置一張設(shè)備控制表,用于記錄設(shè)備的特性及I/O控制器連接的情況。請求隊列,指向PCB發(fā)生錯誤時的重傳可連多個控制器12/7/202377圖5-21COCT、CHCT和SDT表2.控制器控制表、通道控制表和系統(tǒng)設(shè)備表(1)控制器控制表。每個控制器配置一張表,它反映控制器的使用狀態(tài)以及和通道的連接狀況等。12/7/202378圖5-21COCT、CHCT和SDT表(2)通道控制表。為每個通道配置一張表,它反映通道的使用狀態(tài)。12/7/202379圖5-21COCT、CHCT和SDT表(3)系統(tǒng)設(shè)備表。它記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況,每個物理設(shè)備占一個表目。整個系統(tǒng)配置一張。12/7/2023805.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3獨占設(shè)備的分配程序5.4.4SPOOLing技術(shù)12/7/2023815.4.2設(shè)備分配時應(yīng)考慮的因素1.設(shè)備的固有屬性(1)獨占性。獨占設(shè)備是不能同時共用的設(shè)備,即在一段時間內(nèi),該設(shè)備只允許一個進程獨占。臨界資源(2)共享性。允許多個進程同時共享。(3)可虛擬性。虛擬設(shè)備是利用某種技術(shù)把獨占設(shè)備改造成可由多個進程共享的設(shè)備。2.設(shè)備分配算法(1)先來先服務(wù)(2)優(yōu)先級高者優(yōu)先12/7/2023823.設(shè)備分配中的安全性(1)安全分配方式每當進程發(fā)出I/O請求后,便進入阻塞狀態(tài),I/O操作完成后喚醒。摒棄了“請求和保持”條件,不會產(chǎn)生死鎖。缺點:進程進展緩慢,即CPU與I/O設(shè)備串行工作的。(2)不安全分配方式

進程發(fā)出I/O請求后仍繼續(xù)運行。可操作多個設(shè)備,推進迅速。缺點:不安全,具備“請求和保持”條件,可能死鎖。12/7/2023835.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3獨占設(shè)備的分配程序5.4.4SPOOLing技術(shù)12/7/2023845.4.3獨占設(shè)備的分配程序1.基本的設(shè)備分配程序(1)分配設(shè)備。查找系統(tǒng)設(shè)備表SDT和設(shè)備控制表DCT。(2)分配控制器。查找控制器控制表COCT。(3)分配通道。查找通道控制表CHCT。只有在設(shè)備、控制器和通道三者都分配成功時,此次設(shè)備分配才算成功。12/7/2023852.設(shè)備分配程序的改進基本分配程序的問題進程以物理設(shè)備名提出I/O請求,無設(shè)備獨立性。采用單通路I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生瓶頸。改進方案(1)增加設(shè)備獨立性。(2)考慮多通路情況。12/7/2023865.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.4.2設(shè)備分配時應(yīng)考慮的因素5.4.3獨占設(shè)備的分配程序5.4.4SPOOLing技術(shù)12/7/2023871.什么是SPOOLing技術(shù)(1)脫機輸入、輸出技術(shù)(2)在主機的直接控制下,實現(xiàn)脫機輸入、輸出功能,此時的外圍操作與CPU對數(shù)據(jù)的處理同時進行。把這種在聯(lián)機情況下實現(xiàn)的同時外圍操作稱為SPOOLing(SimultaneausPeriphernalOperatingOn-Line),或稱為假脫機操作。5.4.4SPOOLing技術(shù)12/7/2023882.SPOOLing系統(tǒng)的組成輸入井和輸出井在磁盤上的兩個存儲空間輸入井模擬脫機輸入,暫存輸入數(shù)據(jù)輸出井模擬脫機輸出,暫存輸出數(shù)據(jù)輸入緩沖區(qū)和輸出緩沖區(qū)(內(nèi)存中)用來緩和CPU與磁盤之間的速度的矛盾輸入進程SPi和輸出進程SPo模擬脫機I/O時的外圍控制機12/7/202389圖5-19SPOOLing系統(tǒng)的組成12/7/2023903.共享打印機打印機為獨占設(shè)備,利用SPOOLing技術(shù),可將之改造為共享設(shè)備用戶請求打印時,SPOOLing系統(tǒng)處理如下由輸出進程在輸出井中為之申請一個空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上12/7/202391內(nèi)容概述5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4I/O軟件5.5設(shè)備分配5.6磁盤存儲器管理12/7/2023925.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列12/7/2023935.6.1磁盤性能簡述圖5-24磁盤的格式化1.數(shù)據(jù)的組織和格式盤片、盤面、磁道、扇區(qū)扇區(qū)有標識符字段和數(shù)據(jù)字段12/7/2023942.磁盤的類型(1)固定頭磁盤這種磁盤在每條磁道上都有一讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中。通過這些磁頭可訪問所有各磁道,并進行并行讀/寫,有效地提高了磁盤的I/O速度。(2)移動頭磁盤每一個盤面僅配有一個磁頭,也被裝入磁臂中。為能訪問該盤面上的所有磁道,該磁頭必須能移動以進行尋道。12/7/2023953.磁盤訪問時間

(1)尋道時間Ts

這是指把磁臂(磁頭)移動到指定磁道上所經(jīng)歷的時間。該時間是啟動磁臂的時間s與磁頭移動n條磁道所花費的時間之和,即Ts=m×n+s(2)旋轉(zhuǎn)延遲時間Tτ這是指定扇區(qū)移動到磁頭下面所經(jīng)歷的時間。12/7/202396(3)傳輸時間Tt這是指把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間。Tt的大小與每次所讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān)r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù)。12/7/2023975.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列12/7/2023985.6.2磁盤調(diào)度圖5-25FCFS調(diào)度算法1.先來先服務(wù)FCFS根據(jù)進程請求訪問磁盤的先后次序進行調(diào)度。簡單、公平,每個進程得到滿足。適合請求磁盤進程數(shù)目少。對尋道未優(yōu)化。平均尋道時間可能較長。12/7/2023990383955589010015016018418圖5-25FCFS調(diào)度算法12/7/20231002.最短尋道時間優(yōu)先SSTF與當前磁頭所在磁道距離最近。每次尋道時間最短。不能保證平均尋道時間最短。有“饑餓”現(xiàn)象。圖5-26SSTF調(diào)度算法27.512/7/20231010383955589010015016018418圖5-26SSTF調(diào)度算法27.512/7/20231023.掃描(SCAN)算法

SSTF算法雖然能獲得較好的尋道性能,但卻可能導(dǎo)致某個進程發(fā)生“饑餓”(Starvation)現(xiàn)象。05016012/7/2023103SCAN算法圖5-27SCAN調(diào)度算法示例12/7/2023104038395558901001501601841812/7/2023105圖5-28CSCAN調(diào)度算法示例4.循環(huán)掃描(CSCAN)算法

規(guī)定磁頭單向移動減少剛移過的磁道的等待時間35.812/7/2023106038395558901001501601841835.812/7/20231075.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只將磁盤請求隊列分成兩個子隊列。一個是由當前所有請求磁盤I/O的進程形成的隊列,由磁盤調(diào)度按SCAN算法進行處理。在掃描期間,將新出現(xiàn)的所有請求磁盤I/O的進程,放入另一個等待處理的請求隊列。12/7/20231085.6磁盤存儲器管理5.6.1磁盤性能簡述5.6.2磁盤調(diào)度5.6.3磁盤高速緩存(DiskCache)5.6.4提高磁盤I/O速度的其它方法5.6.5廉價磁盤冗余陣列12/7/20231095.6.3磁盤高速緩存(DiskCache)1.磁盤高速緩存的形式利用內(nèi)存中的存儲空間,來暫存從磁盤中讀出的一系列盤塊中的信息。高速緩存是一組在邏輯上屬于磁盤,而物理上是駐留在內(nèi)存中的盤塊。高速緩存在內(nèi)存中可分成兩種形式第一種是在內(nèi)存中開辟一個單獨的存儲空間來作為磁盤高速緩存,其大小是固定的。第二種是把所有未利用的內(nèi)存空間變?yōu)橐粋€緩沖池,供請求分頁系統(tǒng)和磁盤I/O時(作為磁盤高速緩存)共享。12/7/20231102.數(shù)據(jù)交付方式數(shù)據(jù)交付是指將磁盤高速緩存中的數(shù)據(jù)傳送給請求者進程。當有進程請求訪問某個盤塊時,選查看磁盤高速緩存系統(tǒng)可以采取兩種方式,將數(shù)據(jù)交付給請求進程:(1)數(shù)據(jù)交付。這是直接將高速緩存中的數(shù)據(jù),傳送到請求者進程的內(nèi)存工作區(qū)中。(2)指針交付。只將指向高速緩存中某區(qū)域的指針,交付給請求者進程。

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論