北方工業(yè)大學 計算機操作系統(tǒng) 第15講--設備管理_第1頁
北方工業(yè)大學 計算機操作系統(tǒng) 第15講--設備管理_第2頁
北方工業(yè)大學 計算機操作系統(tǒng) 第15講--設備管理_第3頁
北方工業(yè)大學 計算機操作系統(tǒng) 第15講--設備管理_第4頁
北方工業(yè)大學 計算機操作系統(tǒng) 第15講--設備管理_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第七章 設備管理第一節(jié)第一節(jié) 概述概述第二節(jié)第二節(jié) 數(shù)據(jù)傳送控制方式數(shù)據(jù)傳送控制方式第三節(jié)第三節(jié) 中斷技術中斷技術第四節(jié)第四節(jié) 緩沖技術緩沖技術第五節(jié)第五節(jié) 設備分配設備分配第六節(jié)第六節(jié) I/OI/O進程控制進程控制第七節(jié)第七節(jié) 設備驅(qū)動程序設備驅(qū)動程序27.1 概述設備除cpu及內(nèi)存以外的所有設備和裝置(I/O設備,存儲設備等)。存儲設備用來存放各種信息的設備稱為存儲設備,例如,軟盤、硬盤、光盤和磁帶等I/O設備用來向計算機輸入和輸出信息的設備,如鍵盤、鼠標、顯示器、打印機等37.1.1 外部設備分類 按系統(tǒng)和用戶分:系統(tǒng)、用戶按輸入輸出傳送方式分(UNIX或Linux系統(tǒng)):字符型設備、

2、塊設備按資源特點分:獨享設備、共享設備、虛擬設備按設備硬件物理特性分:順序存取設備、直接存取設備4按輸入輸出傳送方式分字符型設備:以字符為單位進行輸入、輸出的設備。每輸入或輸出一個字符就中斷一次主機CPU,請求進行處理。所以又稱慢速字符設備。塊設備:以字符塊為單位進行輸入、輸出的設備。例如:硬盤。5按資源特點分獨享設備:所有字符設備都是獨享設備。在一個用戶作業(yè)未完成或退出之前,此設備不能分配給其他作業(yè)用。打印機不能同時打印多個用戶作業(yè),否則輸出結(jié)果將會混在一起。共享設備:多個用戶作業(yè)或多個進程可以“同時”從這些設備上存取信息。軟硬盤、光盤等塊設備都是共享設備。虛擬設備:通過軟件技術將獨享設備改

3、造成共享設備。例如:通過SPOOLing技術將一臺打印機虛擬成多臺打印機。6按設備硬件物理特性分順序存取設備:存取時間與物理上當前位置有關。如:磁帶直接存取設備:存取時間與物理上當前位置關系不大。如:磁盤77.1.2 設備管理的任務選擇和分配輸入輸出設備控制輸入輸出設備和CPU或內(nèi)存之間的數(shù)據(jù)交換。為用戶提供一個友好的接口,把用戶和設備硬件特性分開,使用戶編程時不必關心設備的物理特性。盡量提高輸入輸出設備的利用率,發(fā)揮主機與外設以及外設與外設之間的真正并行工作能力。87.1.3 設備管理的功能提供與進程管理系統(tǒng)的接口,將進程要求傳達給設備管理程序。按設備類型和算法分配設備,包括相應的通道、設備

4、控制器。對未分配到設備的任務或作業(yè)進入等待隊列。實現(xiàn)設備和設備、設備和CPU之間的并行操作。這需要一些硬件設備的支持。進行存儲緩沖區(qū)管理。97.2 數(shù)據(jù)傳送控制方式數(shù)據(jù)傳送設備與CPU或內(nèi)存的數(shù)據(jù)交互傳送方式程序直接控制中斷控制DMA控制通道控制評價指標速度快、數(shù)據(jù)不丟失、系統(tǒng)開銷小10程序直接控制由用戶進程直接控制內(nèi)存與外部設備的數(shù)據(jù)傳輸當用戶進程需要數(shù)據(jù)時,它通過CPU發(fā)送“設備啟動命令”,用戶進程進入測試等待狀態(tài);在等待時間內(nèi)CPU不斷用一條測試指令檢查設備的工作狀態(tài)當數(shù)據(jù)準備好后,狀態(tài)寄存器的狀態(tài)置為完成狀態(tài),發(fā)出“Done”信號,開始向內(nèi)存?zhèn)魉蛿?shù)據(jù)11程序直接控制方式的特點CPU和外

