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

下載本文檔

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

文檔簡介

1、1 4/23/2021 第第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è)備獨立性 v設(shè)備驅(qū)動 2 4/23/2021 5.1. I/O系統(tǒng) 5.2. I/O控制方式 5.3. 緩沖管理 5.4. I/O軟件 5.5. 設(shè)備分配 5.6. 磁盤存儲器的管理 3 4/23/2021 設(shè)備管理的目標設(shè)備管理的目標 n 根據(jù)設(shè)備請求的情況,按照一定的算法,選擇和根據(jù)設(shè)備請求的情況,按照一定的算法,選擇和 分配輸入輸出設(shè)備以便進行數(shù)據(jù)傳輸操作;分配輸入輸出設(shè)備以便進

2、行數(shù)據(jù)傳輸操作; n 控制輸入輸入設(shè)備和控制輸入輸入設(shè)備和CPU或內(nèi)存之間交換數(shù)據(jù),或內(nèi)存之間交換數(shù)據(jù), 同時提高設(shè)備和設(shè)備之間、同時提高設(shè)備和設(shè)備之間、CPU和設(shè)備之間,以及和設(shè)備之間,以及 進程和進程之間的并行操作度,以使操作系統(tǒng)獲得進程和進程之間的并行操作度,以使操作系統(tǒng)獲得 最佳效率;最佳效率; n 為用戶提供一個友好的透明接口,把用戶和設(shè)備為用戶提供一個友好的透明接口,把用戶和設(shè)備 硬件特性分開,使得用戶在編制應(yīng)用程序時不必涉硬件特性分開,使得用戶在編制應(yīng)用程序時不必涉 及具體設(shè)備,系統(tǒng)按用戶要求控制設(shè)備工作。及具體設(shè)備,系統(tǒng)按用戶要求控制設(shè)備工作。 4 4/23/2021 設(shè)備管理

3、功能設(shè)備管理功能 設(shè)備分配與回收設(shè)備分配與回收 緩沖管理緩沖管理 設(shè)備處理設(shè)備處理 虛擬設(shè)備虛擬設(shè)備 5 4/23/2021 511 I/O設(shè)備設(shè)備 計算機系統(tǒng)的外圍設(shè)備包括:顯示器、鍵盤、紙帶閱 讀器、紙帶穿孔機、打印機、磁帶、磁盤、光盤、激光 打印機、繪圖儀、圖形數(shù)字化儀、鼠標器、聲音輸入、 聲音輸出設(shè)備以及辦公自動化設(shè)備等等,種類相當(dāng)繁多, 可從不同的角度對它們進行分類。 5.1 I/O系統(tǒng)系統(tǒng) 6 4/23/2021 n系統(tǒng)設(shè)備:系統(tǒng)設(shè)備:在操作系統(tǒng)生成時已配置好的的標準 設(shè)備。 如:鍵盤、顯示器、打印機、磁盤等。 n 用戶設(shè)備:用戶設(shè)備:指系統(tǒng)設(shè)備之外的非標準設(shè)備,一 般由用戶提供設(shè)

4、備及其處理程序,并通過適當(dāng)?shù)?手段把它們納入系統(tǒng)中,由系統(tǒng)實施管理。 如:網(wǎng)卡、調(diào)制解調(diào)器、繪圖儀等。 1設(shè)備的從屬關(guān)系分類設(shè)備的從屬關(guān)系分類 7 4/23/2021 n塊設(shè)備:塊設(shè)備:指以數(shù)據(jù)塊為單位存儲和傳輸數(shù)據(jù)的設(shè) 備 如磁盤、磁帶等。 n字符設(shè)備:字符設(shè)備:指以單個字符為單位來傳送信息的設(shè) 備。 如鍵盤、顯示器、打印機等。 2設(shè)備中的信息交換單位方式分類設(shè)備中的信息交換單位方式分類 8 4/23/2021 n存儲設(shè)備:存儲設(shè)備:它是計算機用來存儲永久性信息的設(shè)備 如,磁帶、磁盤(軟盤、硬盤)、光盤等。 n輸入設(shè)備:輸入設(shè)備:將外部信息送給計算機的設(shè)備。 如,鍵盤、鼠標、掃描儀、手寫筆、

5、數(shù)碼相機、 麥克風(fēng)、游戲手柄等 n輸出設(shè)備:輸出設(shè)備:將計算機加工后的信息傳送給外界的設(shè) 備。 如,顯示器、打印機、投影儀等。 3按設(shè)備的使用特性分類按設(shè)備的使用特性分類 9 4/23/2021 n獨占設(shè)備獨占設(shè)備:這類設(shè)備在用戶作業(yè)的整個運行期間 必須為此用戶所占有,即多個作業(yè)對某一外設(shè)的 訪問應(yīng)該是互斥的,一旦系統(tǒng)將這類設(shè)備分配給 某個作業(yè),便由該設(shè)備獨占,直至釋放該資源。 大多數(shù)低速I/O設(shè)備,如用戶終端、打印機等 n共享設(shè)備共享設(shè)備:指在同一時間段內(nèi)可以同時讓幾個作 業(yè)使用的設(shè)備,當(dāng)然,在某一時刻,該設(shè)備只能 為一個作業(yè)服務(wù)。 適應(yīng)于高速設(shè)備,如磁盤 n虛擬設(shè)備虛擬設(shè)備: :根據(jù)設(shè)備的

