第六章輸入輸出系統(tǒng)_第1頁(yè)
第六章輸入輸出系統(tǒng)_第2頁(yè)
第六章輸入輸出系統(tǒng)_第3頁(yè)
第六章輸入輸出系統(tǒng)_第4頁(yè)
第六章輸入輸出系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩92頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第六章輸入輸出系統(tǒng)第一頁(yè),共97頁(yè)。6.1I/O系統(tǒng)的功能、模型和接口I/O系統(tǒng)管理的主要對(duì)象是I/O設(shè)備和相應(yīng)的設(shè)備控制器I/O系統(tǒng)管理的主要任務(wù):完成用戶提出的I/O請(qǐng)求提高I/O速率提高I/O設(shè)備的利用率為用戶提供一個(gè)友好的透明接口2第二頁(yè),共97頁(yè)。6.1I/O系統(tǒng)的功能、模型和接口I/O系統(tǒng)管理的主要功能:緩沖區(qū)管理設(shè)備分配設(shè)備處理虛擬設(shè)備及實(shí)現(xiàn)設(shè)備獨(dú)立性3第三頁(yè),共97頁(yè)。6.1.1I/O系統(tǒng)的基本功能1.隱藏物理設(shè)備的細(xì)節(jié)2.與設(shè)備的無(wú)關(guān)性3.提高處理機(jī)和I/O設(shè)備的利用率4.對(duì)I/O設(shè)備進(jìn)行控制5.確保對(duì)設(shè)備的正確共享6.錯(cuò)誤處理第四頁(yè),共97頁(yè)。6.1.2I/O系統(tǒng)的層次結(jié)構(gòu)和模型當(dāng)I/O結(jié)束時(shí),喚醒驅(qū)動(dòng)程序第五頁(yè),共97頁(yè)。第六頁(yè),共97頁(yè)。6.1.3I/O系統(tǒng)接口塊設(shè)備接口塊設(shè)備隱藏了磁盤的二維結(jié)構(gòu)將抽象命令映射為低層操作流設(shè)備接口

字符設(shè)備

get和put操作

in-control命令網(wǎng)絡(luò)通信接口第七頁(yè),共97頁(yè)。6.2I/O設(shè)備和設(shè)備控制器

I/O設(shè)備——執(zhí)行I/O操作的機(jī)械部分設(shè)備控制器——執(zhí)行控制I/O的電子部件6.2.1I/O設(shè)備1、類型(1)按速度分:低:鍵盤中:打印機(jī)高:磁盤。(2)按信息交換單位分:塊:磁盤,可定位字符:打印機(jī)、串口8第八頁(yè),共97頁(yè)。6.2I/O設(shè)備和設(shè)備控制器6.2.1I/O設(shè)備1、類型(3)按設(shè)備的共享屬性分:獨(dú)占:如臨界資源共享:磁盤虛擬:如本身因有屬性為獨(dú)占,但通過(guò)虛擬技術(shù)將其變換為幾個(gè)邏輯設(shè)備。(4)按使用特性分類:有存儲(chǔ)設(shè)備和I/O設(shè)備。9第九頁(yè),共97頁(yè)。2、設(shè)備與控制器之間的接口CPU―――控制器―――設(shè)備三種信號(hào):(1)數(shù)據(jù)信號(hào):雙向,有緩存(模擬-數(shù)字)(2)控制信號(hào):控制器發(fā)給設(shè)備;要求其完成相關(guān)操作(3)狀態(tài)信號(hào):傳送指示設(shè)備當(dāng)前狀態(tài)的信號(hào);圖6-3設(shè)備與控制器間的接口

10第十頁(yè),共97頁(yè)。6.2.2設(shè)備控制器1、功能:接收CPU命令,控制I/O設(shè)備工作,解放CPU.1)接收和識(shí)別命令。應(yīng)有相應(yīng)的Register來(lái)存放命令(“命令寄存器”)2)數(shù)據(jù)交換CPU——控制器的數(shù)據(jù)寄存器——設(shè)備3)標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)設(shè)備控制器中應(yīng)用“狀態(tài)寄存器”