5、部設備之間只能串行工作CPU在一段時間只能與一臺外部設備交換信息,所以不能實現(xiàn)設備之間的并行工作CPU的處理速度遠遠高于外部設備,所以CPU的利用率大大降低。由于這種方式是依靠測試設備的狀態(tài)寄存器的狀態(tài)位來控制數(shù)據(jù)的傳輸,所以,無法發(fā)現(xiàn)和處理由于設備或其他硬件所產(chǎn)生的錯誤。127.2.2 中斷方式與程序直接方式不同,它是靠中斷來實現(xiàn)設備與內(nèi)存的數(shù)據(jù)傳輸控制。處理過程:1.當進程要求數(shù)據(jù)時,由CPU發(fā)出START命令,啟動外設準備數(shù)據(jù)。同時中斷允許位打開。2. 現(xiàn)運行進程放棄CPU,等待輸入完成。進程調(diào)度程序選擇一個新的進程在CPU上運行。3. 當數(shù)據(jù)從相應的設備送到緩沖區(qū)后,由I/O控制器發(fā)中

6、斷請求,CPU接到請求后,中斷現(xiàn)運行進程,轉(zhuǎn)中斷處理程序執(zhí)行數(shù)據(jù)傳輸。4. 在以后某個時刻,被中斷進程由于獲得了數(shù)據(jù)而繼續(xù)運行。 13中斷方式的特點1. 由于I/O控制器的數(shù)據(jù)緩沖寄存器比較小,裝滿數(shù)據(jù)后發(fā)生中斷,因此一次數(shù)據(jù)傳輸中會造成多次中斷,消耗大量的CPU時間。2. 由于系統(tǒng)中的設備較多,中斷太多,會使CPU無法響應中斷,造成數(shù)據(jù)丟失。3. 如果外部設備的速度也比較高,CPU不能及時取走緩沖寄存器的數(shù)據(jù),那么就會出現(xiàn)數(shù)據(jù)丟失。147.2.3 DMA方式當需要傳輸大量數(shù)據(jù)時,程序I/O方式和中斷I/O方式都會浪費大量的CPU時間,因此,需要一種更有效的技術處理大量數(shù)據(jù)的傳輸DMA(直接存

7、儲器存取)方式:當處理器希望讀或?qū)懸粔K數(shù)據(jù)時,它給DMA模塊產(chǎn)生一條指令,發(fā)送以下信息涉及的I/O設備的地址開始讀或?qū)懙拇鎯ζ鲉卧枰x或?qū)懙淖謹?shù)15DMA方式n處理器然后繼續(xù)其他工作,而把這個操作委托給DMA模塊,由該模塊處理。nDMA模塊直接從存儲器中或者往存儲器中傳送整個數(shù)據(jù)塊,每次傳送一個字。n當傳送完成后,DMA模塊給處理器發(fā)一個中斷信號。n因此,只有在開始傳送和結(jié)束傳送時才會用到處理器System BusI/OControllerI/OControllerProcessorDMAControllerMemory.16DMA方式nDMA方式的特點:作為高速的外圍設備與內(nèi)存之間進行成批

8、的數(shù)據(jù)交換,但不對數(shù)據(jù)作加工處理。數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,I/O操作的類型比較簡單需要使用一個專門的DMA控制器(DMAC,Direct Memory Access Controller)。DMAC中有控制、狀態(tài)寄存器、傳送字節(jié)計數(shù)器、內(nèi)存地址寄存器和數(shù)據(jù)緩沖寄存器17DMA方式n采用盜竊總線控制權的方法,由DMAC送出內(nèi)存地址和發(fā)出內(nèi)存讀、設備寫或設備讀、內(nèi)存寫的控制信號來完成內(nèi)存與設備之間的直接數(shù)據(jù)傳送,而不用CPU的干預。有的DMA傳送甚至不經(jīng)過DMAC的數(shù)據(jù)緩沖寄存器的再吞吐,傳輸速率非常高。n僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需CPU干預,整塊數(shù)據(jù)的傳送是在控制器的控制下