6、使用性質(zhì)來決定一臺設(shè)備 可以分給幾個進程以提高該設(shè)備的使用率。 如虛擬打印機 4按資源分配的角度分類按資源分配的角度分類 10 4/23/2021 n 1、按(、按( )分類可將設(shè)備分為塊設(shè)備和字符設(shè)備。)分類可將設(shè)備分為塊設(shè)備和字符設(shè)備。 A.從屬關(guān)系從屬關(guān)系 B.操作特性操作特性 C.共享屬性共享屬性 D.信息交換單位信息交換單位 2、大多數(shù)低速設(shè)備都屬于(、大多數(shù)低速設(shè)備都屬于( ) 設(shè)備。設(shè)備。 A獨占獨占 B共享共享 C虛擬虛擬 DSpooling n3、從資源分配的角度看,可以把設(shè)備分為獨占設(shè)備、從資源分配的角度看,可以把設(shè)備分為獨占設(shè)備、 共享設(shè)備和共享設(shè)備和 虛擬設(shè)備虛擬設(shè)備

7、,打印機屬于,打印機屬于_ 設(shè)備設(shè)備, 而磁盤屬于而磁盤屬于_設(shè)備。設(shè)備。 11 4/23/2021 5.1.2 設(shè)備控制器設(shè)備控制器 1.設(shè)備控制器的概念設(shè)備控制器的概念 設(shè)備控制器是CPU與外圍設(shè)備之間的接口,是一 個可編址設(shè)備,每一個地址對應(yīng)一個設(shè)備。 它接收從CPU發(fā)來的命令,并去控制輸入輸出 設(shè)備的工作,使CPU從繁雜的設(shè)備控制事務(wù)中解脫 出來,提高CPU的使用效率。 12 4/23/2021 2.作用:作用:接收從CPU發(fā)來的命令,控制I/O設(shè)備工作 3.功能:功能: n接收和識別命令接收和識別命令 n數(shù)據(jù)交換數(shù)據(jù)交換 n地址識別地址識別 n標識和報告設(shè)備的狀態(tài)標識和報告設(shè)備的狀態(tài)

8、 n差錯控制差錯控制 13 4/23/2021 4.設(shè)備控制器的組成設(shè)備控制器的組成 n(1).設(shè)備控制器與處理機的接口 n(2).設(shè)備控制器與設(shè)備的接口 n(3).I/O邏輯 14 4/23/2021 I/O系統(tǒng)的結(jié)構(gòu) CPU 磁盤控制器磁盤控制器 存儲器存儲器 打印機打印機 控制器控制器 其他控制器其他控制器 一、微型機I/O系統(tǒng) :總線結(jié)構(gòu) 磁盤驅(qū)動器磁盤驅(qū)動器打印機打印機 15 4/23/2021 二、主機系統(tǒng)輸入輸出結(jié)構(gòu) 當(dāng)主機所配置的輸入輸出設(shè)備較多時,特別是配當(dāng)主機所配置的輸入輸出設(shè)備較多時,特別是配 有較多的高速外設(shè)時,采用總線型輸入輸出系統(tǒng)結(jié)構(gòu)有較多的高速外設(shè)時,采用總線型輸

9、入輸出系統(tǒng)結(jié)構(gòu) 會加重會加重CPUCPU與總線的負擔(dān)。與總線的負擔(dān)。 因此,在這樣的輸入輸出系統(tǒng)中不宜采用單總線因此,在這樣的輸入輸出系統(tǒng)中不宜采用單總線 結(jié)構(gòu),而是增加一級輸入輸出通道,用來代替結(jié)構(gòu),而是增加一級輸入輸出通道,用來代替CPUCPU與各與各 設(shè)備控制器進行通信,實現(xiàn)對控制器的控制。設(shè)備控制器進行通信,實現(xiàn)對控制器的控制。 16 4/23/2021 17 4/23/2021 5.1.3 I/O通道通道 1、通道的引入、通道的引入 為了提高計算機系統(tǒng)的運行效率,就要使為了提高計算機系統(tǒng)的運行效率,就要使CPU擺脫繁忙的擺脫繁忙的 I/O事務(wù),而配置專門處理事務(wù),而配置專門處理I/O

10、事務(wù)的機構(gòu)事務(wù)的機構(gòu)通道。通道。 通道的引入是為了建立獨立的通道的引入是為了建立獨立的I/O操作。它不僅要求數(shù)據(jù)操作。它不僅要求數(shù)據(jù) 傳送獨立于傳送獨立于CPU,而且要求,而且要求I/O操作的組織、管理、結(jié)束等操作的組織、管理、結(jié)束等 也盡量獨立,以保證也盡量獨立,以保證CPU有更多的時間從事計算。這樣就可有更多的時間從事計算。這樣就可 以實現(xiàn)以實現(xiàn)CPU計算和計算和I/O操作的并行工作。操作的并行工作。 18 4/23/2021 思考題一思考題一 n n 什么是通道?什么是通道? 通道有哪些類型?通道有哪些類型? 19 4/23/2021 2、I/O通道概念通道概念 通道是一種硬件機構(gòu),又稱

11、通道是一種硬件機構(gòu),又稱I/OI/O處理機。輸入輸處理機。輸入輸 出通道是指專門負責(zé)輸入輸出工作的處理器。出通道是指專門負責(zé)輸入輸出工作的處理器。 它有自己的指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設(shè)它有自己的指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設(shè) 備控制指令),獨立執(zhí)行自己的通道程序來實現(xiàn)內(nèi)備控制指令),獨立執(zhí)行自己的通道程序來實現(xiàn)內(nèi) 存與外設(shè)之間的數(shù)據(jù)傳輸,從而使系統(tǒng)獲得存與外設(shè)之間的數(shù)據(jù)傳輸,從而使系統(tǒng)獲得CPUCPU與外與外 設(shè)并行處理的能力。設(shè)并行處理的能力。 20 4/23/2021 n3、通道的類型、通道的類型 根據(jù)信息交換方式的不同,可把通道分成字節(jié)多路通 道、數(shù)組多路通道和選擇通道三種。 (1)

12、字節(jié)多路通道)字節(jié)多路通道 通常都含有許多非分配型子通道,其數(shù)量可以從幾十通常都含有許多非分配型子通道,其數(shù)量可以從幾十 到數(shù)百個,每一個子通道連接一臺輸入輸出設(shè)備,這些到數(shù)百個,每一個子通道連接一臺輸入輸出設(shè)備,這些 子通道按時間片輪轉(zhuǎn)方式共享主通道。子通道按時間片輪轉(zhuǎn)方式共享主通道。 字節(jié)多路通道字節(jié)多路通道 連接低速或中速連接低速或中速 設(shè)備時,不會丟設(shè)備時,不會丟 失信息。失信息。 21 4/23/2021 n 選擇通道的數(shù)據(jù)傳送是按成批的方式進行的,故 傳送速率很高。 (2)數(shù)據(jù)選擇通道)數(shù)據(jù)選擇通道 選擇通道選擇通道 n 它適用于連接高速它適用于連接高速I/O設(shè)備,如磁帶、磁盤等。

13、設(shè)備,如磁帶、磁盤等。 選擇通道只有一個分配型子通道,即這個子通道選擇通道只有一個分配型子通道,即這個子通道 可以連接多臺設(shè)備,但每次只能把子通道分配給可以連接多臺設(shè)備,但每次只能把子通道分配給 一臺設(shè)備使用。一旦分配給某臺設(shè)備,子通道就一臺設(shè)備使用。一旦分配給某臺設(shè)備,子通道就 被它獨占,即使暫時出現(xiàn)空閑,也不允許其他設(shè)被它獨占,即使暫時出現(xiàn)空閑,也不允許其他設(shè) 備利用該子通道。直到它被釋放,再選擇另一臺備利用該子通道。直到它被釋放,再選擇另一臺 設(shè)備為其服務(wù)。因此選擇通道的利用率是很低的。設(shè)備為其服務(wù)。因此選擇通道的利用率是很低的。 22 4/23/2021 n 這種通道綜合了字節(jié)多路通道