4)地址識(shí)別CPU通過(guò)“地址”與設(shè)備通信,設(shè)備控制器應(yīng)能識(shí)別它所控制的設(shè)備地址以及其各寄存器的地址。11第十一頁(yè),共97頁(yè)。6.2.2設(shè)備控制器1、功能:接收CPU命令,控制I/O設(shè)備工作,解放CPU,5)數(shù)據(jù)緩沖6)差錯(cuò)控制2、組成(圖6.4)各類寄存器:數(shù)據(jù)、控制、狀態(tài)信號(hào)線:數(shù)據(jù)線(獨(dú)立尋址、內(nèi)存尋址)、地址線、控制線I/O邏輯:在其控制下完成與CPU、設(shè)備的通信。12第十二頁(yè),共97頁(yè)。圖6.4設(shè)備控制器的組成

13第十三頁(yè),共97頁(yè)。6.2.3內(nèi)存映像I/O利用特定的I/O指令。內(nèi)存映像I/O。第十四頁(yè),共97頁(yè)。6.2.4I/O通道

1.I/O通道(I/OChannel)設(shè)備的引入

實(shí)際上,I/O通道是一種特殊的處理機(jī)。它具有執(zhí)行I/O指令的能力,并通過(guò)執(zhí)行通道(I/O)程序來(lái)控制I/O操作。但I(xiàn)/O通道又與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個(gè)方面:一是其指令類型單一,這是由于通道硬件比較簡(jiǎn)單,其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令;再就是通道沒有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的,換言之,是通道與CPU共享內(nèi)存。15第十五頁(yè),共97頁(yè)。6.2.4I/O通道1、引入通道 一種特殊的執(zhí)行I/O指令的處理機(jī),與CPU共享內(nèi)存,可以有自己的總線。引入目的 解脫CPU對(duì)I/O的組織、管理。CPU只需發(fā)送I/O命令給通道,通道通過(guò)調(diào)用內(nèi)存中的相應(yīng)通道程序完成任務(wù)。

16第十六頁(yè),共97頁(yè)。6.2.4I/O通道2、類型1.字節(jié)多路通道:(圖6-6)各子通道以時(shí)間片輪轉(zhuǎn)方式共享通道,適用于低、中速設(shè)備。2.數(shù)組選擇通道:無(wú)子通道,僅一主通道,某時(shí)間由某設(shè)備獨(dú)占,適于高速設(shè)備。但通道未共享,利用率低。3.數(shù)組多路通道:綜合了前面2種通道類型的優(yōu)點(diǎn)。17第十七頁(yè),共97頁(yè)。2.通道類型1)字節(jié)多路通道(ByteMultiplexorChannel)

圖6-6字節(jié)多路通道的工作原理18第十八頁(yè),共97頁(yè)。2)數(shù)組選擇通道(BlockSelectorChannel)

字節(jié)多路通道不適于連接高速設(shè)備,這推動(dòng)了按數(shù)組方式進(jìn)行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺(tái)高速設(shè)備,但由于它只含有一個(gè)分配型子通道,在一段時(shí)間內(nèi)只能執(zhí)行一道通道程序,控制一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳送,致使當(dāng)某臺(tái)設(shè)備占用了該通道后,便一直由它獨(dú)占,即使是它無(wú)數(shù)據(jù)傳送,通道被閑置,也不允許其它設(shè)備使用該通道,直至該設(shè)備傳送完畢釋放該通道。可見,這種通道的利用率很低。19第十九頁(yè),共97頁(yè)。

3)數(shù)組多路通道(BlockMultiplexorChannel)數(shù)組選擇通道雖有很高的傳輸速率,但它卻每次只允許一個(gè)設(shè)備傳輸數(shù)據(jù)。數(shù)組多路通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道(設(shè)備)分時(shí)并行操作的優(yōu)點(diǎn)相結(jié)合而形成的一種新通道。它含有多個(gè)非分配型子通道,因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺(tái)高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進(jìn)行的。20第二十頁(yè),共97頁(yè)。6.2.4I/O通道3、通道“瓶頸”問(wèn)題:圖6-7單通路I/O系統(tǒng)