9、完成的187.2.4 I/O通道方式n通道控制方式與DMA方式類似,也是一種以內(nèi)存為中心,實現(xiàn)設備與內(nèi)存直接交換數(shù)據(jù)的控制方式。與DMA方式相比,DMA方式每次僅傳輸一個數(shù)據(jù)塊的數(shù)據(jù),而通道卻可以一次傳輸若干個數(shù)據(jù)塊的數(shù)據(jù)。19I/O通道方式通道控制方式的數(shù)據(jù)輸入過程如下當進程要求輸入數(shù)據(jù)時,CPU發(fā)出驅(qū)動指令指明I/O操作、設備號和相應的通道對應通道接收到CPU發(fā)來的驅(qū)動指令后,把存放在內(nèi)存中的通道指令程序讀出,并執(zhí)行通道程序,控制設備將數(shù)據(jù)傳送到內(nèi)存指定的區(qū)域若數(shù)據(jù)傳送結(jié)束,則向CPU發(fā)出中斷請求。CPU收到中斷信號后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進程,并返回被中斷程序20System

10、 BusProcessorI/O BusI/OControllerI/OControllerI/OControllerI/OControllerMemoryChannelProcessor21通道指令通道指令一般包括:內(nèi)存地址(數(shù)據(jù))、傳送方向、數(shù)據(jù)長度、I/O設備的地址信息、特征信息。通道指令在進程要求數(shù)據(jù)時由系統(tǒng)自動生成。Wirte 0 0 250 1850(寫/通道指令未結(jié)束/記錄未結(jié)束/250個單元/內(nèi)存地址1850)Write 1 1 250 780 (寫/通道指令結(jié)束/記錄結(jié)束/250個單元/內(nèi)存地址780)22通道方式的特點設備與內(nèi)存直接交換數(shù)據(jù)。數(shù)據(jù)的傳送方向、內(nèi)存地址、長度等

11、是由通道來控制的。DMA中這些是由CPU控制的。一個通道可以控制多臺設備與內(nèi)存進行數(shù)據(jù)交換。DMA方式每臺設備至少一個DMA控制器。一個通道可以以分時方式同時執(zhí)行幾個通道指令。237.3 中斷技術7.3.1 中斷的基本思想7.3.2 中斷的分類與優(yōu)先級7.3.3 軟中斷7.3.4 中斷處理過程247.3.1 中斷的基本思想定義:中斷是指計算機在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或預期的急需處理事件,使得CPU暫時中斷當前的進程而轉(zhuǎn)去執(zhí)行相應的事件處理程序,待處理完成后又返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度新的進程執(zhí)行的過程。中斷源:引起發(fā)生中斷的事件叫做中斷源。中斷請求:中斷源向CPU發(fā)送的中斷信號叫

12、做中斷請求。中斷響應:CPU收到中斷請求后轉(zhuǎn)相應的事件處理程序稱為中斷響應。25中斷的基本思想禁止中斷(關中斷):由于處理機狀態(tài)字PSW的中斷允許位可能被清除,導致CPU不響應中斷,直到PSW的中斷許可位被重新設置,即開中斷。開中斷和關中斷都是為保障程序執(zhí)行的原子性。中斷請求、關中斷、開中斷都是由硬件實現(xiàn)的。中斷屏蔽:中斷請求產(chǎn)生之后,系統(tǒng)用軟件方式有選擇地封鎖部分中斷,而允許其他中斷仍然能夠得到響應。有些中斷是不可屏蔽的,它們具有最高的中斷響應級別。267.3.2 中斷的分類與優(yōu)先級根據(jù)中斷源產(chǎn)生的條件,可把中斷分為內(nèi)部中斷和外部中斷:內(nèi)部中斷:來自處理機和內(nèi)存的中斷。內(nèi)中斷也叫做陷阱(tr

13、ap)。包括程序運算引起的各種錯誤,例如:數(shù)據(jù)格式錯、非法指令等。外部中斷:除了內(nèi)部中斷之外,其他來自外部的中斷都是外中斷。例如:I/O設備發(fā)出的I/O中斷、外部信號中斷等。中斷和陷入按輕重緩急分為不同的優(yōu)先級。CPU的PSW中也設有優(yōu)先級。如果中斷源的優(yōu)先級高于PSW則處理機響應該中斷;反之,屏蔽請求。中斷源的優(yōu)先級是固定的,處理機的優(yōu)先級則根據(jù)執(zhí)行情況由系統(tǒng)程序動態(tài)設定。27中斷和陷入的區(qū)別陷阱通常由處理機正在執(zhí)行的指令引起,而中斷是由與現(xiàn)行指令無關的中斷引起的。陷入處理程序提供的服務是為當前進程的,而中斷處理程序提供的服務則不是為當前進程的。CPU在執(zhí)行完一條指令后,下一條指令開始之前響