14、分時并行工作和選擇通這種通道綜合了字節(jié)多路通道分時并行工作和選擇通 道傳輸速率高的特點。道傳輸速率高的特點。 n 它具有多個非分配型子通道,每個子通道連接一臺中、它具有多個非分配型子通道,每個子通道連接一臺中、 高速高速I/O設(shè)備,如:磁帶、磁鼓、磁盤等,因而通道所連設(shè)備,如:磁帶、磁鼓、磁盤等,因而通道所連 接的幾個設(shè)備可以并行工作。接的幾個設(shè)備可以并行工作。 n 數(shù)組多路通道技術(shù)相當(dāng)于通道程序的多道程序設(shè)計技數(shù)組多路通道技術(shù)相當(dāng)于通道程序的多道程序設(shè)計技 術(shù)。術(shù)。 (3)數(shù)組多路通道)數(shù)組多路通道 23 4/23/2021 CPU CPU 字節(jié)多路通道字節(jié)多路通道 打印機打印機1 1 打印

15、機打印機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 控制器控制器 磁帶磁帶 磁帶磁帶 存在這三種通道的計算機系統(tǒng)的各硬件的連接關(guān)系如 圖所示: 24 4/23/2021 思考題二思考題二 設(shè)備管理中,什么是設(shè)備管理中,什么是“瓶頸瓶頸”現(xiàn)象?現(xiàn)象? 如何解決?如何解決? 25 4/23/2021 n 通道命令和通道程序通道命令和通道程序 通道有自己的指令系統(tǒng),為了與通道有自己的指令系統(tǒng),為了與CPU的指令的指令

16、 相區(qū)別,通道的指令被稱為相區(qū)別,通道的指令被稱為“通道命令字通道命令字”。通道。通道 命令字條數(shù)不多,主要涉及控制、轉(zhuǎn)移、讀、寫命令字條數(shù)不多,主要涉及控制、轉(zhuǎn)移、讀、寫 及查詢等功能。及查詢等功能。 0 7 8 31 32 47 48 63 每條通道命令由四個字段組成:每條通道命令由四個字段組成: (1) 操作碼操作碼(07): 表示通道要執(zhí)行的命令;表示通道要執(zhí)行的命令; (2) 數(shù)據(jù)主存始址:數(shù)據(jù)主存始址: 表示本命令要訪問的主存數(shù)據(jù)區(qū)的起表示本命令要訪問的主存數(shù)據(jù)區(qū)的起 始地址;始地址; (3) 特征位特征位(3247, 只使用了只使用了 3236 位,位, 其余未用其余未用): 3

17、739 位必須置位必須置 0,否則認為通道命令錯。,否則認為通道命令錯。 26 4/23/2021 n 通道程序存放在內(nèi)存中,由通道程序存放在內(nèi)存中,由I/O指令啟動執(zhí)行。指令啟動執(zhí)行。 用戶請求用戶請求I/O時,時,CPU對通道的通信是向通道發(fā)出對通道的通信是向通道發(fā)出 查詢、啟動和停止通道程序工作,而通道向查詢、啟動和停止通道程序工作,而通道向CPU的的 通信則采用中斷方式。其執(zhí)行過程如圖所示。通信則采用中斷方式。其執(zhí)行過程如圖所示。 27 4/23/2021 用戶用戶I/OI/O請求請求 查詢設(shè)備忙查詢設(shè)備忙 閑?閑? 調(diào)用通道程序調(diào)用通道程序 執(zhí)行通道程序執(zhí)行通道程序 I/OI/O操作

18、完成,操作完成, 發(fā)中斷請求發(fā)中斷請求 CPUCPU響應(yīng)中斷,進行結(jié)束響應(yīng)中斷,進行結(jié)束 處理處理 以以I/OI/O指令啟動通道指令啟動通道 結(jié)束通道工作結(jié)束通道工作 進入設(shè)備請求隊進入設(shè)備請求隊 列,等待列,等待 忙忙 不忙不忙 通道程序的執(zhí)行過程通道程序的執(zhí)行過程 28 4/23/2021 n5、通道工作過程、通道工作過程 (1) 當(dāng)進程有當(dāng)進程有I/O請求時,系統(tǒng)首先查詢設(shè)備狀請求時,系統(tǒng)首先查詢設(shè)備狀 態(tài)。若忙,進程進入設(shè)備請求隊列等待;若閑,態(tài)。若忙,進程進入設(shè)備請求隊列等待;若閑, CPU發(fā)指令指明發(fā)指令指明I/O操作、設(shè)備號和對應(yīng)通道。操作、設(shè)備號和對應(yīng)通道。 (2) 對應(yīng)通道收

19、到對應(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做中斷處理。做中斷處理。 (5) 中斷處理結(jié)束后,中斷處理結(jié)束后,CPU返回到被中斷進程返回到被中斷進程 處繼續(xù)執(zhí)行。處繼續(xù)執(zhí)行。 (6) 當(dāng)進程調(diào)度程序選中這個已得到數(shù)據(jù)的進當(dāng)進程調(diào)度程序選中這個已

20、得到數(shù)據(jù)的進 程后,才能進行加工處理。程后,才能進行加工處理。 29 4/23/2021 思考題三思考題三 n通道的作用是什么?通道的作用是什么? 通道是一個獨立于通道是一個獨立于CPU的專管輸入的專管輸入/輸出控制的處理輸出控制的處理 器,它控制內(nèi)存與外部設(shè)備直接進行數(shù)據(jù)交換。器,它控制內(nèi)存與外部設(shè)備直接進行數(shù)據(jù)交換。 它有自己的通道指令,這些通道指令受它有自己的通道指令,這些通道指令受CPU啟動,啟動, 并在操作結(jié)束時向并在操作結(jié)束時向 CPU發(fā)中斷信號。發(fā)中斷信號。 通道方式進一步減輕了通道方式進一步減輕了CPU的工作負擔(dān),增加了計算的工作負擔(dān),增加了計算 機系統(tǒng)的并行工作程度。機系統(tǒng)的

21、并行工作程度。 30 4/23/2021 5.1.4 總線系統(tǒng)總線系統(tǒng) n1、總線基本概念、總線基本概念 在計算機系統(tǒng)內(nèi)各種子系統(tǒng),如在計算機系統(tǒng)內(nèi)各種子系統(tǒng),如CPU、內(nèi)存、內(nèi)存、 I/O設(shè)備等之間,構(gòu)建公用的信號或數(shù)據(jù)傳輸通道設(shè)備等之間,構(gòu)建公用的信號或數(shù)據(jù)傳輸通道 這種可共享的傳輸通道稱為總線。這種可共享的傳輸通道稱為總線。 31 4/23/2021 n2、總線的分類、總線的分類 32 4/23/2021 n 當(dāng)用戶進程通過系統(tǒng)調(diào)用提出當(dāng)用戶進程通過系統(tǒng)調(diào)用提出I/O請求時,從請求時,從 系統(tǒng)響應(yīng)此請求開始,至系統(tǒng)完成用戶要求的系統(tǒng)響應(yīng)此請求開始,至系統(tǒng)完成用戶要求的 I/O操作,并喚醒

22、相應(yīng)的等待操作,并喚醒相應(yīng)的等待I/O完成的進程為止,完成的進程為止, 這整個過程稱為這整個過程稱為I/O控制過程??刂七^程。 52 I/O控制方式控制方式 33 4/23/2021 nI/O控制過程包括以下步驟:控制過程包括以下步驟: n (1)響應(yīng))響應(yīng)I/O請求,為在具體物理設(shè)備上進行請求,為在具體物理設(shè)備上進行I/O操操 作做準備。包括將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名(設(shè)作做準備。包括將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名(設(shè) 備分配)、備分配)、I/O請求的合法性等。請求的合法性等。 n (2)設(shè)備驅(qū)動,控制設(shè)備完成)設(shè)備驅(qū)動,控制設(shè)備完成I/O操作,對每類設(shè)操作,對每類設(shè) 備分別設(shè)置不同的設(shè)備驅(qū)