21第二十一頁(yè),共97頁(yè)。圖6-8多通路I/O系統(tǒng)解決瓶頸:采用復(fù)聯(lián)的多通路方式22第二十二頁(yè),共97頁(yè)。微機(jī)I/O系統(tǒng)設(shè)備控制器:與設(shè)備是一對(duì)多的關(guān)系,系統(tǒng)是通過(guò)它與設(shè)備通信系統(tǒng)―――設(shè)備控制器―――設(shè)備23第二十三頁(yè),共97頁(yè)。ATypicalPCBusStructure24第二十四頁(yè),共97頁(yè)。6.3中斷機(jī)構(gòu)和中斷處理程序流程設(shè)備啟動(dòng)->I/O完成->發(fā)送中斷->CPU調(diào)用中斷處理過(guò)程中斷處理過(guò)程喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程保護(hù)被中斷進(jìn)程CPU環(huán)境轉(zhuǎn)入相應(yīng)的設(shè)備處理程序中斷處理(特性)恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)25第二十五頁(yè),共97頁(yè)。圖6-10中斷現(xiàn)場(chǎng)保護(hù)示意圖26第二十六頁(yè),共97頁(yè)。圖6-11中斷處理流程27第二十七頁(yè),共97頁(yè)。6.4設(shè)備驅(qū)動(dòng)程序設(shè)備處理程序即是設(shè)備驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的處理過(guò)程28第二十八頁(yè),共97頁(yè)。6.4設(shè)備驅(qū)動(dòng)程序6.4.1設(shè)備驅(qū)動(dòng)程序概述:(設(shè)備驅(qū)動(dòng)程序的功能、特點(diǎn)和處理方式)1.功能:接收由與設(shè)備無(wú)關(guān)的軟件發(fā)來(lái)的命令和參數(shù)檢查I/O命令合法性、檢查設(shè)備狀態(tài)、設(shè)置設(shè)備工作方式驅(qū)動(dòng)I/O操作響應(yīng)設(shè)備中斷構(gòu)成通道程序29第二十九頁(yè),共97頁(yè)。2.特點(diǎn):設(shè)備驅(qū)動(dòng)程序主要是指在請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信和轉(zhuǎn)換程序和I/O控制方式、硬件緊密相關(guān)各個(gè)設(shè)備有自己的設(shè)備驅(qū)動(dòng)驅(qū)動(dòng)程序應(yīng)允許可重入

6.4設(shè)備驅(qū)動(dòng)程序30第三十頁(yè),共97頁(yè)。6.4設(shè)備驅(qū)動(dòng)程序2.設(shè)備處理方式(1)為每一類設(shè)備設(shè)置一個(gè)進(jìn)程,專門用于執(zhí)行這類設(shè)備的I/O操作.(2)在整個(gè)系統(tǒng)中設(shè)置一個(gè)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)用。31第三十一頁(yè),共97頁(yè)。6.4.2設(shè)備驅(qū)動(dòng)程序處理過(guò)程包括啟動(dòng)過(guò)程中斷處理過(guò)程啟動(dòng)過(guò)程將抽象要求轉(zhuǎn)化為具體要求檢查I/O請(qǐng)求合法性讀出和檢查設(shè)備狀態(tài)傳送必要的參數(shù)設(shè)置工作方式啟動(dòng)I/O設(shè)備32第三十二頁(yè),共97頁(yè)。6.4.3I/O控制方式四個(gè)階段:程序I/O—中斷I/O—DMA控制—通道控制。趨勢(shì):提高并行度。33第三十三頁(yè),共97頁(yè)。1.程序I/O方式

在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時(shí)間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測(cè)試中,造成對(duì)CPU的極大浪費(fèi)。在該方式中,CPU之所以要不斷地測(cè)試I/O設(shè)備的狀態(tài),就是因?yàn)樵贑PU中無(wú)中斷機(jī)構(gòu),使I/O設(shè)備無(wú)法向CPU報(bào)告它已完成了一個(gè)字符的輸入操作。34第三十四頁(yè),共97頁(yè)。

程序I/O(忙—等待方式)查詢方式:CPU需花代價(jià)不斷查詢I/O狀態(tài)(圖5-7a)CPU資源浪費(fèi)極大。例:99.9ms+0.1ms=100ms在5.2.1中99.9在忙等35第三十五頁(yè),共97頁(yè)。2.中斷驅(qū)動(dòng)I/O控制方式

在I/O設(shè)備輸入每個(gè)數(shù)據(jù)的過(guò)程中,由于無(wú)須CPU干預(yù),因而可使CPU與I/O設(shè)備并行工作。僅當(dāng)輸完一個(gè)數(shù)據(jù)時(shí),才需CPU花費(fèi)極短的時(shí)間去做些中斷處理。可見,這樣可使CPU和I/O設(shè)備都處于忙碌狀態(tài),從而提高了整個(gè)系統(tǒng)的資源利用率及吞吐量。例如,從終端輸入一個(gè)字符的時(shí)間約為100ms,而將字符送入終端緩沖區(qū)的時(shí)間小于0.1ms。若采用程序I/O方式,CPU約有99.9ms的時(shí)間處于忙—等待中。采用中斷驅(qū)動(dòng)方式后,CPU可利用這99.9ms的時(shí)間去做其它事情,而僅用0.1ms的時(shí)間來(lái)處理由控制器發(fā)來(lái)的中斷請(qǐng)求。可見,中斷驅(qū)動(dòng)方式可以成百倍地提高CPU的利用率。36第三十六頁(yè),共97頁(yè)。