14、應中斷,而中斷執(zhí)行過程中又可以響應陷阱。有的系統(tǒng)將中斷處理程序在系統(tǒng)上下文上運行,而陷入在用戶的上下文上運行。287.3.3 軟中斷定義:通訊進程之間相互發(fā)送信號來模擬硬件中斷。一個進程A向進程B發(fā)送一個軟中斷信號后,當進程B占用處理機時,立即轉(zhuǎn)去執(zhí)行該軟中斷信號所對應的程序。有些系統(tǒng)中,將陷入劃歸到軟中斷處理。如當前執(zhí)行指令產(chǎn)生陷阱,則向當前執(zhí)行進程自身發(fā)出軟中斷信號,立即進入陷阱處理程序。297.3.4 中斷處理過程1.CPU檢查是否有響應中斷的條件:中斷請求、CPU允許中斷。條件不滿足則中斷處理程序不處理。2.如果CPU響應中斷,則先關中斷,以保證在中斷處理過程中不被中斷。3.保存中斷現(xiàn)

15、場。4.分析中斷原因,調(diào)用中斷處理子程序。如果同時有多個中斷,則響應級別最高的中斷。30中斷向量不同的中斷源有不同的中斷處理子程序。這些子程序的入口地址和不同的處理機狀態(tài)字一起構成中斷向量。存放在內(nèi)存的特定單元中。根據(jù)中斷源系統(tǒng)查詢中斷向量表,然后轉(zhuǎn)去相應的處理子程序。317.4 緩沖技術緩沖的引入緩沖的種類緩沖池的管理327.4.1 緩沖的引入處理機的處理速度很高,為了使處理機的速度和外部設備的速度匹配,一般在處理機和外部設備之間加一個或多個緩沖區(qū),達到設備之間和設備與處理機之間的并行處理目的。為了減少中斷次數(shù)。例如:當計算進程把大量的數(shù)據(jù)輸出到打印機上,由于CPU的輸出速度大大高于打印機的

16、速度,因此,CPU只好停下來等待。而CPU計算時,打印機卻空閑。兩種緩沖方案:用硬件緩沖寄存器;內(nèi)存緩沖區(qū)337.4.2 緩沖的種類單緩沖:在設備和處理機之間設置一個緩沖器。單緩沖不能實現(xiàn)設備之間的并行操作。雙緩沖:兩個緩沖器,以解決兩個設備之間的并行。但多個設備情況下仍然不可行。多緩沖:多個緩沖區(qū)連接起來組成兩部分,一部分專門用于輸入緩沖,另一部分專門用于輸出緩沖。緩沖池:將多個緩沖區(qū)連接起來統(tǒng)一管理,既可用于輸入,又可用于輸出。347.4.3 緩沖池的管理緩沖池由多個緩沖區(qū)組成。每個緩沖區(qū)由兩部分組成:一是緩沖區(qū)的首部,包括設備號、數(shù)據(jù)塊號、緩沖區(qū)號、互斥標識位、連接指針;另一部分是存放數(shù)據(jù)的為緩沖體。系統(tǒng)將各個緩沖區(qū)按照用途分為三種隊列:空閑隊列、裝滿輸入數(shù)據(jù)的隊列、裝滿輸出數(shù)據(jù)的隊列。除了這三種隊列外,系統(tǒng)還提

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論