23、動程序。備分別設(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)的中斷處理 程序進行善后處理。程序進行善后處理。 34 4/23/2021 nI/O操作的控制方式一般有四種:操作的控制方式一般有四種: u查詢方式查詢方式 u中斷方式中斷方式 u直接內(nèi)存存取方式直接內(nèi)存存取方式 u通道方式通道方式 它們的主要差別在于處理器和外它們的主要差別在于處理器和外 設(shè)并行工作的方式和程度的不同。設(shè)并行工作的方式和程度的不同。 35 4/23/2021 n查詢方式

24、是最簡單的查詢方式是最簡單的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)位,如果為執(zhí)行完一條指令后就測試狀態(tài)位,如果為1, 就把數(shù)據(jù)寄存器中的數(shù)據(jù)取到內(nèi)存;

25、若狀態(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 查詢方式查詢方式 36 4/23/2021 就緒 向設(shè)備控制器發(fā)讀命令 讀設(shè)備控制器的狀態(tài) 檢查狀態(tài) 從設(shè)備控制器中讀入字 向存儲器中寫字 傳送完成 CPU-I/O CPU-內(nèi)存 I/O - CPU 出錯 I/O - CPU 完成 下條指令 未完成 未就緒 37 4/23/2021 n步驟:步驟: n (1) 當(dāng)用戶需要輸入數(shù)據(jù)時,由處理器向設(shè)備當(dāng)用戶需要輸入

26、數(shù)據(jù)時,由處理器向設(shè)備 控制器發(fā)出一條輸入輸出指令,啟動設(shè)備進行輸入控制器發(fā)出一條輸入輸出指令,啟動設(shè)備進行輸入 n (2) 當(dāng)用戶進程需要向設(shè)備輸出數(shù)據(jù)時,也必須當(dāng)用戶進程需要向設(shè)備輸出數(shù)據(jù)時,也必須 同樣發(fā)出啟動命令啟動設(shè)備輸出,并等待輸出操作同樣發(fā)出啟動命令啟動設(shè)備輸出,并等待輸出操作 完成。完成。 n特點:特點: 工作過程簡單,工作過程簡單,CPU的利用率低。在要求不的利用率低。在要求不 高的場合下常被采用,而且不能支持多道程序。程高的場合下常被采用,而且不能支持多道程序。程 序直接控制方式適用于早期的無中斷的計算機系統(tǒng)。序直接控制方式適用于早期的無中斷的計算機系統(tǒng)。 38 4/23/

27、2021 n 查詢方式是主機向外設(shè)詢問,而引入中斷查詢方式是主機向外設(shè)詢問,而引入中斷 后,每當(dāng)設(shè)備完成后,每當(dāng)設(shè)備完成I/O操作,它便以中斷請求方操作,它便以中斷請求方 式主動向式主動向CPU匯報。匯報。 n 因此,因此,CPU一旦啟動一旦啟動I/O設(shè)備后便可轉(zhuǎn)去處理設(shè)備后便可轉(zhuǎn)去處理 其他程序,僅在接到其他程序,僅在接到I/O中斷信息請求時才花費中斷信息請求時才花費 極少時間去處理。極少時間去處理。 522 中斷方式中斷方式 39 4/23/2021 n1、中斷概念、中斷概念 所謂中斷,是指處理機在執(zhí)行進程的過程中所謂中斷,是指處理機在執(zhí)行進程的過程中, 由由 于某些事件的出現(xiàn)于某些事件的

28、出現(xiàn), 中止當(dāng)前進程的運行中止當(dāng)前進程的運行, 轉(zhuǎn)而去處轉(zhuǎn)而去處 理出現(xiàn)的事件理出現(xiàn)的事件, 待處理完畢后返回原來被中斷處繼續(xù)待處理完畢后返回原來被中斷處繼續(xù) 執(zhí)行或調(diào)度其他進程執(zhí)行。執(zhí)行或調(diào)度其他進程執(zhí)行。 2、中斷源、中斷源 引起中斷的事件稱為中斷源。引起中斷的事件稱為中斷源。 (1)強迫性中斷源)強迫性中斷源 硬件故障、程序性錯誤、外部事件、硬件故障、程序性錯誤、外部事件、I/O中斷事件中斷事件 (2)自愿性中斷源)自愿性中斷源 40 4/23/2021 n3、步驟、步驟 (1)進程需要數(shù)據(jù)時,將允許啟動和允許中斷的)進程需要數(shù)據(jù)時,將允許啟動和允許中斷的 控制字寫入設(shè)備控制狀態(tài)寄存器中

29、,啟動該設(shè)備進控制字寫入設(shè)備控制狀態(tài)寄存器中,啟動該設(shè)備進 行輸入操作。行輸入操作。 (2)該進程放棄處理機,等待輸入的完成。操作)該進程放棄處理機,等待輸入的完成。操作 系統(tǒng)進程調(diào)度程序調(diào)度其他就緒進程占用處理機。系統(tǒng)進程調(diào)度程序調(diào)度其他就緒進程占用處理機。 (3)當(dāng)輸入完成時,輸入設(shè)備通過中斷請求線向)當(dāng)輸入完成時,輸入設(shè)備通過中斷請求線向 CPU發(fā)出中斷請求信號。發(fā)出中斷請求信號。CPU在接收到中斷信號之在接收到中斷信號之 后,轉(zhuǎn)向中斷處理程序。后,轉(zhuǎn)向中斷處理程序。 (4)中斷處理程序首先保護現(xiàn)場,然后把輸入緩)中斷處理程序首先保護現(xiàn)場,然后把輸入緩 沖寄存器中的數(shù)據(jù)傳送到某一特定單元

30、中去,同時沖寄存器中的數(shù)據(jù)傳送到某一特定單元中去,同時 將等待輸入完成的那個進程喚醒,進入就緒狀態(tài),將等待輸入完成的那個進程喚醒,進入就緒狀態(tài), 最后恢復(fù)現(xiàn)場,并返回到被中斷的進程繼續(xù)執(zhí)行。最后恢復(fù)現(xiàn)場,并返回到被中斷的進程繼續(xù)執(zhí)行。 (5)在以后的某一時刻,操作系統(tǒng)進程調(diào)度程序)在以后的某一時刻,操作系統(tǒng)進程調(diào)度程序 選中提出的請求并得到獲取數(shù)據(jù)的進程,該進程從選中提出的請求并得到獲取數(shù)據(jù)的進程,該進程從 約定的內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作約定的內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作 41 4/23/2021 向設(shè)備控制器發(fā)讀命令 讀設(shè)備控制器的狀態(tài) 檢查狀態(tài) 從設(shè)備控制器中讀入字 向存儲器中寫字