中斷I/O向I/O發(fā)命令—返回—執(zhí)行其它任務(wù)。I/O中斷產(chǎn)生—CPU轉(zhuǎn)相應(yīng)中斷處理程序。如:讀數(shù)據(jù),讀完后以中斷方式通知CPU,CPU完成數(shù)據(jù)從I/O—內(nèi)存37第三十七頁(yè),共97頁(yè)。3.直接存儲(chǔ)器訪問(wèn)DMAI/O控制方式1.DMA(DirectMemoryAccess)控制方式的引入

該方式的特點(diǎn)是:①數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,即在CPU與I/O設(shè)備之間,每次傳送至少一個(gè)數(shù)據(jù)塊;②所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反;③僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的??梢?,DMA方式較之中斷驅(qū)動(dòng)方式,又是成百倍地減少了CPU對(duì)I/O的干預(yù),進(jìn)一步提高了CPU與I/O設(shè)備的并行操作程度。

38第三十八頁(yè),共97頁(yè)。DMA方式—用于塊設(shè)備中1、引入中斷I/O,CPU“字節(jié)”干預(yù)一次,即每“字節(jié)”傳送產(chǎn)生一次中斷。DMA:由DMA控制器直接控制總線傳遞數(shù)據(jù)塊。DMA控制器完成從I/O——內(nèi)存。圖5.7c2、組成一組寄存器+控制邏輯。圖6-14CR(命令/狀態(tài));DR(數(shù)據(jù));MAR(內(nèi)存地址);DC(計(jì)數(shù))39第三十九頁(yè),共97頁(yè)。

為了實(shí)現(xiàn)在主機(jī)與控制器之間成塊數(shù)據(jù)的直接交換,必須在DMA控制器中設(shè)置如下四類寄存器:

(1)命令/狀態(tài)寄存器CR。用于接收從CPU發(fā)來(lái)的I/O命令或有關(guān)控制信息,或設(shè)備的狀態(tài)。

(2)內(nèi)存地址寄存器MAR。在輸入時(shí),它存放把數(shù)據(jù)從設(shè)備傳送到內(nèi)存的起始目標(biāo)地址;在輸出時(shí),它存放由內(nèi)存到設(shè)備的內(nèi)存源地址。

(3)數(shù)據(jù)寄存器DR。用于暫存從設(shè)備到內(nèi)存,或從內(nèi)存到設(shè)備的數(shù)據(jù)。

(4)數(shù)據(jù)計(jì)數(shù)器DC。存放本次CPU要讀或?qū)懙淖?節(jié))數(shù)。40第四十頁(yè),共97頁(yè)。圖6-14DMA控制器的組成

41第四十一頁(yè),共97頁(yè)。DirectMemoryAccess42第四十二頁(yè),共97頁(yè)。圖6-15DMA方式的工作流程3、DMA工作過(guò)程43第四十三頁(yè),共97頁(yè)。4.I/O通道控制方式1.I/O通道控制方式的引入

I/O通道方式是DMA方式的發(fā)展,它可進(jìn)一步減少CPU的干預(yù),即把對(duì)一個(gè)數(shù)據(jù)塊的讀(或?qū)?為單位的干預(yù),減少為對(duì)一組數(shù)據(jù)塊的讀(或?qū)?及有關(guān)的控制和管理為單位的干預(yù)。同時(shí),又可實(shí)現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個(gè)系統(tǒng)的資源利用率。例如,當(dāng)CPU要完成一組相關(guān)的讀(或?qū)?操作及有關(guān)控制時(shí),只需向I/O通道發(fā)送一條I/O指令,以給出其所要執(zhí)行的通道程序的首址和要訪問(wèn)的I/O設(shè)備,通道接到該指令后,通過(guò)執(zhí)行通道程序便可完成CPU指定的I/O任務(wù)。44第四十四頁(yè),共97頁(yè)。4.I/O通道控制方式

