版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、13/24/2022 第第5 5章章 設(shè)備管理設(shè)備管理 設(shè)備管理是操作系統(tǒng)中最繁雜且與硬件關(guān)系最密切的部分。通過本章學(xué)習(xí),讀者應(yīng)該掌握以下內(nèi)容:v數(shù)據(jù)傳輸方式v中斷技術(shù)v緩沖技術(shù)v設(shè)備分配技術(shù)v設(shè)備獨(dú)立性v設(shè)備驅(qū)動23/24/20225.1. I/O系統(tǒng) 5.2. I/O控制方式 5.3. 緩沖管理 5.4. I/O軟件 5.5. 設(shè)備分配 5.6. 磁盤存儲器的管理33/24/2022設(shè)備管理的目標(biāo)設(shè)備管理的目標(biāo)n 根據(jù)設(shè)備請求的情況,按照一定的算法,選擇和根據(jù)設(shè)備請求的情況,按照一定的算法,選擇和分配輸入輸出設(shè)備以便進(jìn)行數(shù)據(jù)傳輸操作;分配輸入輸出設(shè)備以便進(jìn)行數(shù)據(jù)傳輸操作;n 控制輸入輸入設(shè)
2、備和控制輸入輸入設(shè)備和CPU或內(nèi)存之間交換數(shù)據(jù),或內(nèi)存之間交換數(shù)據(jù),同時提高設(shè)備和設(shè)備之間、同時提高設(shè)備和設(shè)備之間、CPU和設(shè)備之間,以及和設(shè)備之間,以及進(jìn)程和進(jìn)程之間的并行操作度,以使操作系統(tǒng)獲得進(jìn)程和進(jìn)程之間的并行操作度,以使操作系統(tǒng)獲得最佳效率;最佳效率;n 為用戶提供一個友好的透明接口,把用戶和設(shè)備為用戶提供一個友好的透明接口,把用戶和設(shè)備硬件特性分開,使得用戶在編制應(yīng)用程序時不必涉硬件特性分開,使得用戶在編制應(yīng)用程序時不必涉及具體設(shè)備,系統(tǒng)按用戶要求控制設(shè)備工作。及具體設(shè)備,系統(tǒng)按用戶要求控制設(shè)備工作。43/24/2022設(shè)備管理功能設(shè)備管理功能設(shè)備分配與回收設(shè)備分配與回收緩沖管理緩
3、沖管理設(shè)備處理設(shè)備處理虛擬設(shè)備虛擬設(shè)備53/24/2022511 I/O設(shè)備設(shè)備 計算機(jī)系統(tǒng)的外圍設(shè)備包括:顯示器、鍵盤、紙帶閱讀器、紙帶穿孔機(jī)、打印機(jī)、磁帶、磁盤、光盤、激光打印機(jī)、繪圖儀、圖形數(shù)字化儀、鼠標(biāo)器、聲音輸入、聲音輸出設(shè)備以及辦公自動化設(shè)備等等,種類相當(dāng)繁多,可從不同的角度對它們進(jìn)行分類。 5.1 I/O系統(tǒng)系統(tǒng)63/24/2022n系統(tǒng)設(shè)備:系統(tǒng)設(shè)備:在操作系統(tǒng)生成時已配置好的的標(biāo)準(zhǔn)設(shè)備。 如:鍵盤、顯示器、打印機(jī)、磁盤等。n 用戶設(shè)備:用戶設(shè)備:指系統(tǒng)設(shè)備之外的非標(biāo)準(zhǔn)設(shè)備,一般由用戶提供設(shè)備及其處理程序,并通過適當(dāng)?shù)氖侄伟阉鼈兗{入系統(tǒng)中,由系統(tǒng)實(shí)施管理。 如:網(wǎng)卡、調(diào)制解調(diào)器
4、、繪圖儀等。 1設(shè)備的從屬關(guān)系分類設(shè)備的從屬關(guān)系分類73/24/2022n塊設(shè)備:塊設(shè)備:指以數(shù)據(jù)塊為單位存儲和傳輸數(shù)據(jù)的設(shè)備 如磁盤、磁帶等。n字符設(shè)備:字符設(shè)備:指以單個字符為單位來傳送信息的設(shè)備。 如鍵盤、顯示器、打印機(jī)等。2設(shè)備中的信息交換單位方式分類設(shè)備中的信息交換單位方式分類83/24/2022n存儲設(shè)備:存儲設(shè)備:它是計算機(jī)用來存儲永久性信息的設(shè)備 如,磁帶、磁盤(軟盤、硬盤)、光盤等。n輸入設(shè)備:輸入設(shè)備:將外部信息送給計算機(jī)的設(shè)備。 如,鍵盤、鼠標(biāo)、掃描儀、手寫筆、數(shù)碼相機(jī)、麥克風(fēng)、游戲手柄等n輸出設(shè)備:輸出設(shè)備:將計算機(jī)加工后的信息傳送給外界的設(shè)備。 如,顯示器、打印機(jī)、投
5、影儀等。3按設(shè)備的使用特性分類按設(shè)備的使用特性分類93/24/2022n獨(dú)占設(shè)備獨(dú)占設(shè)備:這類設(shè)備在用戶作業(yè)的整個運(yùn)行期間必須為此用戶所占有,即多個作業(yè)對某一外設(shè)的訪問應(yīng)該是互斥的,一旦系統(tǒng)將這類設(shè)備分配給某個作業(yè),便由該設(shè)備獨(dú)占,直至釋放該資源。 大多數(shù)低速I/O設(shè)備,如用戶終端、打印機(jī)等n共享設(shè)備共享設(shè)備:指在同一時間段內(nèi)可以同時讓幾個作業(yè)使用的設(shè)備,當(dāng)然,在某一時刻,該設(shè)備只能為一個作業(yè)服務(wù)。 適應(yīng)于高速設(shè)備,如磁盤n虛擬設(shè)備虛擬設(shè)備: :根據(jù)設(shè)備的使用性質(zhì)來決定一臺設(shè)備可以分給幾個進(jìn)程以提高該設(shè)備的使用率。 如虛擬打印機(jī)4按資源分配的角度分類按資源分配的角度分類103/24/2022n
6、 1、按(、按( )分類可將設(shè)備分為塊設(shè)備和字符設(shè)備。)分類可將設(shè)備分為塊設(shè)備和字符設(shè)備。 A.從屬關(guān)系從屬關(guān)系 B.操作特性操作特性 C.共享屬性共享屬性 D.信息交換單位信息交換單位 2、大多數(shù)低速設(shè)備都屬于(、大多數(shù)低速設(shè)備都屬于( ) 設(shè)備。設(shè)備。 A獨(dú)占獨(dú)占 B共享共享 C虛擬虛擬 DSpoolingn3、從資源分配的角度看,可以把設(shè)備分為獨(dú)占設(shè)從資源分配的角度看,可以把設(shè)備分為獨(dú)占設(shè)備、共享設(shè)備和備、共享設(shè)備和 虛擬設(shè)備虛擬設(shè)備 ,打印機(jī)屬于,打印機(jī)屬于_ 設(shè)備設(shè)備,而磁盤屬于而磁盤屬于_設(shè)備。設(shè)備。113/24/2022 5.1.2 設(shè)備控制器設(shè)備控制器1.設(shè)備控制器的概念設(shè)備控
7、制器的概念 設(shè)備控制器是CPU與外圍設(shè)備之間的接口,是一個可編址設(shè)備,每一個地址對應(yīng)一個設(shè)備。 它接收從CPU發(fā)來的命令,并去控制輸入輸出設(shè)備的工作,使CPU從繁雜的設(shè)備控制事務(wù)中解脫出來,提高CPU的使用效率。123/24/20222.作用:作用:接收從CPU發(fā)來的命令,控制I/O設(shè)備工作3.功能:功能:n接收和識別命令接收和識別命令n數(shù)據(jù)交換數(shù)據(jù)交換n地址識別地址識別n標(biāo)識和報告設(shè)備的狀態(tài)標(biāo)識和報告設(shè)備的狀態(tài)n差錯控制差錯控制133/24/20224.設(shè)備控制器的組成設(shè)備控制器的組成n(1).設(shè)備控制器與處理機(jī)的接口n(2).設(shè)備控制器與設(shè)備的接口n(3).I/O邏輯143/24/2022
8、I/O系統(tǒng)的結(jié)構(gòu)CPU磁盤控制器磁盤控制器存儲器存儲器打印機(jī)打印機(jī)控制器控制器其他控制器其他控制器一、微型機(jī)I/O系統(tǒng) :總線結(jié)構(gòu)磁盤驅(qū)動器磁盤驅(qū)動器打印機(jī)打印機(jī)153/24/2022二、主機(jī)系統(tǒng)輸入輸出結(jié)構(gòu)當(dāng)主機(jī)所配置的輸入輸出設(shè)備較多時,特別是配當(dāng)主機(jī)所配置的輸入輸出設(shè)備較多時,特別是配有較多的高速外設(shè)時,采用總線型輸入輸出系統(tǒng)結(jié)構(gòu)有較多的高速外設(shè)時,采用總線型輸入輸出系統(tǒng)結(jié)構(gòu)會加重會加重CPUCPU與總線的負(fù)擔(dān)。與總線的負(fù)擔(dān)。 因此,在這樣的輸入輸出系統(tǒng)中不宜采用單總線因此,在這樣的輸入輸出系統(tǒng)中不宜采用單總線結(jié)構(gòu),而是增加一級輸入輸出通道,用來代替結(jié)構(gòu),而是增加一級輸入輸出通道,用來代
9、替CPUCPU與各與各設(shè)備控制器進(jìn)行通信,實(shí)現(xiàn)對控制器的控制。設(shè)備控制器進(jìn)行通信,實(shí)現(xiàn)對控制器的控制。163/24/2022 173/24/20225.1.3 I/O通道通道1、通道的引入、通道的引入 為了提高計算機(jī)系統(tǒng)的運(yùn)行效率,就要使為了提高計算機(jī)系統(tǒng)的運(yùn)行效率,就要使CPU擺脫繁忙的擺脫繁忙的I/O事務(wù),而配置專門處理事務(wù),而配置專門處理I/O事務(wù)的機(jī)構(gòu)事務(wù)的機(jī)構(gòu)通道。通道。 通道的引入是為了建立獨(dú)立的通道的引入是為了建立獨(dú)立的I/O操作。它不僅要求數(shù)據(jù)操作。它不僅要求數(shù)據(jù)傳送獨(dú)立于傳送獨(dú)立于CPU,而且要求,而且要求I/O操作的組織、管理、結(jié)束等操作的組織、管理、結(jié)束等也盡量獨(dú)立,以保
10、證也盡量獨(dú)立,以保證CPU有更多的時間從事計算。這樣就可有更多的時間從事計算。這樣就可以實(shí)現(xiàn)以實(shí)現(xiàn)CPU計算和計算和I/O操作的并行工作。操作的并行工作。183/24/2022思考題一思考題一n n 什么是通道?什么是通道? 通道有哪些類型?通道有哪些類型?193/24/20222、I/O通道概念通道概念 通道是一種硬件機(jī)構(gòu),又稱通道是一種硬件機(jī)構(gòu),又稱I/OI/O處理機(jī)。輸入輸處理機(jī)。輸入輸出通道是指專門負(fù)責(zé)輸入輸出工作的處理器。出通道是指專門負(fù)責(zé)輸入輸出工作的處理器。 它有自己的指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設(shè)它有自己的指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設(shè)備控制指令),獨(dú)立執(zhí)行自己的通道程序來實(shí)現(xiàn)
11、內(nèi)備控制指令),獨(dú)立執(zhí)行自己的通道程序來實(shí)現(xiàn)內(nèi)存與外設(shè)之間的數(shù)據(jù)傳輸,從而使系統(tǒng)獲得存與外設(shè)之間的數(shù)據(jù)傳輸,從而使系統(tǒng)獲得CPUCPU與與外設(shè)并行處理的能力。外設(shè)并行處理的能力。203/24/2022n3、通道的類型、通道的類型 根據(jù)信息交換方式的不同,可把通道分成字節(jié)多路通道、數(shù)組多路通道和選擇通道三種。(1)字節(jié)多路通道)字節(jié)多路通道 通常都含有許多非分配型子通道,其數(shù)量可以從幾十通常都含有許多非分配型子通道,其數(shù)量可以從幾十到數(shù)百個,每一個子通道連接一臺輸入輸出設(shè)備,這些到數(shù)百個,每一個子通道連接一臺輸入輸出設(shè)備,這些子通道按時間片輪轉(zhuǎn)方式共享主通道。子通道按時間片輪轉(zhuǎn)方式共享主通道。
12、字節(jié)多路通道字節(jié)多路通道連接低速或中速連接低速或中速設(shè)備時,不會丟設(shè)備時,不會丟失信息。失信息。213/24/2022n 選擇通道的數(shù)據(jù)傳送是按成批的方式進(jìn)行的,故傳送速率很高。(2)數(shù)據(jù)選擇通道)數(shù)據(jù)選擇通道選擇通道選擇通道n 它適用于連接高速它適用于連接高速I/O設(shè)備,如磁帶、磁盤等。設(shè)備,如磁帶、磁盤等。選擇通道只有一個分配型子通道,即這個子通道選擇通道只有一個分配型子通道,即這個子通道可以連接多臺設(shè)備,但每次只能把子通道分配給可以連接多臺設(shè)備,但每次只能把子通道分配給一臺設(shè)備使用。一旦分配給某臺設(shè)備,子通道就一臺設(shè)備使用。一旦分配給某臺設(shè)備,子通道就被它獨(dú)占,即使暫時出現(xiàn)空閑,也不允許
13、其他設(shè)被它獨(dú)占,即使暫時出現(xiàn)空閑,也不允許其他設(shè)備利用該子通道。直到它被釋放,再選擇另一臺備利用該子通道。直到它被釋放,再選擇另一臺設(shè)備為其服務(wù)。因此選擇通道的利用率是很低的。設(shè)備為其服務(wù)。因此選擇通道的利用率是很低的。223/24/2022n 這種通道綜合了字節(jié)多路通道分時并行工作和選擇通這種通道綜合了字節(jié)多路通道分時并行工作和選擇通道傳輸速率高的特點(diǎn)。道傳輸速率高的特點(diǎn)。n 它具有多個非分配型子通道,每個子通道連接一臺中、它具有多個非分配型子通道,每個子通道連接一臺中、高速高速I/O設(shè)備,如:磁帶、磁鼓、磁盤等,因而通道所連設(shè)備,如:磁帶、磁鼓、磁盤等,因而通道所連接的幾個設(shè)備可以并行工作
14、。接的幾個設(shè)備可以并行工作。 n 數(shù)組多路通道技術(shù)相當(dāng)于通道程序的多道程序設(shè)計技數(shù)組多路通道技術(shù)相當(dāng)于通道程序的多道程序設(shè)計技術(shù)。術(shù)。(3)數(shù)組多路通道)數(shù)組多路通道233/24/2022 CPU CPU字節(jié)多路通道字節(jié)多路通道 打印機(jī)打印機(jī)1 1 打印機(jī)打印機(jī)2 2 I/O I/O控制器控制器 I/OI/O控制器控制器 內(nèi)存內(nèi)存 選擇通道選擇通道 成組多路通道成組多路通道 磁盤磁盤 I/OI/O控制控制器器 磁盤磁盤 I/OI/O控制控制器器 I/O控控 制器制器 I/O I/O 控制器控制器 磁帶磁帶 磁帶磁帶 存在這三種通道的計算機(jī)系統(tǒng)的各硬件的連接關(guān)系如圖所示:243/24/2022思
15、考題二思考題二 設(shè)備管理中,什么是設(shè)備管理中,什么是“瓶頸瓶頸”現(xiàn)象?現(xiàn)象? 如何解決?如何解決?253/24/2022n 通道命令和通道程序通道命令和通道程序 通道有自己的指令系統(tǒng),為了與通道有自己的指令系統(tǒng),為了與CPU的指令的指令相區(qū)別,通道的指令被稱為相區(qū)別,通道的指令被稱為“通道命令字通道命令字”。通道。通道命令字條數(shù)不多,主要涉及控制、轉(zhuǎn)移、讀、寫命令字條數(shù)不多,主要涉及控制、轉(zhuǎn)移、讀、寫及查詢等功能。及查詢等功能。0 7 8 31 32 47 48 63 每條通道命令由四個字段組成:每條通道命令由四個字段組成: (1) 操作碼操作碼(07): 表示通道要執(zhí)行的命令;表示通道要執(zhí)行
16、的命令; (2) 數(shù)據(jù)主存始址:數(shù)據(jù)主存始址: 表示本命令要訪問的主存數(shù)據(jù)區(qū)的表示本命令要訪問的主存數(shù)據(jù)區(qū)的起始地址;起始地址; (3) 特征位特征位(3247, 只使用了只使用了 3236 位,位, 其余未用其余未用): 3739 位必須置位必須置 0,否則認(rèn)為通道命令錯。,否則認(rèn)為通道命令錯。 263/24/2022n 通道程序存放在內(nèi)存中,由通道程序存放在內(nèi)存中,由I/O指令啟動執(zhí)行。指令啟動執(zhí)行。用戶請求用戶請求I/O時,時,CPU對通道的通信是向通道發(fā)出對通道的通信是向通道發(fā)出查詢、啟動和停止通道程序工作,而通道向查詢、啟動和停止通道程序工作,而通道向CPU的的通信則采用中斷方式。其
17、執(zhí)行過程如圖所示。通信則采用中斷方式。其執(zhí)行過程如圖所示。273/24/2022用戶用戶I/OI/O請求請求 查詢設(shè)備忙查詢設(shè)備忙閑?閑? 調(diào)用通道程序調(diào)用通道程序 執(zhí)行通道程序執(zhí)行通道程序 I/OI/O操作完成,操作完成,發(fā)中斷請求發(fā)中斷請求 CPUCPU響應(yīng)中斷,進(jìn)行結(jié)束響應(yīng)中斷,進(jìn)行結(jié)束處理處理 以以I/OI/O指令啟動通道指令啟動通道 結(jié)束通道工作結(jié)束通道工作 進(jìn)入設(shè)備請求隊(duì)進(jìn)入設(shè)備請求隊(duì)列,等待列,等待 忙忙 不忙不忙 通道程序的執(zhí)行過程通道程序的執(zhí)行過程 283/24/2022n5、通道工作過程、通道工作過程 (1) 當(dāng)進(jìn)程有當(dāng)進(jìn)程有I/O請求時,系統(tǒng)首先查詢設(shè)備狀請求時,系統(tǒng)首先
18、查詢設(shè)備狀態(tài)。若忙,進(jìn)程進(jìn)入設(shè)備請求隊(duì)列等待;若閑,態(tài)。若忙,進(jìn)程進(jìn)入設(shè)備請求隊(duì)列等待;若閑,CPU發(fā)指令指明發(fā)指令指明I/O操作、設(shè)備號和對應(yīng)通道。操作、設(shè)備號和對應(yīng)通道。 (2) 對應(yīng)通道收到對應(yīng)通道收到CPU發(fā)來的啟動指令后,讀發(fā)來的啟動指令后,讀出內(nèi)存中的通道指令程序、設(shè)置對應(yīng)設(shè)備的控制狀出內(nèi)存中的通道指令程序、設(shè)置對應(yīng)設(shè)備的控制狀態(tài)寄存器的初值。態(tài)寄存器的初值。 (3) 設(shè)備按通道指令的求,把數(shù)據(jù)送往內(nèi)存指設(shè)備按通道指令的求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域。定區(qū)域。 (4) 若傳送結(jié)束,若傳送結(jié)束,I/O控制器通過中斷請求線發(fā)控制器通過中斷請求線發(fā)中斷信號請求中斷信號請求CPU做中斷處理。做
19、中斷處理。 (5) 中斷處理結(jié)束后,中斷處理結(jié)束后,CPU返回到被中斷進(jìn)程返回到被中斷進(jìn)程處繼續(xù)執(zhí)行。處繼續(xù)執(zhí)行。 (6) 當(dāng)進(jìn)程調(diào)度程序選中這個已得到數(shù)據(jù)的進(jìn)當(dāng)進(jìn)程調(diào)度程序選中這個已得到數(shù)據(jù)的進(jìn)程后,才能進(jìn)行加工處理。程后,才能進(jìn)行加工處理。293/24/2022思考題三思考題三 n通道的作用是什么?通道的作用是什么? 通道是一個獨(dú)立于通道是一個獨(dú)立于CPU的專管輸入的專管輸入/輸出控制的處理輸出控制的處理器,它控制內(nèi)存與外部設(shè)備直接進(jìn)行數(shù)據(jù)交換。器,它控制內(nèi)存與外部設(shè)備直接進(jìn)行數(shù)據(jù)交換。 它有自己的通道指令,這些通道指令受它有自己的通道指令,這些通道指令受CPU啟動,啟動,并在操作結(jié)束時向
20、并在操作結(jié)束時向 CPU發(fā)中斷信號。發(fā)中斷信號。 通道方式進(jìn)一步減輕了通道方式進(jìn)一步減輕了CPU的工作負(fù)擔(dān),增加了計算的工作負(fù)擔(dān),增加了計算機(jī)系統(tǒng)的并行工作程度。機(jī)系統(tǒng)的并行工作程度。 303/24/20225.1.4 總線系統(tǒng)總線系統(tǒng)n1、總線基本概念、總線基本概念 在計算機(jī)系統(tǒng)內(nèi)各種子系統(tǒng),如在計算機(jī)系統(tǒng)內(nèi)各種子系統(tǒng),如CPU、內(nèi)存、內(nèi)存、I/O設(shè)備等之間,構(gòu)建公用的信號或數(shù)據(jù)傳輸通道設(shè)備等之間,構(gòu)建公用的信號或數(shù)據(jù)傳輸通道 這種可共享的傳輸通道稱為總線。這種可共享的傳輸通道稱為總線。313/24/2022n2、總線的分類、總線的分類323/24/2022n 當(dāng)用戶進(jìn)程通過系統(tǒng)調(diào)用提出當(dāng)用
21、戶進(jìn)程通過系統(tǒng)調(diào)用提出I/O請求時,從請求時,從系統(tǒng)響應(yīng)此請求開始,至系統(tǒng)完成用戶要求的系統(tǒng)響應(yīng)此請求開始,至系統(tǒng)完成用戶要求的I/O操作,并喚醒相應(yīng)的等待操作,并喚醒相應(yīng)的等待I/O完成的進(jìn)程為止,完成的進(jìn)程為止,這整個過程稱為這整個過程稱為I/O控制過程??刂七^程。52 I/O控制方式控制方式333/24/2022nI/O控制過程包括以下步驟:控制過程包括以下步驟:n (1)響應(yīng))響應(yīng)I/O請求,為在具體物理設(shè)備上進(jìn)行請求,為在具體物理設(shè)備上進(jìn)行I/O操操作做準(zhǔn)備。包括將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名(設(shè)作做準(zhǔn)備。包括將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名(設(shè)備分配)、備分配)、I/O請求的合法性等。請
22、求的合法性等。n (2)設(shè)備驅(qū)動,控制設(shè)備完成)設(shè)備驅(qū)動,控制設(shè)備完成I/O操作,對每類設(shè)操作,對每類設(shè)備分別設(shè)置不同的設(shè)備驅(qū)動程序。備分別設(shè)置不同的設(shè)備驅(qū)動程序。n (3)中斷處理,)中斷處理,I/O操作完成之后,設(shè)備控制器向操作完成之后,設(shè)備控制器向CPU發(fā)送中斷信號,發(fā)送中斷信號,CPU響應(yīng)后轉(zhuǎn)向相應(yīng)的中斷處理響應(yīng)后轉(zhuǎn)向相應(yīng)的中斷處理程序進(jìn)行善后處理。程序進(jìn)行善后處理。343/24/2022nI/O操作的控制方式一般有四種:操作的控制方式一般有四種:u查詢方式查詢方式u中斷方式中斷方式u直接內(nèi)存存取方式直接內(nèi)存存取方式u通道方式通道方式 它們的主要差別在于處理器和外它們的主要差別在于處理
23、器和外設(shè)并行工作的方式和程度的不同。設(shè)并行工作的方式和程度的不同。353/24/2022n查詢方式是最簡單的查詢方式是最簡單的I/O控制方式。控制方式。n在設(shè)備控制器中有兩個寄存器,一個是在設(shè)備控制器中有兩個寄存器,一個是狀態(tài)寄存器狀態(tài)寄存器,由其中的一個狀態(tài)位的值反映設(shè)備的忙或閑;另一由其中的一個狀態(tài)位的值反映設(shè)備的忙或閑;另一個是個是數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器。n當(dāng)設(shè)備啟動時,狀態(tài)寄存器的啟動位為當(dāng)設(shè)備啟動時,狀態(tài)寄存器的啟動位為1,此時外,此時外設(shè)把數(shù)據(jù)送往數(shù)據(jù)緩沖寄存器,并將狀態(tài)寄存器的設(shè)把數(shù)據(jù)送往數(shù)據(jù)緩沖寄存器,并將狀態(tài)寄存器的狀態(tài)位置狀態(tài)位置1。nCPU執(zhí)行完一條指令后就測試狀態(tài)
24、位,如果為執(zhí)行完一條指令后就測試狀態(tài)位,如果為1,就把數(shù)據(jù)寄存器中的數(shù)據(jù)取到內(nèi)存;若狀態(tài)位為就把數(shù)據(jù)寄存器中的數(shù)據(jù)取到內(nèi)存;若狀態(tài)位為0,則再測試,直到狀態(tài)寄存器的狀態(tài)位為則再測試,直到狀態(tài)寄存器的狀態(tài)位為1,然后再,然后再讀取數(shù)據(jù)。所以此種方式也讀取數(shù)據(jù)。所以此種方式也稱稱循環(huán)測試循環(huán)測試I/O方式方式521 查詢方式查詢方式363/24/2022就緒向設(shè)備控制器發(fā)讀命令讀設(shè)備控制器的狀態(tài)檢查狀態(tài)從設(shè)備控制器中讀入字向存儲器中寫字傳送完成CPU-I/OCPU-內(nèi)存I/O - CPU出錯I/O - CPU完成下條指令未完成未就緒373/24/2022n步驟:步驟:n (1) 當(dāng)用戶需要輸入數(shù)據(jù)
25、時,由處理器向設(shè)備當(dāng)用戶需要輸入數(shù)據(jù)時,由處理器向設(shè)備控制器發(fā)出一條輸入輸出指令,啟動設(shè)備進(jìn)行輸入控制器發(fā)出一條輸入輸出指令,啟動設(shè)備進(jìn)行輸入n (2) 當(dāng)用戶進(jìn)程需要向設(shè)備輸出數(shù)據(jù)時,也必須當(dāng)用戶進(jìn)程需要向設(shè)備輸出數(shù)據(jù)時,也必須同樣發(fā)出啟動命令啟動設(shè)備輸出,并等待輸出操作同樣發(fā)出啟動命令啟動設(shè)備輸出,并等待輸出操作完成。完成。n特點(diǎn):特點(diǎn): 工作過程簡單,工作過程簡單,CPU的利用率低。在要求不的利用率低。在要求不高的場合下常被采用,而且不能支持多道程序。程高的場合下常被采用,而且不能支持多道程序。程序直接控制方式適用于早期的無中斷的計算機(jī)系統(tǒng)。序直接控制方式適用于早期的無中斷的計算機(jī)系統(tǒng)。
26、383/24/2022n 查詢方式是主機(jī)向外設(shè)詢問,而引入中斷查詢方式是主機(jī)向外設(shè)詢問,而引入中斷后,每當(dāng)設(shè)備完成后,每當(dāng)設(shè)備完成I/O操作,它便以中斷請求方操作,它便以中斷請求方式主動向式主動向CPU匯報。匯報。n 因此,因此,CPU一旦啟動一旦啟動I/O設(shè)備后便可轉(zhuǎn)去處理設(shè)備后便可轉(zhuǎn)去處理其他程序,僅在接到其他程序,僅在接到I/O中斷信息請求時才花費(fèi)中斷信息請求時才花費(fèi)極少時間去處理。極少時間去處理。 522 中斷方式中斷方式393/24/2022n1、中斷概念、中斷概念 所謂中斷,是指處理機(jī)在執(zhí)行進(jìn)程的過程中所謂中斷,是指處理機(jī)在執(zhí)行進(jìn)程的過程中, 由由于某些事件的出現(xiàn)于某些事件的出現(xiàn),
27、 中止當(dāng)前進(jìn)程的運(yùn)行中止當(dāng)前進(jìn)程的運(yùn)行, 轉(zhuǎn)而去處轉(zhuǎn)而去處理出現(xiàn)的事件理出現(xiàn)的事件, 待處理完畢后返回原來被中斷處繼待處理完畢后返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度其他進(jìn)程執(zhí)行。續(xù)執(zhí)行或調(diào)度其他進(jìn)程執(zhí)行。2、中斷源、中斷源 引起中斷的事件稱為中斷源。引起中斷的事件稱為中斷源。 (1)強(qiáng)迫性中斷源)強(qiáng)迫性中斷源 硬件故障、程序性錯誤、外部事件、硬件故障、程序性錯誤、外部事件、I/O中斷事件中斷事件(2)自愿性中斷源)自愿性中斷源403/24/2022n3、步驟、步驟 (1)進(jìn)程需要數(shù)據(jù)時,將允許啟動和允許中斷的)進(jìn)程需要數(shù)據(jù)時,將允許啟動和允許中斷的控制字寫入設(shè)備控制狀態(tài)寄存器中,啟動該設(shè)備進(jìn)控制字寫
28、入設(shè)備控制狀態(tài)寄存器中,啟動該設(shè)備進(jìn)行輸入操作。行輸入操作。 (2)該進(jìn)程放棄處理機(jī),等待輸入的完成。操作)該進(jìn)程放棄處理機(jī),等待輸入的完成。操作系統(tǒng)進(jìn)程調(diào)度程序調(diào)度其他就緒進(jìn)程占用處理機(jī)。系統(tǒng)進(jìn)程調(diào)度程序調(diào)度其他就緒進(jìn)程占用處理機(jī)。 (3)當(dāng)輸入完成時,輸入設(shè)備通過中斷請求線向)當(dāng)輸入完成時,輸入設(shè)備通過中斷請求線向CPU發(fā)出中斷請求信號。發(fā)出中斷請求信號。CPU在接收到中斷信號之在接收到中斷信號之后,轉(zhuǎn)向中斷處理程序。后,轉(zhuǎn)向中斷處理程序。 (4)中斷處理程序首先保護(hù)現(xiàn)場,然后把輸入緩)中斷處理程序首先保護(hù)現(xiàn)場,然后把輸入緩沖寄存器中的數(shù)據(jù)傳送到某一特定單元中去,同時沖寄存器中的數(shù)據(jù)傳送到
29、某一特定單元中去,同時將等待輸入完成的那個進(jìn)程喚醒,進(jìn)入就緒狀態(tài),將等待輸入完成的那個進(jìn)程喚醒,進(jìn)入就緒狀態(tài),最后恢復(fù)現(xiàn)場,并返回到被中斷的進(jìn)程繼續(xù)執(zhí)行。最后恢復(fù)現(xiàn)場,并返回到被中斷的進(jìn)程繼續(xù)執(zhí)行。 (5)在以后的某一時刻,操作系統(tǒng)進(jìn)程調(diào)度程序)在以后的某一時刻,操作系統(tǒng)進(jìn)程調(diào)度程序選中提出的請求并得到獲取數(shù)據(jù)的進(jìn)程,該進(jìn)程從選中提出的請求并得到獲取數(shù)據(jù)的進(jìn)程,該進(jìn)程從約定的內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作約定的內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作413/24/2022向設(shè)備控制器發(fā)讀命令讀設(shè)備控制器的狀態(tài)檢查狀態(tài)從設(shè)備控制器中讀入字向存儲器中寫字傳送完成完成下條指令CPU-I/OCPU-內(nèi)存I/O
30、- CPU出錯I/O - CPU未完成CPU做其他中斷423/24/2022n例如,打印機(jī)每打一行需要例如,打印機(jī)每打一行需要60ms,在查詢方式,在查詢方式中,大約有中,大約有59.99ms,CPU都處于循環(huán)等待中,都處于循環(huán)等待中,而以中斷方式處理的話,而以中斷方式處理的話,CPU僅花費(fèi)僅花費(fèi)0.1ms時間時間來處理來處理I/O設(shè)備發(fā)來的中斷,其余的設(shè)備發(fā)來的中斷,其余的59.99ms都都可以用來做別的事情。所以中斷方式比查詢方式可以用來做別的事情。所以中斷方式比查詢方式節(jié)省節(jié)省CPU的時間。的時間。433/24/2022n 中斷方式的方法是當(dāng)設(shè)備完成中斷方式的方法是當(dāng)設(shè)備完成I/O操作后
31、,主操作后,主動向動向CPU報告,報告,CPU只用少量時間處理只用少量時間處理I/O中斷,中斷,并將數(shù)據(jù)取回。并將數(shù)據(jù)取回。n 在多道程序中的環(huán)境下,一個程序或進(jìn)程啟在多道程序中的環(huán)境下,一個程序或進(jìn)程啟動動I/O設(shè)備并允許中斷后,不是自己主動去執(zhí)行別設(shè)備并允許中斷后,不是自己主動去執(zhí)行別的程序或繼續(xù)執(zhí)行主流程,而是應(yīng)當(dāng)把自己掛起,的程序或繼續(xù)執(zhí)行主流程,而是應(yīng)當(dāng)把自己掛起,控制權(quán)交還給進(jìn)程調(diào)度程序。在中斷處理程序中,控制權(quán)交還給進(jìn)程調(diào)度程序。在中斷處理程序中,完成指定的完成指定的I/O操作之后應(yīng)把等待此結(jié)果的進(jìn)程喚操作之后應(yīng)把等待此結(jié)果的進(jìn)程喚醒,而后由進(jìn)程調(diào)度程序在適當(dāng)時機(jī)把此進(jìn)程投醒,而
32、后由進(jìn)程調(diào)度程序在適當(dāng)時機(jī)把此進(jìn)程投入運(yùn)行。入運(yùn)行。443/24/2022l 某進(jìn)程某進(jìn)程 其他進(jìn)程其他進(jìn)程輸入中斷處理輸入中斷處理 中斷中斷 調(diào)度調(diào)度 調(diào)度調(diào)度喚醒喚醒l啟動啟動I/OI/O并允許并允許中斷中斷 阻塞等待阻塞等待 處理輸入的數(shù)據(jù)處理輸入的數(shù)據(jù) 保護(hù)現(xiàn)場保護(hù)現(xiàn)場 輸入處理輸入處理 喚醒等待進(jìn)程喚醒等待進(jìn)程 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場 多道多道程序程序下的下的中斷中斷處理處理方式方式453/24/2022n4、特點(diǎn)、特點(diǎn) 中斷控制方式比程序直接控制方式提高了中斷控制方式比程序直接控制方式提高了CPU的的利用率。每輸入輸出一個數(shù)據(jù)都會發(fā)生中斷,傳輸利用率。每輸入輸出一個數(shù)據(jù)都會發(fā)生中斷,傳輸
33、一組數(shù)據(jù)需要多次中斷,浪費(fèi)了一組數(shù)據(jù)需要多次中斷,浪費(fèi)了CPU的處理時間。的處理時間。中斷控制方式應(yīng)用于現(xiàn)代計算機(jī)系統(tǒng)中。中斷控制方式應(yīng)用于現(xiàn)代計算機(jī)系統(tǒng)中。463/24/2022n1、DMA控制方式的引入控制方式的引入 引入的原因:引入的原因:中斷處理方式提高了主機(jī)的利中斷處理方式提高了主機(jī)的利用率,但是每次中斷都要保存現(xiàn)場信息,恢復(fù)現(xiàn)用率,但是每次中斷都要保存現(xiàn)場信息,恢復(fù)現(xiàn)場等,仍占用場等,仍占用CPU時間。在傳送數(shù)據(jù)量大、速度時間。在傳送數(shù)據(jù)量大、速度高的情況下,中斷方式就不適應(yīng)了。高的情況下,中斷方式就不適應(yīng)了。 為了進(jìn)一步減少為了進(jìn)一步減少CPU對外設(shè)操作干預(yù)而引入對外設(shè)操作干預(yù)而
34、引入直接存儲器訪問方式。直接存儲器訪問方式。 523 直接內(nèi)存存取方式直接內(nèi)存存取方式473/24/20222、DMA控制方式控制方式n 是指對是指對I/O設(shè)備的控制由設(shè)備的控制由DMA控制器完成,在控制器完成,在DMA控制器的作用下,設(shè)備和主存之間可以成控制器的作用下,設(shè)備和主存之間可以成批地進(jìn)行數(shù)據(jù)交換,而不用批地進(jìn)行數(shù)據(jù)交換,而不用CPU的干涉。的干涉。 523 直接內(nèi)存存取方式直接內(nèi)存存取方式483/24/20223 3、DMADMA控制器的組成控制器的組成: : DMA控制器的組成控制器的組成命令命令控制器與設(shè)備接口控制器與設(shè)備接口主機(jī)主機(jī)控制器接口控制器接口內(nèi)存內(nèi)存CPU系統(tǒng)總線系
35、統(tǒng)總線I/O控制控制邏輯邏輯CRMARDCDRcount493/24/2022n4、DMA工作步驟工作步驟:u 當(dāng)進(jìn)程要求設(shè)備輸入一批數(shù)據(jù)時,當(dāng)進(jìn)程要求設(shè)備輸入一批數(shù)據(jù)時,CPU將設(shè)備存將設(shè)備存放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存器和傳送字節(jié)計數(shù)器;另外,控制器中的地址寄存器和傳送字節(jié)計數(shù)器;另外,還要將中斷位和啟動位置為還要將中斷位和啟動位置為1,以啟動設(shè)備開始進(jìn)行數(shù),以啟動設(shè)備開始進(jìn)行數(shù)據(jù)輸入并允許中斷。據(jù)輸入并允許中斷。u 發(fā)出數(shù)據(jù)要求的進(jìn)程進(jìn)入等待狀態(tài),進(jìn)程調(diào)度程發(fā)出數(shù)據(jù)要求的進(jìn)程進(jìn)入等待狀態(tài),進(jìn)程調(diào)度程序
36、調(diào)度其他進(jìn)程占據(jù)序調(diào)度其他進(jìn)程占據(jù)CPU。u 輸入設(shè)備不斷地挪用輸入設(shè)備不斷地挪用CPU工作周期,將數(shù)據(jù)寄存工作周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)源源不斷地寫入內(nèi)存,直到所要求的字節(jié)全器中的數(shù)據(jù)源源不斷地寫入內(nèi)存,直到所要求的字節(jié)全部傳送完畢。部傳送完畢。u DMA控制器在傳送字節(jié)數(shù)完成時,通過中斷請求控制器在傳送字節(jié)數(shù)完成時,通過中斷請求線發(fā)出中斷信號,線發(fā)出中斷信號,CPU收到中斷信號后轉(zhuǎn)中斷處理程序,收到中斷信號后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。u 在以后的某個時刻,進(jìn)程調(diào)度程序選中提出請求輸在以后的某個時刻,進(jìn)程調(diào)度程序選
37、中提出請求輸入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步處理。處理。503/24/2022CPU向控制器發(fā)出啟動向控制器發(fā)出啟動DMA通知和有關(guān)參數(shù)通知和有關(guān)參數(shù)控制器向內(nèi)存發(fā)出詢問請求控制器向內(nèi)存發(fā)出詢問請求訪問內(nèi)存(讀、寫)訪問內(nèi)存(讀、寫)計數(shù)器減計數(shù)器減1結(jié)束否結(jié)束否發(fā)中斷發(fā)中斷NYDMA的實(shí)現(xiàn)流程的實(shí)現(xiàn)流程513/24/2022n5、DMA方式方式特點(diǎn)特點(diǎn): (1) 數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊;數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊; (2) 所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存,所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存,或者相反;或者相反; (3) 僅在
38、傳送一個或多個數(shù)據(jù)塊的開始和結(jié)僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需中斷束時,才需中斷CPU,請求干預(yù),整塊數(shù)據(jù)的傳,請求干預(yù),整塊數(shù)據(jù)的傳送是在送是在DMA控制器控制下完成的??刂破骺刂葡峦瓿傻摹 缺點(diǎn)缺點(diǎn): DMA方式只能完成簡單的數(shù)據(jù)傳送、計數(shù)、內(nèi)方式只能完成簡單的數(shù)據(jù)傳送、計數(shù)、內(nèi)存地址加存地址加1或減或減1等操作,不能滿足復(fù)雜的等操作,不能滿足復(fù)雜的I/O操操作要求。作要求。 523/24/20226、DMA方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別n (1) 中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請求,中斷請求,CPU進(jìn)行中斷處理;進(jìn)行中斷處
39、理; DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時要求送結(jié)束時要求CPU進(jìn)行中斷處理,大大減少了進(jìn)行中斷處理,大大減少了CPU進(jìn)行中斷處理的次數(shù)。進(jìn)行中斷處理的次數(shù)。n (2) 中斷方式的數(shù)據(jù)傳送是由中斷方式的數(shù)據(jù)傳送是由CPU控制完成控制完成的;的; DMA方式則是在方式則是在DMA控制器的控制下不經(jīng)過控制器的控制下不經(jīng)過CPU控制完成的??刂仆瓿傻摹?33/24/20225.2.4 I/O通道控制方式通道控制方式n1、概念、概念 通道控制方式是一種以主存為中心,是設(shè)備與通道控制方式是一種以主存為中心,是設(shè)備與主存直接交換數(shù)據(jù)的控制方式。主存直接交換數(shù)據(jù)
40、的控制方式。 CPU只需要發(fā)出啟動指令,指出通道相應(yīng)的操只需要發(fā)出啟動指令,指出通道相應(yīng)的操作和輸入輸出設(shè)備,該指令就可以啟動通道并使該作和輸入輸出設(shè)備,該指令就可以啟動通道并使該通道從主存中調(diào)出相應(yīng)的通道指令執(zhí)行,完成一組通道從主存中調(diào)出相應(yīng)的通道指令執(zhí)行,完成一組數(shù)據(jù)塊的輸入數(shù)據(jù)塊的輸入/輸出。輸出。 543/24/2022n2、通道控制方式步驟、通道控制方式步驟 (1)當(dāng)進(jìn)程要求設(shè)備輸入時,)當(dāng)進(jìn)程要求設(shè)備輸入時,CPU發(fā)指令指明發(fā)指令指明I/O操作、設(shè)備號和對應(yīng)通道。操作、設(shè)備號和對應(yīng)通道。 (2)對應(yīng)通道收到)對應(yīng)通道收到CPU發(fā)來的啟動指令后,讀出發(fā)來的啟動指令后,讀出內(nèi)存中的通道
41、指令程序、設(shè)置對應(yīng)設(shè)備的控制狀態(tài)內(nèi)存中的通道指令程序、設(shè)置對應(yīng)設(shè)備的控制狀態(tài)寄存器的初值。寄存器的初值。 (3)設(shè)備按通道指令的要求,把數(shù)據(jù)送往內(nèi)存指)設(shè)備按通道指令的要求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域。定區(qū)域。 (4)若傳送結(jié)束,)若傳送結(jié)束,I/O控制器通過中斷請求線發(fā)控制器通過中斷請求線發(fā)中斷信號請求中斷信號請求CPU做中斷處理。做中斷處理。 (5)中斷處理結(jié)束后,)中斷處理結(jié)束后,CPU返回到被中斷進(jìn)程返回到被中斷進(jìn)程處繼續(xù)執(zhí)行。處繼續(xù)執(zhí)行。 (6)當(dāng)進(jìn)程調(diào)度程序選中這個已得到數(shù)據(jù)的進(jìn))當(dāng)進(jìn)程調(diào)度程序選中這個已得到數(shù)據(jù)的進(jìn)程后,才能進(jìn)行加工處理。程后,才能進(jìn)行加工處理。553/24/2022
42、n3、特點(diǎn)、特點(diǎn) 通道所需要的通道所需要的CPU干預(yù)更少,并可以實(shí)現(xiàn)干預(yù)更少,并可以實(shí)現(xiàn)CPU、通道和輸入輸出設(shè)備三者之間的并行操作,從而更通道和輸入輸出設(shè)備三者之間的并行操作,從而更有效地提高整個系統(tǒng)資源的利用率。有效地提高整個系統(tǒng)資源的利用率。 通道控制方式適用于現(xiàn)代計算機(jī)系統(tǒng)中的大量數(shù)通道控制方式適用于現(xiàn)代計算機(jī)系統(tǒng)中的大量數(shù)據(jù)交換。據(jù)交換。563/24/2022通道和通道和DMA控制器的區(qū)別控制器的區(qū)別 (1)一個)一個DMA控制器只能連接同類外設(shè),且如果是多臺控制器只能連接同類外設(shè),且如果是多臺同類外設(shè),則它們只能是以串行方式工作。同類外設(shè),則它們只能是以串行方式工作。 一個通道可以
43、連接多個不同類型的設(shè)備控制器,而一個一個通道可以連接多個不同類型的設(shè)備控制器,而一個設(shè)備控制器又可以管理一臺或多臺外圍設(shè)備,這就構(gòu)成了典設(shè)備控制器又可以管理一臺或多臺外圍設(shè)備,這就構(gòu)成了典型的多級層次結(jié)構(gòu),眾多外設(shè)均可在通道控制下同時工作;型的多級層次結(jié)構(gòu),眾多外設(shè)均可在通道控制下同時工作; (2)DMA控制是借助硬件完成數(shù)據(jù)交換的,而通道是執(zhí)控制是借助硬件完成數(shù)據(jù)交換的,而通道是執(zhí)行通道程序完成數(shù)據(jù)的;行通道程序完成數(shù)據(jù)的; (3)DMA控制器需要控制器需要CPU對多個外設(shè)進(jìn)行初始化。對多個外設(shè)進(jìn)行初始化。CPU只需發(fā)一個只需發(fā)一個I/O指令啟動通道,由通道自己完成外設(shè)的初始指令啟動通道,由
44、通道自己完成外設(shè)的初始化。化。573/24/2022n 綜上所述,在前三種綜上所述,在前三種I/O控制方式中,控制方式中,CPU直直接對設(shè)備控制器和接對設(shè)備控制器和I/O接口編程,可以簡化接口接口編程,可以簡化接口的設(shè)計。的設(shè)計。n 對于非對于非DMA傳送,需要傳送,需要CPU實(shí)際去完成數(shù)據(jù)實(shí)際去完成數(shù)據(jù)傳送。對于高速數(shù)據(jù)傳送可以使用傳送。對于高速數(shù)據(jù)傳送可以使用DMA,但還,但還是需要是需要CPU設(shè)置設(shè)備控制器,初始化設(shè)置設(shè)備控制器,初始化DMA操作操作和操作完畢去檢查端口傳送狀態(tài)。和操作完畢去檢查端口傳送狀態(tài)。n 而通道不同于而通道不同于DMA控制器,它能夠去取和執(zhí)控制器,它能夠去取和執(zhí)行
45、它自己的指令;行它自己的指令; 而且這些指令的功能已不僅而且這些指令的功能已不僅僅是數(shù)據(jù)傳送,還包括檢索、分支轉(zhuǎn)移,甚至一僅是數(shù)據(jù)傳送,還包括檢索、分支轉(zhuǎn)移,甚至一些簡單的算術(shù)、邏輯運(yùn)算。些簡單的算術(shù)、邏輯運(yùn)算。583/24/2022n 大、中型計算機(jī)系統(tǒng)普遍用通道方式去控制大、中型計算機(jī)系統(tǒng)普遍用通道方式去控制設(shè)備完成設(shè)備完成I/O操作,以提高操作,以提高CPU與外設(shè),外設(shè)與與外設(shè),外設(shè)與外設(shè)并行的程度。一些小型機(jī)和絕大多數(shù)微型機(jī)外設(shè)并行的程度。一些小型機(jī)和絕大多數(shù)微型機(jī)都是以都是以CPU直接控制設(shè)備接口和設(shè)備控制器以查直接控制設(shè)備接口和設(shè)備控制器以查詢、中斷或詢、中斷或DMA方式完成方式完
46、成I/O操作,以降低系統(tǒng)操作,以降低系統(tǒng)造價。造價。593/24/2022思考題四思考題四n n 綜上所述的綜上所述的4種種I/O控制方式,分別適合用控制方式,分別適合用于何種場合?于何種場合?603/24/2022課堂練習(xí)題課堂練習(xí)題n1、從下面關(guān)于設(shè)備屬性的論述中,選擇一條正確的描述。(從下面關(guān)于設(shè)備屬性的論述中,選擇一條正確的描述。( )nA字符設(shè)備的一個基本特征是可尋址的,即能指定輸入時字符設(shè)備的一個基本特征是可尋址的,即能指定輸入時的源地址和輸出時的目標(biāo)地址的源地址和輸出時的目標(biāo)地址nB共享設(shè)備必須是可尋址的和隨機(jī)訪問的設(shè)備共享設(shè)備必須是可尋址的和隨機(jī)訪問的設(shè)備nC共享設(shè)備是指在同一
47、時刻,允許多個進(jìn)程同時訪問的設(shè)備共享設(shè)備是指在同一時刻,允許多個進(jìn)程同時訪問的設(shè)備nD在分配共享設(shè)備和獨(dú)占設(shè)備時,都可能引起進(jìn)程死鎖在分配共享設(shè)備和獨(dú)占設(shè)備時,都可能引起進(jìn)程死鎖n2、(、( )在一般大型計算機(jī)系統(tǒng)中,主機(jī)對外圍設(shè)備的控制可通)在一般大型計算機(jī)系統(tǒng)中,主機(jī)對外圍設(shè)備的控制可通過通道、控制器和設(shè)備三個層次來實(shí)現(xiàn)。從下述敘述中選出一條過通道、控制器和設(shè)備三個層次來實(shí)現(xiàn)。從下述敘述中選出一條正確的敘述。正確的敘述。nA 控制器可控制通道,設(shè)備在通道控制下工作控制器可控制通道,設(shè)備在通道控制下工作nB 通道控制控制器,設(shè)備在控制器控制下工作通道控制控制器,設(shè)備在控制器控制下工作nC 通
48、道和控制器分別控制設(shè)備通道和控制器分別控制設(shè)備nD 控制器控制通道和設(shè)備的工作控制器控制通道和設(shè)備的工作613/24/2022n1、通過硬件和軟件的擴(kuò)充通過硬件和軟件的擴(kuò)充,把原來獨(dú)立的設(shè)備改造成能為若把原來獨(dú)立的設(shè)備改造成能為若干用戶共享的設(shè)備干用戶共享的設(shè)備,這種設(shè)備稱為這種設(shè)備稱為 ? 。n 2、引起中斷發(fā)生的事件稱為、引起中斷發(fā)生的事件稱為 ? 。n 3、如果、如果I/O設(shè)備與存儲設(shè)備進(jìn)行數(shù)據(jù)交換不經(jīng)過設(shè)備與存儲設(shè)備進(jìn)行數(shù)據(jù)交換不經(jīng)過CPU來完來完成,這種數(shù)據(jù)交換方式是成,這種數(shù)據(jù)交換方式是 ? 。n4、常用的、常用的I/O控制方式有程序控制方式有程序I/O方式、方式、 ? 、?、?
49、、?.n5、DMA是指允許是指允許 ? 和和 ? 之間直接交換數(shù)據(jù)的設(shè)之間直接交換數(shù)據(jù)的設(shè)備。在備。在DMA中必須設(shè)置地址寄存器,用于存放中必須設(shè)置地址寄存器,用于存放 ? ,還,還必須設(shè)置必須設(shè)置 ? 寄存器,用來暫存交換的數(shù)據(jù)。寄存器,用來暫存交換的數(shù)據(jù)。 n6、設(shè)備控制器是、設(shè)備控制器是 ? 和和 ? 之間的接口,它接受來自之間的接口,它接受來自 ? 的的I/O命令,并用于控制命令,并用于控制 ? 的工作。的工作。n 7、按從屬關(guān)系對、按從屬關(guān)系對I/O設(shè)備分類,可分為系統(tǒng)設(shè)備和設(shè)備分類,可分為系統(tǒng)設(shè)備和 ? 兩類。兩類。623/24/20225.3 緩沖管理緩沖管理n5.3.1 緩沖的
50、引入緩沖的引入 1、引入的原因、引入的原因 (1)緩和)緩和CPU與輸入輸出設(shè)備間速度不匹配與輸入輸出設(shè)備間速度不匹配的矛盾的矛盾 (2)減少對)減少對CPU的中斷頻率,放寬對中斷響的中斷頻率,放寬對中斷響應(yīng)時間的限制。應(yīng)時間的限制。 (3)提高)提高CPU與輸入輸出設(shè)備間的并行性。與輸入輸出設(shè)備間的并行性。633/24/2022n2、緩沖技術(shù)的實(shí)現(xiàn)思想、緩沖技術(shù)的實(shí)現(xiàn)思想 建立一個緩沖區(qū),當(dāng)進(jìn)程要執(zhí)行讀寫操作時,建立一個緩沖區(qū),當(dāng)進(jìn)程要執(zhí)行讀寫操作時,首先向申請一塊內(nèi)存區(qū)域作為緩沖區(qū),然后,將要首先向申請一塊內(nèi)存區(qū)域作為緩沖區(qū),然后,將要傳送的數(shù)據(jù)高速送到緩沖區(qū)。傳送的數(shù)據(jù)高速送到緩沖區(qū)。
51、如果是讀操作,則根據(jù)進(jìn)程要求,把當(dāng)前需要如果是讀操作,則根據(jù)進(jìn)程要求,把當(dāng)前需要的邏輯記錄從緩沖區(qū)中選出并傳送給進(jìn)程。若為寫的邏輯記錄從緩沖區(qū)中選出并傳送給進(jìn)程。若為寫操作,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被填滿為操作,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被填滿為止。止。643/24/2022n3、實(shí)現(xiàn)緩沖的方法、實(shí)現(xiàn)緩沖的方法 (1) 硬件緩沖。硬件緩沖采用專用硬件緩沖器,硬件緩沖。硬件緩沖采用專用硬件緩沖器,一般由外設(shè)自帶的專用寄存器構(gòu)成。一般由外設(shè)自帶的專用寄存器構(gòu)成。 (2)軟件緩沖。在內(nèi)存中專門開辟若干單元作為)軟件緩沖。在內(nèi)存中專門開辟若干單元作為緩沖區(qū)為各種設(shè)備服務(wù)。緩沖區(qū)為各種設(shè)備服務(wù)
52、。653/24/20225.3.2 單緩沖和雙緩沖單緩沖和雙緩沖一、單緩沖一、單緩沖 單緩沖即是在發(fā)送者和接收者之間只有一個緩沖區(qū)單緩沖即是在發(fā)送者和接收者之間只有一個緩沖區(qū) 過程:過程:當(dāng)一個用戶進(jìn)程要求輸入數(shù)據(jù)時,操作當(dāng)一個用戶進(jìn)程要求輸入數(shù)據(jù)時,操作系統(tǒng)控制輸入設(shè)備將數(shù)據(jù)送往緩沖區(qū)存放,再送往系統(tǒng)控制輸入設(shè)備將數(shù)據(jù)送往緩沖區(qū)存放,再送往用戶進(jìn)程的數(shù)據(jù)存儲區(qū)。用戶進(jìn)程的數(shù)據(jù)存儲區(qū)。663/24/2022n特點(diǎn)特點(diǎn) 在主存中只有一個緩沖區(qū)。對于塊設(shè)備,該緩在主存中只有一個緩沖區(qū)。對于塊設(shè)備,該緩沖區(qū)可以存放一塊數(shù)據(jù),對于字符設(shè)備,該緩沖區(qū)沖區(qū)可以存放一塊數(shù)據(jù),對于字符設(shè)備,該緩沖區(qū)可以存放一
53、行數(shù)據(jù)。設(shè)備和處理器對緩沖區(qū)的操作可以存放一行數(shù)據(jù)。設(shè)備和處理器對緩沖區(qū)的操作是串行的,傳輸速度慢。在任一時刻,只能進(jìn)行單是串行的,傳輸速度慢。在任一時刻,只能進(jìn)行單向的數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)量較少。向的數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)量較少。 優(yōu)點(diǎn)是設(shè)計簡單,容易實(shí)現(xiàn)優(yōu)點(diǎn)是設(shè)計簡單,容易實(shí)現(xiàn) 缺點(diǎn)是發(fā)送者和接收者不能并行工作缺點(diǎn)是發(fā)送者和接收者不能并行工作673/24/2022n二、雙緩沖二、雙緩沖 雙緩沖可在發(fā)送者與接收者之間設(shè)兩個緩沖區(qū)雙緩沖可在發(fā)送者與接收者之間設(shè)兩個緩沖區(qū)緩沖區(qū)緩沖區(qū)1和緩沖區(qū)和緩沖區(qū)2。 過程:過程:發(fā)送者將數(shù)據(jù)送滿緩沖區(qū)發(fā)送者將數(shù)據(jù)送滿緩沖區(qū)1,接收者從緩,接收者從緩沖區(qū)沖
54、區(qū)1取數(shù)據(jù)時,發(fā)送者則可將數(shù)據(jù)送入緩沖區(qū)取數(shù)據(jù)時,發(fā)送者則可將數(shù)據(jù)送入緩沖區(qū)2,當(dāng)接收者將緩沖區(qū),當(dāng)接收者將緩沖區(qū)1取空后,又可到緩沖區(qū)取空后,又可到緩沖區(qū)2中中取數(shù)據(jù),這時發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)取數(shù)據(jù),這時發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)1。 于是,發(fā)送者和接收者交替使用兩個緩沖區(qū),于是,發(fā)送者和接收者交替使用兩個緩沖區(qū),達(dá)到了并行工作的目的。達(dá)到了并行工作的目的。683/24/2022n特點(diǎn)特點(diǎn) 在主存中設(shè)置兩個緩沖區(qū),完成數(shù)據(jù)的傳輸。兩在主存中設(shè)置兩個緩沖區(qū),完成數(shù)據(jù)的傳輸。兩個緩沖區(qū)可以交替使用,提高了處理器和輸入設(shè)備個緩沖區(qū)可以交替使用,提高了處理器和輸入設(shè)備的并行操作能力。的并行操作能力
55、。 在任一時刻,可以進(jìn)行雙向的數(shù)據(jù)傳輸。一個緩在任一時刻,可以進(jìn)行雙向的數(shù)據(jù)傳輸。一個緩沖區(qū)用于輸入,另一個用于輸出。沖區(qū)用于輸入,另一個用于輸出。 適用于輸入適用于輸入/輸出、生產(chǎn)者輸出、生產(chǎn)者/消費(fèi)者速度基本相匹消費(fèi)者速度基本相匹配的情況。配的情況。 當(dāng)傳輸數(shù)據(jù)量較大,或者兩者的速度相差較遠(yuǎn)時當(dāng)傳輸數(shù)據(jù)量較大,或者兩者的速度相差較遠(yuǎn)時,雙緩沖區(qū)效率較低,還是不能解決兩者并行工作,雙緩沖區(qū)效率較低,還是不能解決兩者并行工作問題。問題。693/24/2022n三、循環(huán)緩沖三、循環(huán)緩沖 由于雙緩沖并不能真正解決實(shí)際系統(tǒng)中的并行操作,為了由于雙緩沖并不能真正解決實(shí)際系統(tǒng)中的并行操作,為了能夠進(jìn)一步
56、提高系統(tǒng)操作的并行程度,可以通過增加緩沖區(qū)能夠進(jìn)一步提高系統(tǒng)操作的并行程度,可以通過增加緩沖區(qū)的個數(shù),即實(shí)現(xiàn)多緩沖區(qū)方式。為了更好地控制和使用這些的個數(shù),即實(shí)現(xiàn)多緩沖區(qū)方式。為了更好地控制和使用這些緩沖區(qū),將多個緩沖區(qū)組成環(huán)形,稱為循環(huán)緩沖技術(shù)。緩沖區(qū),將多個緩沖區(qū)組成環(huán)形,稱為循環(huán)緩沖技術(shù)。 循環(huán)緩沖技術(shù)是在內(nèi)存中分配大小相等的存儲區(qū)作循環(huán)緩沖技術(shù)是在內(nèi)存中分配大小相等的存儲區(qū)作為緩沖區(qū),并將這些緩沖區(qū)連接起來,每個緩沖區(qū)中有為緩沖區(qū),并將這些緩沖區(qū)連接起來,每個緩沖區(qū)中有一個指向下一個緩沖區(qū)的指針,最后一個緩沖區(qū)的指針一個指向下一個緩沖區(qū)的指針,最后一個緩沖區(qū)的指針指向第一個緩沖區(qū)指向第一
57、個緩沖區(qū)703/24/2022 為了充分利用這些緩沖資源,使進(jìn)程的處理和為了充分利用這些緩沖資源,使進(jìn)程的處理和I/O設(shè)備的設(shè)備的工作具有較好的連續(xù)性,提高設(shè)備的利用率,將緩沖區(qū)分為工作具有較好的連續(xù)性,提高設(shè)備的利用率,將緩沖區(qū)分為以下兩種類型:以下兩種類型: (1) 空緩沖區(qū)。準(zhǔn)備接收輸入的數(shù)據(jù)??站彌_區(qū)。準(zhǔn)備接收輸入的數(shù)據(jù)。 (2) 滿緩沖區(qū)。用于存放可供使用的數(shù)據(jù)。滿緩沖區(qū)。用于存放可供使用的數(shù)據(jù)。過程:過程: 當(dāng)循環(huán)緩沖接收數(shù)據(jù)時,將待傳送的數(shù)據(jù)送入當(dāng)循環(huán)緩沖接收數(shù)據(jù)時,將待傳送的數(shù)據(jù)送入EMPTY指向指向的空緩沖區(qū),填滿后,讓的空緩沖區(qū),填滿后,讓EMPTY指向下一個空緩沖區(qū)。每次
58、申指向下一個空緩沖區(qū)。每次申請一個空緩沖區(qū)時,需要判斷請一個空緩沖區(qū)時,需要判斷EMPTY是否與是否與FULL相等。若相相等。若相等,表示系統(tǒng)中已沒有空緩沖區(qū),輸入進(jìn)程需要等待;否則,等,表示系統(tǒng)中已沒有空緩沖區(qū),輸入進(jìn)程需要等待;否則,可以繼續(xù)輸入??梢岳^續(xù)輸入。 若要從緩沖區(qū)取數(shù)據(jù)時,直接到若要從緩沖區(qū)取數(shù)據(jù)時,直接到FULL所指向的緩沖區(qū)中取所指向的緩沖區(qū)中取,然后讓,然后讓FULL指向下一個滿緩沖區(qū)。同樣,每次指向下一個滿緩沖區(qū)。同樣,每次FULL指針移指針移動時,需要判斷動時,需要判斷FULL是否與是否與EMPTY相等。若相等,表示緩沖相等。若相等,表示緩沖區(qū)已無數(shù)據(jù)可取,等待緩沖區(qū)
59、滿后繼續(xù)操作。區(qū)已無數(shù)據(jù)可取,等待緩沖區(qū)滿后繼續(xù)操作。713/24/2022特點(diǎn)特點(diǎn): 在主存中設(shè)置多個緩沖區(qū)。讀和寫可以并行處理,適用在主存中設(shè)置多個緩沖區(qū)。讀和寫可以并行處理,適用于某種特定的輸入輸出進(jìn)程和計算進(jìn)程,如輸入于某種特定的輸入輸出進(jìn)程和計算進(jìn)程,如輸入/輸出、生輸出、生產(chǎn)者產(chǎn)者/消費(fèi)者速度不相匹配的情況。消費(fèi)者速度不相匹配的情況。 循環(huán)緩沖區(qū)屬于專用緩沖區(qū)。當(dāng)系統(tǒng)較大時,使用多循環(huán)緩沖區(qū)屬于專用緩沖區(qū)。當(dāng)系統(tǒng)較大時,使用多個這樣的緩沖區(qū)要消耗大量的主存空間,降低緩沖區(qū)的使用個這樣的緩沖區(qū)要消耗大量的主存空間,降低緩沖區(qū)的使用效率。效率。 兩個缺點(diǎn):兩個缺點(diǎn): (1)當(dāng)系統(tǒng)的資源
60、較多時,就要占用大量的緩沖區(qū),增加)當(dāng)系統(tǒng)的資源較多時,就要占用大量的緩沖區(qū),增加內(nèi)存開銷。內(nèi)存開銷。 (2)可能會出現(xiàn)某個設(shè)備的緩沖不夠用,而其他設(shè)備有)可能會出現(xiàn)某個設(shè)備的緩沖不夠用,而其他設(shè)備有多個空閑緩沖區(qū)的情況,導(dǎo)致循環(huán)緩沖的利用率不高。多個空閑緩沖區(qū)的情況,導(dǎo)致循環(huán)緩沖的利用率不高。723/24/2022n四、緩沖池四、緩沖池 上述的循環(huán)緩沖區(qū)僅適用于某特定的上述的循環(huán)緩沖區(qū)僅適用于某特定的I/O進(jìn)程和計算進(jìn)程,進(jìn)程和計算進(jìn)程,是專用緩沖結(jié)構(gòu),而不是針對整個系統(tǒng)的公用緩沖結(jié)構(gòu)。當(dāng)是專用緩沖結(jié)構(gòu),而不是針對整個系統(tǒng)的公用緩沖結(jié)構(gòu)。當(dāng)系統(tǒng)較大時,會有很多這樣的緩沖結(jié)構(gòu),這不僅要消耗大量
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江大學(xué)《全球變化與地表過程》2023-2024學(xué)年第一學(xué)期期末試卷
- 漳州職業(yè)技術(shù)學(xué)院《服裝結(jié)構(gòu)設(shè)計研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 生產(chǎn)調(diào)度軟件市場競爭格局
- 專業(yè)基礎(chǔ)-房地產(chǎn)經(jīng)紀(jì)人《專業(yè)基礎(chǔ)》模擬試卷2
- 房地產(chǎn)交易制度政策-《房地產(chǎn)基本制度與政策》點(diǎn)睛提分卷3
- 先進(jìn)班組長先進(jìn)事跡材料
- 二零二五年電子競技俱樂部店鋪?zhàn)赓U合同樣本6篇
- 外研版小學(xué)英語六年級下冊小升初一般現(xiàn)在時專項(xiàng)訓(xùn)練(含答案)
- 信陽農(nóng)林學(xué)院《機(jī)械設(shè)計基礎(chǔ)2》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年智慧養(yǎng)老項(xiàng)目合同2025版協(xié)議書2篇
- 2024年江蘇省《輔警招聘考試必刷500題》考試題庫帶答案(達(dá)標(biāo)題)
- 高中家長會 高三上學(xué)期期末家長會
- 深圳南山區(qū)2024-2025上學(xué)期小學(xué)四年級數(shù)學(xué)期末試卷
- 藥店員工培訓(xùn)
- 環(huán)衛(wèi)工節(jié)前安全培訓(xùn)
- 李四光《看看我們的地球》原文閱讀
- 2024年全國“紀(jì)檢監(jiān)察”業(yè)務(wù)相關(guān)知識考試題庫(附含答案)
- DB32T 2305-2013 內(nèi)陸水域魚類資源調(diào)查規(guī)范
- 《陋室銘》(過關(guān)檢測)(原卷版)-2024年中考語文課內(nèi)39篇文言文閱讀
- 福建省福州市2023-2024學(xué)年高一上學(xué)期期末考試物理試卷 附答案
- 檔案業(yè)務(wù)培訓(xùn)課件
評論
0/150
提交評論