31、 傳送完成 完成 下條指令 CPU-I/O CPU-內(nèi)存 I/O - CPU 出錯 I/O - CPU 未完成 CPU做其他 中斷 42 4/23/2021 n例如,打印機每打一行需要例如,打印機每打一行需要60ms,在查詢方式,在查詢方式 中,大約有中,大約有59.99ms,CPU都處于循環(huán)等待中,都處于循環(huán)等待中, 而以中斷方式處理的話,而以中斷方式處理的話,CPU僅花費僅花費0.1ms時間時間 來處理來處理I/O設(shè)備發(fā)來的中斷,其余的設(shè)備發(fā)來的中斷,其余的59.99ms都可都可 以用來做別的事情。所以中斷方式比查詢方式節(jié)以用來做別的事情。所以中斷方式比查詢方式節(jié) 省省CPU的時間。的時間

32、。 43 4/23/2021 n 中斷方式的方法是當(dāng)設(shè)備完成中斷方式的方法是當(dāng)設(shè)備完成I/O操作后,主操作后,主 動向動向CPU報告,報告,CPU只用少量時間處理只用少量時間處理I/O中斷,中斷, 并將數(shù)據(jù)取回。并將數(shù)據(jù)取回。 n 在多道程序中的環(huán)境下,一個程序或進程啟在多道程序中的環(huán)境下,一個程序或進程啟 動動I/O設(shè)備并允許中斷后,不是自己主動去執(zhí)行別設(shè)備并允許中斷后,不是自己主動去執(zhí)行別 的程序或繼續(xù)執(zhí)行主流程,而是應(yīng)當(dāng)把自己掛起,的程序或繼續(xù)執(zhí)行主流程,而是應(yīng)當(dāng)把自己掛起, 控制權(quán)交還給進程調(diào)度程序。在中斷處理程序中,控制權(quán)交還給進程調(diào)度程序。在中斷處理程序中, 完成指定的完成指定的I

33、/O操作之后應(yīng)把等待此結(jié)果的進程喚操作之后應(yīng)把等待此結(jié)果的進程喚 醒,而后由進程調(diào)度程序在適當(dāng)時機把此進程投醒,而后由進程調(diào)度程序在適當(dāng)時機把此進程投 入運行。入運行。 44 4/23/2021 l 某進程某進程 其他進程其他進程 輸入中斷處理輸入中斷處理 中斷中斷 調(diào)度調(diào)度 調(diào)度調(diào)度 喚醒喚醒 l啟動啟動I/OI/O并允許并允許 中斷中斷 阻塞等待阻塞等待 處理輸入的數(shù)據(jù)處理輸入的數(shù)據(jù) 保護現(xiàn)場保護現(xiàn)場 輸入處理輸入處理 喚醒等待進程喚醒等待進程 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場 多道多道 程序程序 下的下的 中斷中斷 處理處理 方式方式 45 4/23/2021 n4、特點、特點 中斷控制方式比程序直接控

34、制方式提高了中斷控制方式比程序直接控制方式提高了CPU的的 利用率。每輸入輸出一個數(shù)據(jù)都會發(fā)生中斷,傳輸利用率。每輸入輸出一個數(shù)據(jù)都會發(fā)生中斷,傳輸 一組數(shù)據(jù)需要多次中斷,浪費了一組數(shù)據(jù)需要多次中斷,浪費了CPU的處理時間。的處理時間。 中斷控制方式應(yīng)用于現(xiàn)代計算機系統(tǒng)中。中斷控制方式應(yīng)用于現(xiàn)代計算機系統(tǒng)中。 46 4/23/2021 n1、DMA控制方式的引入控制方式的引入 引入的原因:引入的原因:中斷處理方式提高了主機的利中斷處理方式提高了主機的利 用率,但是每次中斷都要保存現(xiàn)場信息,恢復(fù)現(xiàn)用率,但是每次中斷都要保存現(xiàn)場信息,恢復(fù)現(xiàn) 場等,仍占用場等,仍占用CPU時間。在傳送數(shù)據(jù)量大、速度

35、時間。在傳送數(shù)據(jù)量大、速度 高的情況下,中斷方式就不適應(yīng)了。高的情況下,中斷方式就不適應(yīng)了。 為了進一步減少為了進一步減少CPU對外設(shè)操作干預(yù)而引入對外設(shè)操作干預(yù)而引入 直接存儲器訪問方式。直接存儲器訪問方式。 523 直接內(nèi)存存取方式直接內(nèi)存存取方式 47 4/23/2021 2、DMA控制方式控制方式 n 是指對是指對I/O設(shè)備的控制由設(shè)備的控制由DMA控制器完成,在控制器完成,在 DMA控制器的作用下,設(shè)備和主存之間可以成批控制器的作用下,設(shè)備和主存之間可以成批 地進行數(shù)據(jù)交換,而不用地進行數(shù)據(jù)交換,而不用CPU的干涉。的干涉。 523 直接內(nèi)存存取方式直接內(nèi)存存取方式 48 4/23/

36、2021 3 3、DMADMA控制器的組成控制器的組成: : DMA控制器的組成控制器的組成 命令命令 控制器與設(shè)備接口控制器與設(shè)備接口主機主機控制器接口控制器接口 內(nèi)存內(nèi)存CPU 系統(tǒng)總線系統(tǒng)總線 I/O 控制控制 邏輯邏輯 CR MAR DC DR count 49 4/23/2021 n4、DMA工作步驟工作步驟: u 當(dāng)進程要求設(shè)備輸入一批數(shù)據(jù)時,當(dāng)進程要求設(shè)備輸入一批數(shù)據(jù)時,CPU將設(shè)備存將設(shè)備存 放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入 DMA控制器中的地址寄存器和傳送字節(jié)計數(shù)器;另外,控制器中的地址寄存器和傳送字節(jié)計數(shù)器;另外,

37、 還要將中斷位和啟動位置為還要將中斷位和啟動位置為1,以啟動設(shè)備開始進行數(shù),以啟動設(shè)備開始進行數(shù) 據(jù)輸入并允許中斷。據(jù)輸入并允許中斷。 u 發(fā)出數(shù)據(jù)要求的進程進入等待狀態(tài),進程調(diào)度程發(fā)出數(shù)據(jù)要求的進程進入等待狀態(tài),進程調(diào)度程 序調(diào)度其他進程占據(jù)序調(diào)度其他進程占據(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ā)出中斷信