DMA方式:對(duì)需多離散塊的讀取仍需要多次中斷。通道方式:CPU只需給出(1)通道程序首址。(2)要訪問(wèn)I/O設(shè)備后,通道程序就可完成一組塊操作

操作PRecord計(jì)數(shù)內(nèi)存地址Write0080813Write001401034Write01605830Write013002000Write002501850Write1125072045第四十五頁(yè),共97頁(yè)。6.5與設(shè)備無(wú)關(guān)的I/O軟件1、概念:即設(shè)備無(wú)關(guān)性,指應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。邏輯設(shè)備物理設(shè)備邏輯設(shè)備表(LUT):分配流程:進(jìn)程給出邏輯名——通過(guò)LUT得到物理設(shè)備及其driver入口。邏輯設(shè)備物理設(shè)備Driver入口6.5.1與設(shè)備無(wú)關(guān)的I/O軟件的基本概念與設(shè)備無(wú)關(guān)的I/O軟件——設(shè)備獨(dú)立性軟件46第四十六頁(yè),共97頁(yè)。6.5與設(shè)備無(wú)關(guān)的I/O軟件優(yōu)點(diǎn):1)設(shè)備分配更靈活;邏輯設(shè)備和物理設(shè)備間可以是多—多的映射關(guān)系。提高了物理設(shè)備的共享性,以及使用的靈活性。如:某邏輯名可對(duì)應(yīng)這一類設(shè)備,提高均衡性與容錯(cuò)性。幾個(gè)邏輯名可對(duì)應(yīng)某一個(gè)設(shè)備,提高共享性。2)易于實(shí)現(xiàn)I/O重定向。不變程序,只需改變LUT表的映射關(guān)系。47第四十七頁(yè),共97頁(yè)。6.5與設(shè)備無(wú)關(guān)的I/O軟件6.5.2設(shè)備獨(dú)立性軟件執(zhí)行所有設(shè)備的公有操作:設(shè)備驅(qū)動(dòng)程序的統(tǒng)一接口緩沖管理差錯(cuò)控制對(duì)獨(dú)立設(shè)備的分配與回收獨(dú)立與設(shè)備的邏輯數(shù)據(jù)塊向用戶層軟件提供統(tǒng)一接口read、write48第四十八頁(yè),共97頁(yè)。6.5.3設(shè)備分配

1.設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)

1).設(shè)備控制表DCT

圖6-17設(shè)備控制表49第四十九頁(yè),共97頁(yè)。2).控制器控制表、通道控制表和系統(tǒng)設(shè)備表

圖6-18COCT、CHCT和SDT表50第五十頁(yè),共97頁(yè)。2設(shè)備分配時(shí)應(yīng)考慮的因素

1.設(shè)備的固有屬性

獨(dú)享設(shè)備。

(2)共享設(shè)備。

(3)虛擬設(shè)備。51第五十一頁(yè),共97頁(yè)。2.設(shè)備分配算法先來(lái)先服務(wù)。(2)優(yōu)先級(jí)高者優(yōu)先。3.設(shè)備分配中的安全性

安全分配方式2)不安全分配方式52第五十二頁(yè),共97頁(yè)。3獨(dú)占設(shè)備分配程序

1.基本的設(shè)備分配程序

分配設(shè)備2)分配控制器3)分配通道2.設(shè)備分配程序的改進(jìn)

增加設(shè)備的獨(dú)立性

2)考慮多通路情況53第五十三頁(yè),共97頁(yè)。6.5與設(shè)備無(wú)關(guān)的I/O軟件6.5.4邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)LUT的生成在用戶進(jìn)程第一次請(qǐng)求設(shè)備時(shí)完成映射并在LUT中生成相應(yīng)項(xiàng)LUT的配置(1)整個(gè)系統(tǒng)一張LUT表:要求:邏輯名不重復(fù),(一般用于單用戶系統(tǒng))(2)每個(gè)用戶一張LUT表??芍孛?可限制用戶對(duì)某些設(shè)備的使用。邏輯設(shè)備物理設(shè)備Driver入口54第五十四頁(yè),共97頁(yè)。6.6用戶層的I/O軟件大部分的I/O軟件在操作系統(tǒng)中小部分在用戶層,如用戶程序鏈接在一起的庫(kù)函數(shù)用戶層軟件通過(guò)系統(tǒng)調(diào)用取得OS的服務(wù)55第五十五頁(yè),共97頁(yè)。6.6用戶層的I/O軟件6.6.1系統(tǒng)調(diào)用與庫(kù)函數(shù)

1.系統(tǒng)調(diào)用

為使諸進(jìn)程能有條不紊地使用I/O設(shè)備,且能保護(hù)設(shè)備的安全性,不允許運(yùn)行在用戶態(tài)的應(yīng)用進(jìn)程,去直接調(diào)用運(yùn)行在核心態(tài)(系統(tǒng)態(tài))的OS進(jìn)程。但另一方面,應(yīng)用進(jìn)程在運(yùn)行時(shí),又必須取得OS所提供的服務(wù),否則應(yīng)用程序幾乎無(wú)法運(yùn)行。為了解決此矛盾。OS在用戶層中引入了一個(gè)中介過(guò)程——系統(tǒng)調(diào)用。系統(tǒng)調(diào)用是應(yīng)用程序取得OS所有服務(wù)的唯一途徑。用戶進(jìn)程必須通過(guò)系統(tǒng)調(diào)用來(lái)獲取OS向用戶提供的所有功能。

第五十六頁(yè),共97頁(yè)。2.庫(kù)函數(shù)內(nèi)核與庫(kù)函數(shù)之間的關(guān)系:內(nèi)核提供了OS的基本功能,而庫(kù)函數(shù)擴(kuò)展了OS的內(nèi)核,使用戶能方便取得操作系統(tǒng)的服務(wù)。對(duì)于I/O方面,主要是對(duì)文件和設(shè)備進(jìn)行讀/寫的庫(kù)函數(shù),以及檢查/控制設(shè)備狀態(tài)的庫(kù)函數(shù),庫(kù)函數(shù)的集合是I/O系統(tǒng)的組成部分。

第五十七頁(yè),共97頁(yè)。6.6.2假脫機(jī)(SPOOLING)系統(tǒng)

1、概念脫機(jī)技術(shù):利用專門的外圍控制機(jī),將低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上,緩和CPU的高速性與I/O設(shè)備低速性間的矛盾;假脫機(jī)技術(shù),在聯(lián)機(jī)情況下同時(shí)出現(xiàn)外圍操作假脫機(jī)技術(shù)的作用:通過(guò)緩沖方式,將獨(dú)占設(shè)備改造為共享設(shè)備58第五十八頁(yè),共97頁(yè)。2、SPOOLing系統(tǒng)的組成:1)輸入#和輸出#:在磁盤上開辟的2個(gè)大存儲(chǔ)空間,模擬輸入和輸出設(shè)備。2)輸入buf和輸出buf(內(nèi)存中)輸入設(shè)備——輸入buf——輸入#——用戶區(qū)(1)用戶區(qū)——輸出#——輸出buf——設(shè)備(2)3)輸入Spi和輸出SPo進(jìn)程。分別控制(1),(2)的動(dòng)作。SPi相當(dāng)于脫機(jī)輸入控制器。SPo相當(dāng)于脫機(jī)輸出控制器。59第五十九頁(yè),共97頁(yè)。第六十頁(yè),共97頁(yè)。第六十一頁(yè),共97頁(yè)。第六十二頁(yè),共97頁(yè)。3、共享(1)輸入a.進(jìn)程n請(qǐng)求――>SPi為n在輸入#中分配空間——>設(shè)備數(shù)據(jù)由輸入buf送輸入#——>生成輸入請(qǐng)求表掛輸入請(qǐng)求隊(duì)列。b.CPU空——取請(qǐng)求表中的任務(wù),送進(jìn)程緩沖區(qū)。(2)輸出:(打印)a.進(jìn)程n請(qǐng)求——>SPo為n在輸出#中分配空間——>將數(shù)據(jù)由進(jìn)程buf轉(zhuǎn)到輸出#——>生成一打印請(qǐng)求表掛打印請(qǐng)求隊(duì)列。b.打印機(jī)空——>查打印請(qǐng)求表中的任務(wù)——>取輸出#中對(duì)于數(shù)據(jù)——>輸出buf——>打印63第六十三頁(yè),共97頁(yè)。4.SPOOLing的特點(diǎn)

1)提高I/O速度:對(duì)低速設(shè)備操作—>變?yōu)閷?duì)輸入/出#操作。2)將獨(dú)占設(shè)備改造為共享設(shè)備分配設(shè)備的實(shí)質(zhì)是分配輸入/出#3)實(shí)現(xiàn)了虛擬設(shè)備功能64第六十四頁(yè),共97頁(yè)。6.7緩沖管理