38、號,CPU收到中斷信號后轉(zhuǎn)中斷處理程序,收到中斷信號后轉(zhuǎn)中斷處理程序, 喚醒等待輸入完成的進程,并返回被中斷的程序。喚醒等待輸入完成的進程,并返回被中斷的程序。 u 在以后的某個時刻,進程調(diào)度程序選中提出請求輸在以后的某個時刻,進程調(diào)度程序選中提出請求輸 入的進程,該進程從指定的內(nèi)存始址取出數(shù)據(jù)做進一步入的進程,該進程從指定的內(nèi)存始址取出數(shù)據(jù)做進一步 處理。處理。 50 4/23/2021 CPU向控制器發(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ā)中

39、斷 N YDMA的實現(xiàn)流程的實現(xiàn)流程 51 4/23/2021 n5、DMA方式方式特點特點: (1) 數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊;數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊; (2) 所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存,所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存, 或者相反;或者相反; (3) 僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié) 束時,才需中斷束時,才需中斷CPU,請求干預(yù),整塊數(shù)據(jù)的傳,請求干預(yù),整塊數(shù)據(jù)的傳 送是在送是在DMA控制器控制下完成的??刂破骺刂葡峦瓿傻?。 n 缺點缺點: DMA方式只能完成簡單的數(shù)據(jù)傳送、計數(shù)、內(nèi)方式只能完成簡單的數(shù)據(jù)傳送、計數(shù)、內(nèi) 存地址加存地址加1或

40、減或減1等操作,不能滿足復(fù)雜的等操作,不能滿足復(fù)雜的I/O操操 作要求。作要求。 52 4/23/2021 6、DMA方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別 n (1) 中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中 斷請求,斷請求,CPU進行中斷處理;進行中斷處理; DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳方式則是在所要求傳送的數(shù)據(jù)塊全部傳 送結(jié)束時要求送結(jié)束時要求CPU進行中斷處理,大大減少了進行中斷處理,大大減少了CPU 進行中斷處理的次數(shù)。進行中斷處理的次數(shù)。 n (2) 中斷方式的數(shù)據(jù)傳送是由中斷方式的數(shù)據(jù)傳送是由CPU控制完成控制完成 的;的; DMA方

41、式則是在方式則是在DMA控制器的控制下不經(jīng)過控制器的控制下不經(jīng)過 CPU控制完成的。控制完成的。 53 4/23/2021 5.2.4 I/O通道控制方式通道控制方式 n1、概念、概念 通道控制方式是一種以主存為中心,是設(shè)備與通道控制方式是一種以主存為中心,是設(shè)備與 主存直接交換數(shù)據(jù)的控制方式。主存直接交換數(shù)據(jù)的控制方式。 CPU只需要發(fā)出啟動指令,指出通道相應(yīng)的操只需要發(fā)出啟動指令,指出通道相應(yīng)的操 作和輸入輸出設(shè)備,該指令就可以啟動通道并使該作和輸入輸出設(shè)備,該指令就可以啟動通道并使該 通道從主存中調(diào)出相應(yīng)的通道指令執(zhí)行,完成一組通道從主存中調(diào)出相應(yīng)的通道指令執(zhí)行,完成一組 數(shù)據(jù)塊的輸入數(shù)

42、據(jù)塊的輸入/輸出。輸出。 54 4/23/2021 n2、通道控制方式步驟、通道控制方式步驟 (1)當(dāng)進程要求設(shè)備輸入時,)當(dāng)進程要求設(shè)備輸入時,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è)備的控制狀態(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ā)控

43、制器通過中斷請求線發(fā) 中斷信號請求中斷信號請求CPU做中斷處理。做中斷處理。 (5)中斷處理結(jié)束后,)中斷處理結(jié)束后,CPU返回到被中斷進程返回到被中斷進程 處繼續(xù)執(zhí)行。處繼續(xù)執(zhí)行。 (6)當(dāng)進程調(diào)度程序選中這個已得到數(shù)據(jù)的進程)當(dāng)進程調(diào)度程序選中這個已得到數(shù)據(jù)的進程 后,才能進行加工處理。后,才能進行加工處理。 55 4/23/2021 n3、特點、特點 通道所需要的通道所需要的CPU干預(yù)更少,并可以實現(xiàn)干預(yù)更少,并可以實現(xiàn)CPU、 通道和輸入輸出設(shè)備三者之間的并行操作,從而更通道和輸入輸出設(shè)備三者之間的并行操作,從而更 有效地提高整個系統(tǒng)資源的利用率。有效地提高整個系統(tǒng)資源的利用率。 通道

44、控制方式適用于現(xiàn)代計算機系統(tǒng)中的大量數(shù)通道控制方式適用于現(xiàn)代計算機系統(tǒng)中的大量數(shù) 據(jù)交換。據(jù)交換。 56 4/23/2021 通道和通道和DMA控制器的區(qū)別控制器的區(qū)別 (1)一個)一個DMA控制器只能連接同類外設(shè),且如果是多臺控制器只能連接同類外設(shè),且如果是多臺 同類外設(shè),則它們只能是以串行方式工作。同類外設(shè),則它們只能是以串行方式工作。 一個通道可以連接多個不同類型的設(shè)備控制器,而一個一個通道可以連接多個不同類型的設(shè)備控制器,而一個 設(shè)備控制器又可以管理一臺或多臺外圍設(shè)備,這就構(gòu)成了典設(shè)備控制器又可以管理一臺或多臺外圍設(shè)備,這就構(gòu)成了典 型的多級層次結(jié)構(gòu),眾多外設(shè)均可在通道控制下同時工作;

45、型的多級層次結(jié)構(gòu),眾多外設(shè)均可在通道控制下同時工作; (2)DMA控制是借助硬件完成數(shù)據(jù)交換的,而通道是執(zhí)控制是借助硬件完成數(shù)據(jù)交換的,而通道是執(zhí) 行通道程序完成數(shù)據(jù)的;行通道程序完成數(shù)據(jù)的; (3)DMA控制器需要控制器需要CPU對多個外設(shè)進行初始化。對多個外設(shè)進行初始化。CPU 只需發(fā)一個只需發(fā)一個I/O指令啟動通道,由通道自己完成外設(shè)的初始指令啟動通道,由通道自己完成外設(shè)的初始 化?;?。 57 4/23/2021 n 綜上所述,在前三種綜上所述,在前三種I/O控制方式中,控制方式中,CPU直直 接對設(shè)備控制器和接對設(shè)備控制器和I/O接口編程,可以簡化接口接口編程,可以簡化接口 的設(shè)計。的