6.7.1緩沖的引入

緩和CPU與I/O設(shè)備間速度不匹配的矛盾。(2)減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制。(3)提高CPU和I/O設(shè)備之間的并行性。65第六十五頁(yè),共97頁(yè)。圖6-22利用緩沖寄存器實(shí)現(xiàn)緩沖66第六十六頁(yè),共97頁(yè)。6.7.2單緩沖和雙緩沖

1.單緩沖(SingleBuffer)

圖6-23單緩沖工作示意圖Max(C,T)+M67第六十七頁(yè),共97頁(yè)。2.雙緩沖(DoubleBuffer)

圖6-24雙緩沖工作示意圖Max(C,T)68第六十八頁(yè),共97頁(yè)。圖6-25雙機(jī)通信時(shí)緩沖區(qū)的設(shè)置69第六十九頁(yè),共97頁(yè)。例:假設(shè)T是從磁盤輸入一塊數(shù)據(jù)的時(shí)間,C是CPU對(duì)一塊數(shù)據(jù)進(jìn)行處理的時(shí)間,而M是將一塊數(shù)據(jù)從緩沖區(qū)傳送到用戶區(qū)的時(shí)間。當(dāng)用戶進(jìn)程按順序訪問(wèn)的方式處理大量的數(shù)據(jù)時(shí),請(qǐng)問(wèn)在單緩沖和雙緩沖的情況下,系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間分別是多少?70第七十頁(yè),共97頁(yè)。答:

從單緩沖的工作示意圖和時(shí)序圖可以看出:數(shù)據(jù)有I/O控制器到緩沖區(qū)和數(shù)據(jù)由緩沖區(qū)到工作區(qū),必須串行操作;同樣,數(shù)據(jù)從緩沖區(qū)到工作區(qū)和CPU從工作區(qū)取出數(shù)據(jù)進(jìn)行處理,也需串行進(jìn)行。但由于在順序訪問(wèn)時(shí)可采用預(yù)先讀的方式,即CPU在處理一塊數(shù)據(jù)時(shí),可從磁盤輸入下一塊數(shù)據(jù)。因此,系統(tǒng)對(duì)一塊數(shù)據(jù)處理的時(shí)間為Max(C,T)+M。而雙緩沖,數(shù)據(jù)由I/O控制器到雙緩沖,以及數(shù)據(jù)由雙緩沖到工作區(qū),可以并行工作,因此系統(tǒng)對(duì)一塊數(shù)據(jù)處理的時(shí)間為Max(T,M+C)。如果T>C,由于M<<T,則此時(shí)系統(tǒng)對(duì)一塊數(shù)據(jù)處理的時(shí)間約為Max(T,C),即T。71第七十一頁(yè),共97頁(yè)。6.7.3環(huán)型緩沖區(qū)

1.環(huán)型緩沖區(qū)的組成

圖6-26環(huán)型緩沖區(qū)

72第七十二頁(yè),共97頁(yè)。2.環(huán)型緩沖區(qū)的使用

Getbuf過(guò)程。(2)Releasebuf過(guò)程。3.進(jìn)程同步

Nexti指針追趕上Nextg指針。(2)Nextg指針追趕上Nexti指針。73第七十三頁(yè),共97頁(yè)。6.7.4緩沖池(BufferPool)

1.緩沖池的組成

公用緩沖池,含有以下三種類型的緩沖區(qū):

①空(閑)緩沖區(qū);

②裝滿輸入數(shù)據(jù)的緩沖區(qū);

③裝滿輸出數(shù)據(jù)的緩沖區(qū)。74第七十四頁(yè),共97頁(yè)。緩沖區(qū)的首部設(shè)備號(hào)數(shù)據(jù)塊號(hào)緩沖器號(hào)(number)互斥標(biāo)識(shí)位連接指針75第七十五頁(yè),共97頁(yè)。緩沖區(qū)隊(duì)列為了管理上的方便,可將相同類型的緩沖區(qū)鏈成一個(gè)隊(duì)列,于是可形成以下三個(gè)隊(duì)列:

(1)空緩沖隊(duì)列emq。

(2)輸入隊(duì)列inq。

(3)輸出隊(duì)列outq。

76第七十六頁(yè),共97頁(yè)。2.Getbuf過(guò)程和Putbuf過(guò)程