46、設(shè)計。 n 對于非對于非DMA傳送,需要傳送,需要CPU實際去完成數(shù)據(jù)實際去完成數(shù)據(jù) 傳送。對于高速數(shù)據(jù)傳送可以使用傳送。對于高速數(shù)據(jù)傳送可以使用DMA,但還是,但還是 需要需要CPU設(shè)置設(shè)備控制器,初始化設(shè)置設(shè)備控制器,初始化DMA操作和操作和 操作完畢去檢查端口傳送狀態(tài)。操作完畢去檢查端口傳送狀態(tài)。 n 而通道不同于而通道不同于DMA控制器,它能夠去取和執(zhí)控制器,它能夠去取和執(zhí) 行它自己的指令;行它自己的指令; 而且這些指令的功能已不僅僅而且這些指令的功能已不僅僅 是數(shù)據(jù)傳送,還包括檢索、分支轉(zhuǎn)移,甚至一些是數(shù)據(jù)傳送,還包括檢索、分支轉(zhuǎn)移,甚至一些 簡單的算術(shù)、邏輯運算。簡單的算術(shù)、邏輯運

47、算。 58 4/23/2021 n 大、中型計算機系統(tǒng)普遍用通道方式去控制大、中型計算機系統(tǒng)普遍用通道方式去控制 設(shè)備完成設(shè)備完成I/O操作,以提高操作,以提高CPU與外設(shè),外設(shè)與與外設(shè),外設(shè)與 外設(shè)并行的程度。一些小型機和絕大多數(shù)微型機外設(shè)并行的程度。一些小型機和絕大多數(shù)微型機 都是以都是以CPU直接控制設(shè)備接口和設(shè)備控制器以查直接控制設(shè)備接口和設(shè)備控制器以查 詢、中斷或詢、中斷或DMA方式完成方式完成I/O操作,以降低系統(tǒng)操作,以降低系統(tǒng) 造價。造價。 59 4/23/2021 思考題四思考題四 n n 綜上所述的綜上所述的4種種I/O控制方式,分別適合用控制方式,分別適合用 于何種場合?

48、于何種場合? 60 4/23/2021 課堂練習(xí)題課堂練習(xí)題 n1、從下面關(guān)于設(shè)備屬性的論述中,選擇一條正確的描述。(從下面關(guān)于設(shè)備屬性的論述中,選擇一條正確的描述。( ) nA字符設(shè)備的一個基本特征是可尋址的,即能指定輸入時字符設(shè)備的一個基本特征是可尋址的,即能指定輸入時 的源地址和輸出時的目標地址的源地址和輸出時的目標地址 nB共享設(shè)備必須是可尋址的和隨機訪問的設(shè)備共享設(shè)備必須是可尋址的和隨機訪問的設(shè)備 nC共享設(shè)備是指在同一時刻,允許多個進程同時訪問的設(shè)備共享設(shè)備是指在同一時刻,允許多個進程同時訪問的設(shè)備 nD在分配共享設(shè)備和獨占設(shè)備時,都可能引起進程死鎖在分配共享設(shè)備和獨占設(shè)備時,都可

49、能引起進程死鎖 n2、(、( )在一般大型計算機系統(tǒng)中,主機對外圍設(shè)備的控制可通)在一般大型計算機系統(tǒng)中,主機對外圍設(shè)備的控制可通 過通道、控制器和設(shè)備三個層次來實現(xiàn)。從下述敘述中選出一條過通道、控制器和設(shè)備三個層次來實現(xiàn)。從下述敘述中選出一條 正確的敘述。正確的敘述。 nA 控制器可控制通道,設(shè)備在通道控制下工作控制器可控制通道,設(shè)備在通道控制下工作 nB 通道控制控制器,設(shè)備在控制器控制下工作通道控制控制器,設(shè)備在控制器控制下工作 nC 通道和控制器分別控制設(shè)備通道和控制器分別控制設(shè)備 nD 控制器控制通道和設(shè)備的工作控制器控制通道和設(shè)備的工作 61 4/23/2021 n1、通過硬件和軟

50、件的擴充通過硬件和軟件的擴充,把原來獨立的設(shè)備改造成能為若把原來獨立的設(shè)備改造成能為若 干用戶共享的設(shè)備干用戶共享的設(shè)備,這種設(shè)備稱為這種設(shè)備稱為 ? 。 n 2、引起中斷發(fā)生的事件稱為、引起中斷發(fā)生的事件稱為 ? 。 n 3、如果、如果I/O設(shè)備與存儲設(shè)備進行數(shù)據(jù)交換不經(jīng)過設(shè)備與存儲設(shè)備進行數(shù)據(jù)交換不經(jīng)過CPU來完成,來完成, 這種數(shù)據(jù)交換方式是這種數(shù)據(jù)交換方式是 ? 。 n4、常用的、常用的I/O控制方式有程序控制方式有程序I/O方式、方式、 ? 、?、? 、?. n5、DMA是指允許是指允許 ? 和和 ? 之間直接交換數(shù)據(jù)的設(shè)之間直接交換數(shù)據(jù)的設(shè) 備。在備。在DMA中必須設(shè)置地址寄存器,

51、用于存放中必須設(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è)備和 ? 兩類。兩類。 62 4/23/2021 5.3 緩沖管理緩沖管理 n5.3.1 緩沖的引入緩沖的引入 1、引入的原因、引入的原因 (1)緩和)緩和CPU與輸入輸出設(shè)備間速度不匹配的與輸入輸出設(shè)備間速度不匹

52、配的 矛盾矛盾 (2)減少對)減少對CPU的中斷頻率,放寬對中斷響應(yīng)的中斷頻率,放寬對中斷響應(yīng) 時間的限制。時間的限制。 (3)提高)提高CPU與輸入輸出設(shè)備間的并行性。與輸入輸出設(shè)備間的并行性。 63 4/23/2021 n2、緩沖技術(shù)的實現(xiàn)思想、緩沖技術(shù)的實現(xiàn)思想 建立一個緩沖區(qū),當(dāng)進程要執(zhí)行讀寫操作時,建立一個緩沖區(qū),當(dāng)進程要執(zhí)行讀寫操作時, 首先向申請一塊內(nèi)存區(qū)域作為緩沖區(qū),然后,將要首先向申請一塊內(nèi)存區(qū)域作為緩沖區(qū),然后,將要 傳送的數(shù)據(jù)高速送到緩沖區(qū)。傳送的數(shù)據(jù)高速送到緩沖區(qū)。 如果是讀操作,則根據(jù)進程要求,把當(dāng)前需要如果是讀操作,則根據(jù)進程要求,把當(dāng)前需要 的邏輯記錄從緩沖區(qū)中選

53、出并傳送給進程。若為寫的邏輯記錄從緩沖區(qū)中選出并傳送給進程。若為寫 操作,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被填滿為操作,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被填滿為 止。止。 64 4/23/2021 n3、實現(xiàn)緩沖的方法、實現(xiàn)緩沖的方法 (1) 硬件緩沖。硬件緩沖采用專用硬件緩沖器,硬件緩沖。硬件緩沖采用專用硬件緩沖器, 一般由外設(shè)自帶的專用寄存器構(gòu)成。一般由外設(shè)自帶的專用寄存器構(gòu)成。 (2)軟件緩沖。在內(nèi)存中專門開辟若干單元作為)軟件緩沖。在內(nèi)存中專門開辟若干單元作為 緩沖區(qū)為各種設(shè)備服務(wù)。緩沖區(qū)為各種設(shè)備服務(wù)。 65 4/23/2021 5.3.2 單緩沖和雙緩沖單緩沖和雙緩沖 一、單緩沖一、單