ProcedureGetbuf(type)

begin

Wait(RS(type));

Wait(MS(type));

B(number)∶=Takebuf(type);

Signal(MS(type));

end

ProcedurePutbuf(type,number)

begin

Wait(MS(type));

Addbuf(type,number);

Signal(MS(type));

Signal(RS(type));

end77第七十七頁(yè),共97頁(yè)。3.緩沖區(qū)的工作方式

圖6-27緩沖區(qū)的工作方式78第七十八頁(yè),共97頁(yè)。6.8磁盤存儲(chǔ)器性能和調(diào)度6.8.1磁盤性能簡(jiǎn)述1、數(shù)據(jù)組織和格式(圖6-28)磁道號(hào)——磁頭號(hào)——扇區(qū)——字節(jié)2、類型1)固定頭磁盤:每個(gè)磁道上有一個(gè)磁頭,快2)移動(dòng)頭磁盤:每個(gè)盤面僅有一個(gè)磁頭,慢79第七十九頁(yè),共97頁(yè)。第八十頁(yè),共97頁(yè)。圖6-29磁盤的格式化

81第八十一頁(yè),共97頁(yè)。6.8.1磁盤性能簡(jiǎn)述3、磁盤訪問(wèn)時(shí)間:

1)尋道時(shí)間:TS=m*n+sm:常量,n:磁道數(shù),s:磁臂啟動(dòng)時(shí)間。

2)旋轉(zhuǎn)延時(shí)間Tr:指定扇區(qū)旋轉(zhuǎn)到磁頭下所需時(shí)間。設(shè)每秒r轉(zhuǎn),則Tr=1/2r(均值)

3)數(shù)據(jù)傳輸時(shí)間Tt=b/rNb:讀寫字節(jié)數(shù)N:每道上的字節(jié)數(shù)訪問(wèn)時(shí)間:Ta=Ts+1/2r+b/rN可見,由于特定磁盤,適當(dāng)?shù)丶袛?shù)據(jù)傳輸,將更好提高傳輸效率。82第八十二頁(yè),共97頁(yè)。6.8.2磁盤調(diào)度算法

目標(biāo):減少尋道時(shí)間1、FCFS(FisrtComeFirstServed)先來(lái)先服務(wù)特點(diǎn):公平、簡(jiǎn)單,尋道時(shí)間長(zhǎng),相當(dāng)于隨機(jī)訪問(wèn)模式。僅適用于請(qǐng)求磁盤I/O的進(jìn)程數(shù)目較少的場(chǎng)合。2、SSTF(最短尋道優(yōu)先)最短尋道時(shí)間優(yōu)先

SSTF比FCFS有更好的尋道性能貪心的算法饑餓現(xiàn)象不能保證平均尋道時(shí)間最短?83第八十三頁(yè),共97頁(yè)。FCFSIllustrationshowstotalheadmovementof640cylinders.84第八十四頁(yè),共97頁(yè)。SSTF(Cont.)85第八十五頁(yè),共97頁(yè)。圖6-30FCFS調(diào)度算法圖6-31SSTF調(diào)度算法86第八十六頁(yè),共97頁(yè)。3、SCAN掃描算法(也稱為電梯算法)。進(jìn)程“饑餓現(xiàn)象”SSTF存在。SCAN算法:在移動(dòng)方向固定的情況下采用了SSTF,以避免饑餓現(xiàn)象存在請(qǐng)求進(jìn)程等待延遲現(xiàn)象4、循環(huán)掃描CSCAN磁頭單向移動(dòng)一個(gè)方向讀完,不是象SCAN那樣回頭,而是循環(huán)掃描。請(qǐng)求延遲時(shí)間:2TT+Smax87第八十七頁(yè),共97頁(yè)。SCAN(Cont.)88第八十八頁(yè),共97頁(yè)。C-SCAN(Cont.)89第八十九頁(yè),共97頁(yè)。圖6-32SCAN調(diào)度算法示例圖6-33CSCAN調(diào)度算法示例90第九十頁(yè),共97頁(yè)。6.8.2磁盤調(diào)度5、N—Step—SCAN和FSCAN算法。1)N—Step—SCAN磁臂粘著:由于連續(xù)對(duì)某磁道訪問(wèn)引起的壟斷訪問(wèn),將磁盤請(qǐng)求隊(duì)列分為長(zhǎng)為N的子隊(duì)列m個(gè),如下圖處理

溫馨提示

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