54、緩沖 單緩沖即是在發(fā)送者和接收者之間只有一個緩沖區(qū)單緩沖即是在發(fā)送者和接收者之間只有一個緩沖區(qū) 過程:過程:當(dāng)一個用戶進程要求輸入數(shù)據(jù)時,操作當(dāng)一個用戶進程要求輸入數(shù)據(jù)時,操作 系統(tǒng)控制輸入設(shè)備將數(shù)據(jù)送往緩沖區(qū)存放,再送往系統(tǒng)控制輸入設(shè)備將數(shù)據(jù)送往緩沖區(qū)存放,再送往 用戶進程的數(shù)據(jù)存儲區(qū)。用戶進程的數(shù)據(jù)存儲區(qū)。 66 4/23/2021 n特點特點 在主存中只有一個緩沖區(qū)。對于塊設(shè)備,該緩沖在主存中只有一個緩沖區(qū)。對于塊設(shè)備,該緩沖 區(qū)可以存放一塊數(shù)據(jù),對于字符設(shè)備,該緩沖區(qū)可區(qū)可以存放一塊數(shù)據(jù),對于字符設(shè)備,該緩沖區(qū)可 以存放一行數(shù)據(jù)。設(shè)備和處理器對緩沖區(qū)的操作是以存放一行數(shù)據(jù)。設(shè)備和處理器

55、對緩沖區(qū)的操作是 串行的,傳輸速度慢。在任一時刻,只能進行單向串行的,傳輸速度慢。在任一時刻,只能進行單向 的數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)量較少。的數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)量較少。 優(yōu)點是設(shè)計簡單,容易實現(xiàn)優(yōu)點是設(shè)計簡單,容易實現(xiàn) 缺點是發(fā)送者和接收者不能并行工作缺點是發(fā)送者和接收者不能并行工作 67 4/23/2021 n二、雙緩沖二、雙緩沖 雙緩沖可在發(fā)送者與接收者之間設(shè)兩個緩沖區(qū)雙緩沖可在發(fā)送者與接收者之間設(shè)兩個緩沖區(qū) 緩沖區(qū)緩沖區(qū)1和緩沖區(qū)和緩沖區(qū)2。 過程:過程:發(fā)送者將數(shù)據(jù)送滿緩沖區(qū)發(fā)送者將數(shù)據(jù)送滿緩沖區(qū)1,接收者從緩,接收者從緩 沖區(qū)沖區(qū)1取數(shù)據(jù)時,發(fā)送者則可將數(shù)據(jù)送入緩沖區(qū)取數(shù)據(jù)時,發(fā)

56、送者則可將數(shù)據(jù)送入緩沖區(qū)2, 當(dāng)接收者將緩沖區(qū)當(dāng)接收者將緩沖區(qū)1取空后,又可到緩沖區(qū)取空后,又可到緩沖區(qū)2中取數(shù)中取數(shù) 據(jù),這時發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)據(jù),這時發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)1。 于是,發(fā)送者和接收者交替使用兩個緩沖區(qū),達于是,發(fā)送者和接收者交替使用兩個緩沖區(qū),達 到了并行工作的目的。到了并行工作的目的。 68 4/23/2021 n特點特點 在主存中設(shè)置兩個緩沖區(qū),完成數(shù)據(jù)的傳輸。兩在主存中設(shè)置兩個緩沖區(qū),完成數(shù)據(jù)的傳輸。兩 個緩沖區(qū)可以交替使用,提高了處理器和輸入設(shè)備個緩沖區(qū)可以交替使用,提高了處理器和輸入設(shè)備 的并行操作能力。的并行操作能力。 在任一時刻,可以進行雙向的數(shù)據(jù)傳輸

57、。一個緩在任一時刻,可以進行雙向的數(shù)據(jù)傳輸。一個緩 沖區(qū)用于輸入,另一個用于輸出。沖區(qū)用于輸入,另一個用于輸出。 適用于輸入適用于輸入/輸出、生產(chǎn)者輸出、生產(chǎn)者/消費者速度基本相匹消費者速度基本相匹 配的情況。配的情況。 當(dāng)傳輸數(shù)據(jù)量較大,或者兩者的速度相差較遠時當(dāng)傳輸數(shù)據(jù)量較大,或者兩者的速度相差較遠時 ,雙緩沖區(qū)效率較低,還是不能解決兩者并行工作,雙緩沖區(qū)效率較低,還是不能解決兩者并行工作 問題。問題。 69 4/23/2021 n三、循環(huán)緩沖三、循環(huán)緩沖 由于雙緩沖并不能真正解決實際系統(tǒng)中的并行操作,為了由于雙緩沖并不能真正解決實際系統(tǒng)中的并行操作,為了 能夠進一步提高系統(tǒng)操作的并行程度

58、,可以通過增加緩沖區(qū)能夠進一步提高系統(tǒng)操作的并行程度,可以通過增加緩沖區(qū) 的個數(shù),即實現(xiàn)多緩沖區(qū)方式。為了更好地控制和使用這些的個數(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ū)指向第一個緩沖區(qū) 7

59、0 4/23/2021 為了充分利用這些緩沖資源,使進程的處理和為了充分利用這些緩沖資源,使進程的處理和I/O設(shè)備的設(shè)備的 工作具有較好的連續(xù)性,提高設(shè)備的利用率,將緩沖區(qū)分為工作具有較好的連續(xù)性,提高設(shè)備的利用率,將緩沖區(qū)分為 以下兩種類型:以下兩種類型: (1) 空緩沖區(qū)。準備接收輸入的數(shù)據(jù)??站彌_區(qū)。準備接收輸入的數(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ū)。每次

60、申指向下一個空緩沖區(qū)。每次申 請一個空緩沖區(qū)時,需要判斷請一個空緩沖區(qū)時,需要判斷EMPTY是否與是否與FULL相等。若相相等。若相 等,表示系統(tǒng)中已沒有空緩沖區(qū),輸入進程需要等待;否則,等,表示系統(tǒng)中已沒有空緩沖區(qū),輸入進程需要等待;否則, 可以繼續(xù)輸入??梢岳^續(xù)輸入。 若要從緩沖區(qū)取數(shù)據(jù)時,直接到若要從緩沖區(qū)取數(shù)據(jù)時,直接到FULL所指向的緩沖區(qū)中取所指向的緩沖區(qū)中取 ,然后讓,然后讓FULL指向下一個滿緩沖區(qū)。同樣,每次指向下一個滿緩沖區(qū)。同樣,每次FULL指針移指針移 動時,需要判斷動時,需要判斷FULL是否與是否與EMPTY相等。若相等,表示緩沖相等。若相等,表示緩沖 區(qū)已無數(shù)據(jù)可取

溫馨提示

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

評論

0/150

提交評論