計算機操作系統chap5設備管理課件_第1頁
計算機操作系統chap5設備管理課件_第2頁
計算機操作系統chap5設備管理課件_第3頁
計算機操作系統chap5設備管理課件_第4頁
計算機操作系統chap5設備管理課件_第5頁
已閱讀5頁,還剩149頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、13/24/2022 第第5 5章章 設備管理設備管理 設備管理是操作系統中最繁雜且與硬件關系最密切的部分。通過本章學習,讀者應該掌握以下內容:v數據傳輸方式v中斷技術v緩沖技術v設備分配技術v設備獨立性v設備驅動23/24/20225.1. I/O系統 5.2. I/O控制方式 5.3. 緩沖管理 5.4. I/O軟件 5.5. 設備分配 5.6. 磁盤存儲器的管理33/24/2022設備管理的目標設備管理的目標n 根據設備請求的情況,按照一定的算法,選擇和根據設備請求的情況,按照一定的算法,選擇和分配輸入輸出設備以便進行數據傳輸操作;分配輸入輸出設備以便進行數據傳輸操作;n 控制輸入輸入設

2、備和控制輸入輸入設備和CPU或內存之間交換數據,或內存之間交換數據,同時提高設備和設備之間、同時提高設備和設備之間、CPU和設備之間,以及和設備之間,以及進程和進程之間的并行操作度,以使操作系統獲得進程和進程之間的并行操作度,以使操作系統獲得最佳效率;最佳效率;n 為用戶提供一個友好的透明接口,把用戶和設備為用戶提供一個友好的透明接口,把用戶和設備硬件特性分開,使得用戶在編制應用程序時不必涉硬件特性分開,使得用戶在編制應用程序時不必涉及具體設備,系統按用戶要求控制設備工作。及具體設備,系統按用戶要求控制設備工作。43/24/2022設備管理功能設備管理功能設備分配與回收設備分配與回收緩沖管理緩

3、沖管理設備處理設備處理虛擬設備虛擬設備53/24/2022511 I/O設備設備 計算機系統的外圍設備包括:顯示器、鍵盤、紙帶閱讀器、紙帶穿孔機、打印機、磁帶、磁盤、光盤、激光打印機、繪圖儀、圖形數字化儀、鼠標器、聲音輸入、聲音輸出設備以及辦公自動化設備等等,種類相當繁多,可從不同的角度對它們進行分類。 5.1 I/O系統系統63/24/2022n系統設備:系統設備:在操作系統生成時已配置好的的標準設備。 如:鍵盤、顯示器、打印機、磁盤等。n 用戶設備:用戶設備:指系統設備之外的非標準設備,一般由用戶提供設備及其處理程序,并通過適當的手段把它們納入系統中,由系統實施管理。 如:網卡、調制解調器

4、、繪圖儀等。 1設備的從屬關系分類設備的從屬關系分類73/24/2022n塊設備:塊設備:指以數據塊為單位存儲和傳輸數據的設備 如磁盤、磁帶等。n字符設備:字符設備:指以單個字符為單位來傳送信息的設備。 如鍵盤、顯示器、打印機等。2設備中的信息交換單位方式分類設備中的信息交換單位方式分類83/24/2022n存儲設備:存儲設備:它是計算機用來存儲永久性信息的設備 如,磁帶、磁盤(軟盤、硬盤)、光盤等。n輸入設備:輸入設備:將外部信息送給計算機的設備。 如,鍵盤、鼠標、掃描儀、手寫筆、數碼相機、麥克風、游戲手柄等n輸出設備:輸出設備:將計算機加工后的信息傳送給外界的設備。 如,顯示器、打印機、投

5、影儀等。3按設備的使用特性分類按設備的使用特性分類93/24/2022n獨占設備獨占設備:這類設備在用戶作業的整個運行期間必須為此用戶所占有,即多個作業對某一外設的訪問應該是互斥的,一旦系統將這類設備分配給某個作業,便由該設備獨占,直至釋放該資源。 大多數低速I/O設備,如用戶終端、打印機等n共享設備共享設備:指在同一時間段內可以同時讓幾個作業使用的設備,當然,在某一時刻,該設備只能為一個作業服務。 適應于高速設備,如磁盤n虛擬設備虛擬設備: :根據設備的使用性質來決定一臺設備可以分給幾個進程以提高該設備的使用率。 如虛擬打印機4按資源分配的角度分類按資源分配的角度分類103/24/2022n

6、 1、按(、按( )分類可將設備分為塊設備和字符設備。)分類可將設備分為塊設備和字符設備。 A.從屬關系從屬關系 B.操作特性操作特性 C.共享屬性共享屬性 D.信息交換單位信息交換單位 2、大多數低速設備都屬于(、大多數低速設備都屬于( ) 設備。設備。 A獨占獨占 B共享共享 C虛擬虛擬 DSpoolingn3、從資源分配的角度看,可以把設備分為獨占設從資源分配的角度看,可以把設備分為獨占設備、共享設備和備、共享設備和 虛擬設備虛擬設備 ,打印機屬于,打印機屬于_ 設備設備,而磁盤屬于而磁盤屬于_設備。設備。113/24/2022 5.1.2 設備控制器設備控制器1.設備控制器的概念設備控

7、制器的概念 設備控制器是CPU與外圍設備之間的接口,是一個可編址設備,每一個地址對應一個設備。 它接收從CPU發來的命令,并去控制輸入輸出設備的工作,使CPU從繁雜的設備控制事務中解脫出來,提高CPU的使用效率。123/24/20222.作用:作用:接收從CPU發來的命令,控制I/O設備工作3.功能:功能:n接收和識別命令接收和識別命令n數據交換數據交換n地址識別地址識別n標識和報告設備的狀態標識和報告設備的狀態n差錯控制差錯控制133/24/20224.設備控制器的組成設備控制器的組成n(1).設備控制器與處理機的接口n(2).設備控制器與設備的接口n(3).I/O邏輯143/24/2022

8、I/O系統的結構CPU磁盤控制器磁盤控制器存儲器存儲器打印機打印機控制器控制器其他控制器其他控制器一、微型機I/O系統 :總線結構磁盤驅動器磁盤驅動器打印機打印機153/24/2022二、主機系統輸入輸出結構當主機所配置的輸入輸出設備較多時,特別是配當主機所配置的輸入輸出設備較多時,特別是配有較多的高速外設時,采用總線型輸入輸出系統結構有較多的高速外設時,采用總線型輸入輸出系統結構會加重會加重CPUCPU與總線的負擔。與總線的負擔。 因此,在這樣的輸入輸出系統中不宜采用單總線因此,在這樣的輸入輸出系統中不宜采用單總線結構,而是增加一級輸入輸出通道,用來代替結構,而是增加一級輸入輸出通道,用來代

9、替CPUCPU與各與各設備控制器進行通信,實現對控制器的控制。設備控制器進行通信,實現對控制器的控制。163/24/2022 173/24/20225.1.3 I/O通道通道1、通道的引入、通道的引入 為了提高計算機系統的運行效率,就要使為了提高計算機系統的運行效率,就要使CPU擺脫繁忙的擺脫繁忙的I/O事務,而配置專門處理事務,而配置專門處理I/O事務的機構事務的機構通道。通道。 通道的引入是為了建立獨立的通道的引入是為了建立獨立的I/O操作。它不僅要求數據操作。它不僅要求數據傳送獨立于傳送獨立于CPU,而且要求,而且要求I/O操作的組織、管理、結束等操作的組織、管理、結束等也盡量獨立,以保

10、證也盡量獨立,以保證CPU有更多的時間從事計算。這樣就可有更多的時間從事計算。這樣就可以實現以實現CPU計算和計算和I/O操作的并行工作。操作的并行工作。183/24/2022思考題一思考題一n n 什么是通道?什么是通道? 通道有哪些類型?通道有哪些類型?193/24/20222、I/O通道概念通道概念 通道是一種硬件機構,又稱通道是一種硬件機構,又稱I/OI/O處理機。輸入輸處理機。輸入輸出通道是指專門負責輸入輸出工作的處理器。出通道是指專門負責輸入輸出工作的處理器。 它有自己的指令系統(包含數據傳送指令和設它有自己的指令系統(包含數據傳送指令和設備控制指令),獨立執行自己的通道程序來實現

11、內備控制指令),獨立執行自己的通道程序來實現內存與外設之間的數據傳輸,從而使系統獲得存與外設之間的數據傳輸,從而使系統獲得CPUCPU與與外設并行處理的能力。外設并行處理的能力。203/24/2022n3、通道的類型、通道的類型 根據信息交換方式的不同,可把通道分成字節多路通道、數組多路通道和選擇通道三種。(1)字節多路通道)字節多路通道 通常都含有許多非分配型子通道,其數量可以從幾十通常都含有許多非分配型子通道,其數量可以從幾十到數百個,每一個子通道連接一臺輸入輸出設備,這些到數百個,每一個子通道連接一臺輸入輸出設備,這些子通道按時間片輪轉方式共享主通道。子通道按時間片輪轉方式共享主通道。

12、字節多路通道字節多路通道連接低速或中速連接低速或中速設備時,不會丟設備時,不會丟失信息。失信息。213/24/2022n 選擇通道的數據傳送是按成批的方式進行的,故傳送速率很高。(2)數據選擇通道)數據選擇通道選擇通道選擇通道n 它適用于連接高速它適用于連接高速I/O設備,如磁帶、磁盤等。設備,如磁帶、磁盤等。選擇通道只有一個分配型子通道,即這個子通道選擇通道只有一個分配型子通道,即這個子通道可以連接多臺設備,但每次只能把子通道分配給可以連接多臺設備,但每次只能把子通道分配給一臺設備使用。一旦分配給某臺設備,子通道就一臺設備使用。一旦分配給某臺設備,子通道就被它獨占,即使暫時出現空閑,也不允許

13、其他設被它獨占,即使暫時出現空閑,也不允許其他設備利用該子通道。直到它被釋放,再選擇另一臺備利用該子通道。直到它被釋放,再選擇另一臺設備為其服務。因此選擇通道的利用率是很低的。設備為其服務。因此選擇通道的利用率是很低的。223/24/2022n 這種通道綜合了字節多路通道分時并行工作和選擇通這種通道綜合了字節多路通道分時并行工作和選擇通道傳輸速率高的特點。道傳輸速率高的特點。n 它具有多個非分配型子通道,每個子通道連接一臺中、它具有多個非分配型子通道,每個子通道連接一臺中、高速高速I/O設備,如:磁帶、磁鼓、磁盤等,因而通道所連設備,如:磁帶、磁鼓、磁盤等,因而通道所連接的幾個設備可以并行工作

14、。接的幾個設備可以并行工作。 n 數組多路通道技術相當于通道程序的多道程序設計技數組多路通道技術相當于通道程序的多道程序設計技術。術。(3)數組多路通道)數組多路通道233/24/2022 CPU CPU字節多路通道字節多路通道 打印機打印機1 1 打印機打印機2 2 I/O I/O控制器控制器 I/OI/O控制器控制器 內存內存 選擇通道選擇通道 成組多路通道成組多路通道 磁盤磁盤 I/OI/O控制控制器器 磁盤磁盤 I/OI/O控制控制器器 I/O控控 制器制器 I/O I/O 控制器控制器 磁帶磁帶 磁帶磁帶 存在這三種通道的計算機系統的各硬件的連接關系如圖所示:243/24/2022思

15、考題二思考題二 設備管理中,什么是設備管理中,什么是“瓶頸瓶頸”現象?現象? 如何解決?如何解決?253/24/2022n 通道命令和通道程序通道命令和通道程序 通道有自己的指令系統,為了與通道有自己的指令系統,為了與CPU的指令的指令相區別,通道的指令被稱為相區別,通道的指令被稱為“通道命令字通道命令字”。通道。通道命令字條數不多,主要涉及控制、轉移、讀、寫命令字條數不多,主要涉及控制、轉移、讀、寫及查詢等功能。及查詢等功能。0 7 8 31 32 47 48 63 每條通道命令由四個字段組成:每條通道命令由四個字段組成: (1) 操作碼操作碼(07): 表示通道要執行的命令;表示通道要執行

16、的命令; (2) 數據主存始址:數據主存始址: 表示本命令要訪問的主存數據區的表示本命令要訪問的主存數據區的起始地址;起始地址; (3) 特征位特征位(3247, 只使用了只使用了 3236 位,位, 其余未用其余未用): 3739 位必須置位必須置 0,否則認為通道命令錯。,否則認為通道命令錯。 263/24/2022n 通道程序存放在內存中,由通道程序存放在內存中,由I/O指令啟動執行。指令啟動執行。用戶請求用戶請求I/O時,時,CPU對通道的通信是向通道發出對通道的通信是向通道發出查詢、啟動和停止通道程序工作,而通道向查詢、啟動和停止通道程序工作,而通道向CPU的的通信則采用中斷方式。其

17、執行過程如圖所示。通信則采用中斷方式。其執行過程如圖所示。273/24/2022用戶用戶I/OI/O請求請求 查詢設備忙查詢設備忙閑?閑? 調用通道程序調用通道程序 執行通道程序執行通道程序 I/OI/O操作完成,操作完成,發中斷請求發中斷請求 CPUCPU響應中斷,進行結束響應中斷,進行結束處理處理 以以I/OI/O指令啟動通道指令啟動通道 結束通道工作結束通道工作 進入設備請求隊進入設備請求隊列,等待列,等待 忙忙 不忙不忙 通道程序的執行過程通道程序的執行過程 283/24/2022n5、通道工作過程、通道工作過程 (1) 當進程有當進程有I/O請求時,系統首先查詢設備狀請求時,系統首先

18、查詢設備狀態。若忙,進程進入設備請求隊列等待;若閑,態。若忙,進程進入設備請求隊列等待;若閑,CPU發指令指明發指令指明I/O操作、設備號和對應通道。操作、設備號和對應通道。 (2) 對應通道收到對應通道收到CPU發來的啟動指令后,讀發來的啟動指令后,讀出內存中的通道指令程序、設置對應設備的控制狀出內存中的通道指令程序、設置對應設備的控制狀態寄存器的初值。態寄存器的初值。 (3) 設備按通道指令的求,把數據送往內存指設備按通道指令的求,把數據送往內存指定區域。定區域。 (4) 若傳送結束,若傳送結束,I/O控制器通過中斷請求線發控制器通過中斷請求線發中斷信號請求中斷信號請求CPU做中斷處理。做

19、中斷處理。 (5) 中斷處理結束后,中斷處理結束后,CPU返回到被中斷進程返回到被中斷進程處繼續執行。處繼續執行。 (6) 當進程調度程序選中這個已得到數據的進當進程調度程序選中這個已得到數據的進程后,才能進行加工處理。程后,才能進行加工處理。293/24/2022思考題三思考題三 n通道的作用是什么?通道的作用是什么? 通道是一個獨立于通道是一個獨立于CPU的專管輸入的專管輸入/輸出控制的處理輸出控制的處理器,它控制內存與外部設備直接進行數據交換。器,它控制內存與外部設備直接進行數據交換。 它有自己的通道指令,這些通道指令受它有自己的通道指令,這些通道指令受CPU啟動,啟動,并在操作結束時向

20、并在操作結束時向 CPU發中斷信號。發中斷信號。 通道方式進一步減輕了通道方式進一步減輕了CPU的工作負擔,增加了計算的工作負擔,增加了計算機系統的并行工作程度。機系統的并行工作程度。 303/24/20225.1.4 總線系統總線系統n1、總線基本概念、總線基本概念 在計算機系統內各種子系統,如在計算機系統內各種子系統,如CPU、內存、內存、I/O設備等之間,構建公用的信號或數據傳輸通道設備等之間,構建公用的信號或數據傳輸通道 這種可共享的傳輸通道稱為總線。這種可共享的傳輸通道稱為總線。313/24/2022n2、總線的分類、總線的分類323/24/2022n 當用戶進程通過系統調用提出當用

21、戶進程通過系統調用提出I/O請求時,從請求時,從系統響應此請求開始,至系統完成用戶要求的系統響應此請求開始,至系統完成用戶要求的I/O操作,并喚醒相應的等待操作,并喚醒相應的等待I/O完成的進程為止,完成的進程為止,這整個過程稱為這整個過程稱為I/O控制過程。控制過程。52 I/O控制方式控制方式333/24/2022nI/O控制過程包括以下步驟:控制過程包括以下步驟:n (1)響應)響應I/O請求,為在具體物理設備上進行請求,為在具體物理設備上進行I/O操操作做準備。包括將邏輯設備名轉換為物理設備名(設作做準備。包括將邏輯設備名轉換為物理設備名(設備分配)、備分配)、I/O請求的合法性等。請

22、求的合法性等。n (2)設備驅動,控制設備完成)設備驅動,控制設備完成I/O操作,對每類設操作,對每類設備分別設置不同的設備驅動程序。備分別設置不同的設備驅動程序。n (3)中斷處理,)中斷處理,I/O操作完成之后,設備控制器向操作完成之后,設備控制器向CPU發送中斷信號,發送中斷信號,CPU響應后轉向相應的中斷處理響應后轉向相應的中斷處理程序進行善后處理。程序進行善后處理。343/24/2022nI/O操作的控制方式一般有四種:操作的控制方式一般有四種:u查詢方式查詢方式u中斷方式中斷方式u直接內存存取方式直接內存存取方式u通道方式通道方式 它們的主要差別在于處理器和外它們的主要差別在于處理

23、器和外設并行工作的方式和程度的不同。設并行工作的方式和程度的不同。353/24/2022n查詢方式是最簡單的查詢方式是最簡單的I/O控制方式。控制方式。n在設備控制器中有兩個寄存器,一個是在設備控制器中有兩個寄存器,一個是狀態寄存器狀態寄存器,由其中的一個狀態位的值反映設備的忙或閑;另一由其中的一個狀態位的值反映設備的忙或閑;另一個是個是數據緩沖寄存器數據緩沖寄存器。n當設備啟動時,狀態寄存器的啟動位為當設備啟動時,狀態寄存器的啟動位為1,此時外,此時外設把數據送往數據緩沖寄存器,并將狀態寄存器的設把數據送往數據緩沖寄存器,并將狀態寄存器的狀態位置狀態位置1。nCPU執行完一條指令后就測試狀態

24、位,如果為執行完一條指令后就測試狀態位,如果為1,就把數據寄存器中的數據取到內存;若狀態位為就把數據寄存器中的數據取到內存;若狀態位為0,則再測試,直到狀態寄存器的狀態位為則再測試,直到狀態寄存器的狀態位為1,然后再,然后再讀取數據。所以此種方式也讀取數據。所以此種方式也稱稱循環測試循環測試I/O方式方式521 查詢方式查詢方式363/24/2022就緒向設備控制器發讀命令讀設備控制器的狀態檢查狀態從設備控制器中讀入字向存儲器中寫字傳送完成CPU-I/OCPU-內存I/O - CPU出錯I/O - CPU完成下條指令未完成未就緒373/24/2022n步驟:步驟:n (1) 當用戶需要輸入數據

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

26、383/24/2022n 查詢方式是主機向外設詢問,而引入中斷查詢方式是主機向外設詢問,而引入中斷后,每當設備完成后,每當設備完成I/O操作,它便以中斷請求方操作,它便以中斷請求方式主動向式主動向CPU匯報。匯報。n 因此,因此,CPU一旦啟動一旦啟動I/O設備后便可轉去處理設備后便可轉去處理其他程序,僅在接到其他程序,僅在接到I/O中斷信息請求時才花費中斷信息請求時才花費極少時間去處理。極少時間去處理。 522 中斷方式中斷方式393/24/2022n1、中斷概念、中斷概念 所謂中斷,是指處理機在執行進程的過程中所謂中斷,是指處理機在執行進程的過程中, 由由于某些事件的出現于某些事件的出現,

27、 中止當前進程的運行中止當前進程的運行, 轉而去處轉而去處理出現的事件理出現的事件, 待處理完畢后返回原來被中斷處繼待處理完畢后返回原來被中斷處繼續執行或調度其他進程執行。續執行或調度其他進程執行。2、中斷源、中斷源 引起中斷的事件稱為中斷源。引起中斷的事件稱為中斷源。 (1)強迫性中斷源)強迫性中斷源 硬件故障、程序性錯誤、外部事件、硬件故障、程序性錯誤、外部事件、I/O中斷事件中斷事件(2)自愿性中斷源)自愿性中斷源403/24/2022n3、步驟、步驟 (1)進程需要數據時,將允許啟動和允許中斷的)進程需要數據時,將允許啟動和允許中斷的控制字寫入設備控制狀態寄存器中,啟動該設備進控制字寫

28、入設備控制狀態寄存器中,啟動該設備進行輸入操作。行輸入操作。 (2)該進程放棄處理機,等待輸入的完成。操作)該進程放棄處理機,等待輸入的完成。操作系統進程調度程序調度其他就緒進程占用處理機。系統進程調度程序調度其他就緒進程占用處理機。 (3)當輸入完成時,輸入設備通過中斷請求線向)當輸入完成時,輸入設備通過中斷請求線向CPU發出中斷請求信號。發出中斷請求信號。CPU在接收到中斷信號之在接收到中斷信號之后,轉向中斷處理程序。后,轉向中斷處理程序。 (4)中斷處理程序首先保護現場,然后把輸入緩)中斷處理程序首先保護現場,然后把輸入緩沖寄存器中的數據傳送到某一特定單元中去,同時沖寄存器中的數據傳送到

29、某一特定單元中去,同時將等待輸入完成的那個進程喚醒,進入就緒狀態,將等待輸入完成的那個進程喚醒,進入就緒狀態,最后恢復現場,并返回到被中斷的進程繼續執行。最后恢復現場,并返回到被中斷的進程繼續執行。 (5)在以后的某一時刻,操作系統進程調度程序)在以后的某一時刻,操作系統進程調度程序選中提出的請求并得到獲取數據的進程,該進程從選中提出的請求并得到獲取數據的進程,該進程從約定的內存特定單元中取出數據繼續工作約定的內存特定單元中取出數據繼續工作413/24/2022向設備控制器發讀命令讀設備控制器的狀態檢查狀態從設備控制器中讀入字向存儲器中寫字傳送完成完成下條指令CPU-I/OCPU-內存I/O

30、- CPU出錯I/O - CPU未完成CPU做其他中斷423/24/2022n例如,打印機每打一行需要例如,打印機每打一行需要60ms,在查詢方式,在查詢方式中,大約有中,大約有59.99ms,CPU都處于循環等待中,都處于循環等待中,而以中斷方式處理的話,而以中斷方式處理的話,CPU僅花費僅花費0.1ms時間時間來處理來處理I/O設備發來的中斷,其余的設備發來的中斷,其余的59.99ms都都可以用來做別的事情。所以中斷方式比查詢方式可以用來做別的事情。所以中斷方式比查詢方式節省節省CPU的時間。的時間。433/24/2022n 中斷方式的方法是當設備完成中斷方式的方法是當設備完成I/O操作后

31、,主操作后,主動向動向CPU報告,報告,CPU只用少量時間處理只用少量時間處理I/O中斷,中斷,并將數據取回。并將數據取回。n 在多道程序中的環境下,一個程序或進程啟在多道程序中的環境下,一個程序或進程啟動動I/O設備并允許中斷后,不是自己主動去執行別設備并允許中斷后,不是自己主動去執行別的程序或繼續執行主流程,而是應當把自己掛起,的程序或繼續執行主流程,而是應當把自己掛起,控制權交還給進程調度程序。在中斷處理程序中,控制權交還給進程調度程序。在中斷處理程序中,完成指定的完成指定的I/O操作之后應把等待此結果的進程喚操作之后應把等待此結果的進程喚醒,而后由進程調度程序在適當時機把此進程投醒,而

32、后由進程調度程序在適當時機把此進程投入運行。入運行。443/24/2022l 某進程某進程 其他進程其他進程輸入中斷處理輸入中斷處理 中斷中斷 調度調度 調度調度喚醒喚醒l啟動啟動I/OI/O并允許并允許中斷中斷 阻塞等待阻塞等待 處理輸入的數據處理輸入的數據 保護現場保護現場 輸入處理輸入處理 喚醒等待進程喚醒等待進程 恢復現場恢復現場 多道多道程序程序下的下的中斷中斷處理處理方式方式453/24/2022n4、特點、特點 中斷控制方式比程序直接控制方式提高了中斷控制方式比程序直接控制方式提高了CPU的的利用率。每輸入輸出一個數據都會發生中斷,傳輸利用率。每輸入輸出一個數據都會發生中斷,傳輸

33、一組數據需要多次中斷,浪費了一組數據需要多次中斷,浪費了CPU的處理時間。的處理時間。中斷控制方式應用于現代計算機系統中。中斷控制方式應用于現代計算機系統中。463/24/2022n1、DMA控制方式的引入控制方式的引入 引入的原因:引入的原因:中斷處理方式提高了主機的利中斷處理方式提高了主機的利用率,但是每次中斷都要保存現場信息,恢復現用率,但是每次中斷都要保存現場信息,恢復現場等,仍占用場等,仍占用CPU時間。在傳送數據量大、速度時間。在傳送數據量大、速度高的情況下,中斷方式就不適應了。高的情況下,中斷方式就不適應了。 為了進一步減少為了進一步減少CPU對外設操作干預而引入對外設操作干預而

34、引入直接存儲器訪問方式。直接存儲器訪問方式。 523 直接內存存取方式直接內存存取方式473/24/20222、DMA控制方式控制方式n 是指對是指對I/O設備的控制由設備的控制由DMA控制器完成,在控制器完成,在DMA控制器的作用下,設備和主存之間可以成控制器的作用下,設備和主存之間可以成批地進行數據交換,而不用批地進行數據交換,而不用CPU的干涉。的干涉。 523 直接內存存取方式直接內存存取方式483/24/20223 3、DMADMA控制器的組成控制器的組成: : DMA控制器的組成控制器的組成命令命令控制器與設備接口控制器與設備接口主機主機控制器接口控制器接口內存內存CPU系統總線系

35、統總線I/O控制控制邏輯邏輯CRMARDCDRcount493/24/2022n4、DMA工作步驟工作步驟:u 當進程要求設備輸入一批數據時,當進程要求設備輸入一批數據時,CPU將設備存將設備存放輸入數據的內存始址以及要傳送的字節數分別送入放輸入數據的內存始址以及要傳送的字節數分別送入DMA控制器中的地址寄存器和傳送字節計數器;另外,控制器中的地址寄存器和傳送字節計數器;另外,還要將中斷位和啟動位置為還要將中斷位和啟動位置為1,以啟動設備開始進行數,以啟動設備開始進行數據輸入并允許中斷。據輸入并允許中斷。u 發出數據要求的進程進入等待狀態,進程調度程發出數據要求的進程進入等待狀態,進程調度程序

36、調度其他進程占據序調度其他進程占據CPU。u 輸入設備不斷地挪用輸入設備不斷地挪用CPU工作周期,將數據寄存工作周期,將數據寄存器中的數據源源不斷地寫入內存,直到所要求的字節全器中的數據源源不斷地寫入內存,直到所要求的字節全部傳送完畢。部傳送完畢。u DMA控制器在傳送字節數完成時,通過中斷請求控制器在傳送字節數完成時,通過中斷請求線發出中斷信號,線發出中斷信號,CPU收到中斷信號后轉中斷處理程序,收到中斷信號后轉中斷處理程序,喚醒等待輸入完成的進程,并返回被中斷的程序。喚醒等待輸入完成的進程,并返回被中斷的程序。u 在以后的某個時刻,進程調度程序選中提出請求輸在以后的某個時刻,進程調度程序選

37、中提出請求輸入的進程,該進程從指定的內存始址取出數據做進一步入的進程,該進程從指定的內存始址取出數據做進一步處理。處理。503/24/2022CPU向控制器發出啟動向控制器發出啟動DMA通知和有關參數通知和有關參數控制器向內存發出詢問請求控制器向內存發出詢問請求訪問內存(讀、寫)訪問內存(讀、寫)計數器減計數器減1結束否結束否發中斷發中斷NYDMA的實現流程的實現流程513/24/2022n5、DMA方式方式特點特點: (1) 數據傳送的基本單位是數據塊;數據傳送的基本單位是數據塊; (2) 所傳送的數據是從設備直接送入內存,所傳送的數據是從設備直接送入內存,或者相反;或者相反; (3) 僅在

38、傳送一個或多個數據塊的開始和結僅在傳送一個或多個數據塊的開始和結束時,才需中斷束時,才需中斷CPU,請求干預,整塊數據的傳,請求干預,整塊數據的傳送是在送是在DMA控制器控制下完成的。控制器控制下完成的。n 缺點缺點: DMA方式只能完成簡單的數據傳送、計數、內方式只能完成簡單的數據傳送、計數、內存地址加存地址加1或減或減1等操作,不能滿足復雜的等操作,不能滿足復雜的I/O操操作要求。作要求。 523/24/20226、DMA方式與中斷的主要區別方式與中斷的主要區別n (1) 中斷方式是在數據緩沖寄存區滿后,發中斷方式是在數據緩沖寄存區滿后,發中斷請求,中斷請求,CPU進行中斷處理;進行中斷處

39、理; DMA方式則是在所要求傳送的數據塊全部傳方式則是在所要求傳送的數據塊全部傳送結束時要求送結束時要求CPU進行中斷處理,大大減少了進行中斷處理,大大減少了CPU進行中斷處理的次數。進行中斷處理的次數。n (2) 中斷方式的數據傳送是由中斷方式的數據傳送是由CPU控制完成控制完成的;的; DMA方式則是在方式則是在DMA控制器的控制下不經過控制器的控制下不經過CPU控制完成的。控制完成的。533/24/20225.2.4 I/O通道控制方式通道控制方式n1、概念、概念 通道控制方式是一種以主存為中心,是設備與通道控制方式是一種以主存為中心,是設備與主存直接交換數據的控制方式。主存直接交換數據

40、的控制方式。 CPU只需要發出啟動指令,指出通道相應的操只需要發出啟動指令,指出通道相應的操作和輸入輸出設備,該指令就可以啟動通道并使該作和輸入輸出設備,該指令就可以啟動通道并使該通道從主存中調出相應的通道指令執行,完成一組通道從主存中調出相應的通道指令執行,完成一組數據塊的輸入數據塊的輸入/輸出。輸出。 543/24/2022n2、通道控制方式步驟、通道控制方式步驟 (1)當進程要求設備輸入時,)當進程要求設備輸入時,CPU發指令指明發指令指明I/O操作、設備號和對應通道。操作、設備號和對應通道。 (2)對應通道收到)對應通道收到CPU發來的啟動指令后,讀出發來的啟動指令后,讀出內存中的通道

41、指令程序、設置對應設備的控制狀態內存中的通道指令程序、設置對應設備的控制狀態寄存器的初值。寄存器的初值。 (3)設備按通道指令的要求,把數據送往內存指)設備按通道指令的要求,把數據送往內存指定區域。定區域。 (4)若傳送結束,)若傳送結束,I/O控制器通過中斷請求線發控制器通過中斷請求線發中斷信號請求中斷信號請求CPU做中斷處理。做中斷處理。 (5)中斷處理結束后,)中斷處理結束后,CPU返回到被中斷進程返回到被中斷進程處繼續執行。處繼續執行。 (6)當進程調度程序選中這個已得到數據的進)當進程調度程序選中這個已得到數據的進程后,才能進行加工處理。程后,才能進行加工處理。553/24/2022

42、n3、特點、特點 通道所需要的通道所需要的CPU干預更少,并可以實現干預更少,并可以實現CPU、通道和輸入輸出設備三者之間的并行操作,從而更通道和輸入輸出設備三者之間的并行操作,從而更有效地提高整個系統資源的利用率。有效地提高整個系統資源的利用率。 通道控制方式適用于現代計算機系統中的大量數通道控制方式適用于現代計算機系統中的大量數據交換。據交換。563/24/2022通道和通道和DMA控制器的區別控制器的區別 (1)一個)一個DMA控制器只能連接同類外設,且如果是多臺控制器只能連接同類外設,且如果是多臺同類外設,則它們只能是以串行方式工作。同類外設,則它們只能是以串行方式工作。 一個通道可以

43、連接多個不同類型的設備控制器,而一個一個通道可以連接多個不同類型的設備控制器,而一個設備控制器又可以管理一臺或多臺外圍設備,這就構成了典設備控制器又可以管理一臺或多臺外圍設備,這就構成了典型的多級層次結構,眾多外設均可在通道控制下同時工作;型的多級層次結構,眾多外設均可在通道控制下同時工作; (2)DMA控制是借助硬件完成數據交換的,而通道是執控制是借助硬件完成數據交換的,而通道是執行通道程序完成數據的;行通道程序完成數據的; (3)DMA控制器需要控制器需要CPU對多個外設進行初始化。對多個外設進行初始化。CPU只需發一個只需發一個I/O指令啟動通道,由通道自己完成外設的初始指令啟動通道,由

44、通道自己完成外設的初始化。化。573/24/2022n 綜上所述,在前三種綜上所述,在前三種I/O控制方式中,控制方式中,CPU直直接對設備控制器和接對設備控制器和I/O接口編程,可以簡化接口接口編程,可以簡化接口的設計。的設計。n 對于非對于非DMA傳送,需要傳送,需要CPU實際去完成數據實際去完成數據傳送。對于高速數據傳送可以使用傳送。對于高速數據傳送可以使用DMA,但還,但還是需要是需要CPU設置設備控制器,初始化設置設備控制器,初始化DMA操作操作和操作完畢去檢查端口傳送狀態。和操作完畢去檢查端口傳送狀態。n 而通道不同于而通道不同于DMA控制器,它能夠去取和執控制器,它能夠去取和執行

45、它自己的指令;行它自己的指令; 而且這些指令的功能已不僅而且這些指令的功能已不僅僅是數據傳送,還包括檢索、分支轉移,甚至一僅是數據傳送,還包括檢索、分支轉移,甚至一些簡單的算術、邏輯運算。些簡單的算術、邏輯運算。583/24/2022n 大、中型計算機系統普遍用通道方式去控制大、中型計算機系統普遍用通道方式去控制設備完成設備完成I/O操作,以提高操作,以提高CPU與外設,外設與與外設,外設與外設并行的程度。一些小型機和絕大多數微型機外設并行的程度。一些小型機和絕大多數微型機都是以都是以CPU直接控制設備接口和設備控制器以查直接控制設備接口和設備控制器以查詢、中斷或詢、中斷或DMA方式完成方式完

46、成I/O操作,以降低系統操作,以降低系統造價。造價。593/24/2022思考題四思考題四n n 綜上所述的綜上所述的4種種I/O控制方式,分別適合用控制方式,分別適合用于何種場合?于何種場合?603/24/2022課堂練習題課堂練習題n1、從下面關于設備屬性的論述中,選擇一條正確的描述。(從下面關于設備屬性的論述中,選擇一條正確的描述。( )nA字符設備的一個基本特征是可尋址的,即能指定輸入時字符設備的一個基本特征是可尋址的,即能指定輸入時的源地址和輸出時的目標地址的源地址和輸出時的目標地址nB共享設備必須是可尋址的和隨機訪問的設備共享設備必須是可尋址的和隨機訪問的設備nC共享設備是指在同一

47、時刻,允許多個進程同時訪問的設備共享設備是指在同一時刻,允許多個進程同時訪問的設備nD在分配共享設備和獨占設備時,都可能引起進程死鎖在分配共享設備和獨占設備時,都可能引起進程死鎖n2、(、( )在一般大型計算機系統中,主機對外圍設備的控制可通)在一般大型計算機系統中,主機對外圍設備的控制可通過通道、控制器和設備三個層次來實現。從下述敘述中選出一條過通道、控制器和設備三個層次來實現。從下述敘述中選出一條正確的敘述。正確的敘述。nA 控制器可控制通道,設備在通道控制下工作控制器可控制通道,設備在通道控制下工作nB 通道控制控制器,設備在控制器控制下工作通道控制控制器,設備在控制器控制下工作nC 通

48、道和控制器分別控制設備通道和控制器分別控制設備nD 控制器控制通道和設備的工作控制器控制通道和設備的工作613/24/2022n1、通過硬件和軟件的擴充通過硬件和軟件的擴充,把原來獨立的設備改造成能為若把原來獨立的設備改造成能為若干用戶共享的設備干用戶共享的設備,這種設備稱為這種設備稱為 ? 。n 2、引起中斷發生的事件稱為、引起中斷發生的事件稱為 ? 。n 3、如果、如果I/O設備與存儲設備進行數據交換不經過設備與存儲設備進行數據交換不經過CPU來完來完成,這種數據交換方式是成,這種數據交換方式是 ? 。n4、常用的、常用的I/O控制方式有程序控制方式有程序I/O方式、方式、 ? 、?、?

49、、?.n5、DMA是指允許是指允許 ? 和和 ? 之間直接交換數據的設之間直接交換數據的設備。在備。在DMA中必須設置地址寄存器,用于存放中必須設置地址寄存器,用于存放 ? ,還,還必須設置必須設置 ? 寄存器,用來暫存交換的數據。寄存器,用來暫存交換的數據。 n6、設備控制器是、設備控制器是 ? 和和 ? 之間的接口,它接受來自之間的接口,它接受來自 ? 的的I/O命令,并用于控制命令,并用于控制 ? 的工作。的工作。n 7、按從屬關系對、按從屬關系對I/O設備分類,可分為系統設備和設備分類,可分為系統設備和 ? 兩類。兩類。623/24/20225.3 緩沖管理緩沖管理n5.3.1 緩沖的

50、引入緩沖的引入 1、引入的原因、引入的原因 (1)緩和)緩和CPU與輸入輸出設備間速度不匹配與輸入輸出設備間速度不匹配的矛盾的矛盾 (2)減少對)減少對CPU的中斷頻率,放寬對中斷響的中斷頻率,放寬對中斷響應時間的限制。應時間的限制。 (3)提高)提高CPU與輸入輸出設備間的并行性。與輸入輸出設備間的并行性。633/24/2022n2、緩沖技術的實現思想、緩沖技術的實現思想 建立一個緩沖區,當進程要執行讀寫操作時,建立一個緩沖區,當進程要執行讀寫操作時,首先向申請一塊內存區域作為緩沖區,然后,將要首先向申請一塊內存區域作為緩沖區,然后,將要傳送的數據高速送到緩沖區。傳送的數據高速送到緩沖區。

51、如果是讀操作,則根據進程要求,把當前需要如果是讀操作,則根據進程要求,把當前需要的邏輯記錄從緩沖區中選出并傳送給進程。若為寫的邏輯記錄從緩沖區中選出并傳送給進程。若為寫操作,則不斷把數據填到緩沖區,直到它被填滿為操作,則不斷把數據填到緩沖區,直到它被填滿為止。止。643/24/2022n3、實現緩沖的方法、實現緩沖的方法 (1) 硬件緩沖。硬件緩沖采用專用硬件緩沖器,硬件緩沖。硬件緩沖采用專用硬件緩沖器,一般由外設自帶的專用寄存器構成。一般由外設自帶的專用寄存器構成。 (2)軟件緩沖。在內存中專門開辟若干單元作為)軟件緩沖。在內存中專門開辟若干單元作為緩沖區為各種設備服務。緩沖區為各種設備服務

52、。653/24/20225.3.2 單緩沖和雙緩沖單緩沖和雙緩沖一、單緩沖一、單緩沖 單緩沖即是在發送者和接收者之間只有一個緩沖區單緩沖即是在發送者和接收者之間只有一個緩沖區 過程:過程:當一個用戶進程要求輸入數據時,操作當一個用戶進程要求輸入數據時,操作系統控制輸入設備將數據送往緩沖區存放,再送往系統控制輸入設備將數據送往緩沖區存放,再送往用戶進程的數據存儲區。用戶進程的數據存儲區。663/24/2022n特點特點 在主存中只有一個緩沖區。對于塊設備,該緩在主存中只有一個緩沖區。對于塊設備,該緩沖區可以存放一塊數據,對于字符設備,該緩沖區沖區可以存放一塊數據,對于字符設備,該緩沖區可以存放一

53、行數據。設備和處理器對緩沖區的操作可以存放一行數據。設備和處理器對緩沖區的操作是串行的,傳輸速度慢。在任一時刻,只能進行單是串行的,傳輸速度慢。在任一時刻,只能進行單向的數據傳輸,并且傳輸數據量較少。向的數據傳輸,并且傳輸數據量較少。 優點是設計簡單,容易實現優點是設計簡單,容易實現 缺點是發送者和接收者不能并行工作缺點是發送者和接收者不能并行工作673/24/2022n二、雙緩沖二、雙緩沖 雙緩沖可在發送者與接收者之間設兩個緩沖區雙緩沖可在發送者與接收者之間設兩個緩沖區緩沖區緩沖區1和緩沖區和緩沖區2。 過程:過程:發送者將數據送滿緩沖區發送者將數據送滿緩沖區1,接收者從緩,接收者從緩沖區沖

54、區1取數據時,發送者則可將數據送入緩沖區取數據時,發送者則可將數據送入緩沖區2,當接收者將緩沖區,當接收者將緩沖區1取空后,又可到緩沖區取空后,又可到緩沖區2中中取數據,這時發送者再將數據送入緩沖區取數據,這時發送者再將數據送入緩沖區1。 于是,發送者和接收者交替使用兩個緩沖區,于是,發送者和接收者交替使用兩個緩沖區,達到了并行工作的目的。達到了并行工作的目的。683/24/2022n特點特點 在主存中設置兩個緩沖區,完成數據的傳輸。兩在主存中設置兩個緩沖區,完成數據的傳輸。兩個緩沖區可以交替使用,提高了處理器和輸入設備個緩沖區可以交替使用,提高了處理器和輸入設備的并行操作能力。的并行操作能力

55、。 在任一時刻,可以進行雙向的數據傳輸。一個緩在任一時刻,可以進行雙向的數據傳輸。一個緩沖區用于輸入,另一個用于輸出。沖區用于輸入,另一個用于輸出。 適用于輸入適用于輸入/輸出、生產者輸出、生產者/消費者速度基本相匹消費者速度基本相匹配的情況。配的情況。 當傳輸數據量較大,或者兩者的速度相差較遠時當傳輸數據量較大,或者兩者的速度相差較遠時,雙緩沖區效率較低,還是不能解決兩者并行工作,雙緩沖區效率較低,還是不能解決兩者并行工作問題。問題。693/24/2022n三、循環緩沖三、循環緩沖 由于雙緩沖并不能真正解決實際系統中的并行操作,為了由于雙緩沖并不能真正解決實際系統中的并行操作,為了能夠進一步

56、提高系統操作的并行程度,可以通過增加緩沖區能夠進一步提高系統操作的并行程度,可以通過增加緩沖區的個數,即實現多緩沖區方式。為了更好地控制和使用這些的個數,即實現多緩沖區方式。為了更好地控制和使用這些緩沖區,將多個緩沖區組成環形,稱為循環緩沖技術。緩沖區,將多個緩沖區組成環形,稱為循環緩沖技術。 循環緩沖技術是在內存中分配大小相等的存儲區作循環緩沖技術是在內存中分配大小相等的存儲區作為緩沖區,并將這些緩沖區連接起來,每個緩沖區中有為緩沖區,并將這些緩沖區連接起來,每個緩沖區中有一個指向下一個緩沖區的指針,最后一個緩沖區的指針一個指向下一個緩沖區的指針,最后一個緩沖區的指針指向第一個緩沖區指向第一

57、個緩沖區703/24/2022 為了充分利用這些緩沖資源,使進程的處理和為了充分利用這些緩沖資源,使進程的處理和I/O設備的設備的工作具有較好的連續性,提高設備的利用率,將緩沖區分為工作具有較好的連續性,提高設備的利用率,將緩沖區分為以下兩種類型:以下兩種類型: (1) 空緩沖區。準備接收輸入的數據。空緩沖區。準備接收輸入的數據。 (2) 滿緩沖區。用于存放可供使用的數據。滿緩沖區。用于存放可供使用的數據。過程:過程: 當循環緩沖接收數據時,將待傳送的數據送入當循環緩沖接收數據時,將待傳送的數據送入EMPTY指向指向的空緩沖區,填滿后,讓的空緩沖區,填滿后,讓EMPTY指向下一個空緩沖區。每次

58、申指向下一個空緩沖區。每次申請一個空緩沖區時,需要判斷請一個空緩沖區時,需要判斷EMPTY是否與是否與FULL相等。若相相等。若相等,表示系統中已沒有空緩沖區,輸入進程需要等待;否則,等,表示系統中已沒有空緩沖區,輸入進程需要等待;否則,可以繼續輸入。可以繼續輸入。 若要從緩沖區取數據時,直接到若要從緩沖區取數據時,直接到FULL所指向的緩沖區中取所指向的緩沖區中取,然后讓,然后讓FULL指向下一個滿緩沖區。同樣,每次指向下一個滿緩沖區。同樣,每次FULL指針移指針移動時,需要判斷動時,需要判斷FULL是否與是否與EMPTY相等。若相等,表示緩沖相等。若相等,表示緩沖區已無數據可取,等待緩沖區

59、滿后繼續操作。區已無數據可取,等待緩沖區滿后繼續操作。713/24/2022特點特點: 在主存中設置多個緩沖區。讀和寫可以并行處理,適用在主存中設置多個緩沖區。讀和寫可以并行處理,適用于某種特定的輸入輸出進程和計算進程,如輸入于某種特定的輸入輸出進程和計算進程,如輸入/輸出、生輸出、生產者產者/消費者速度不相匹配的情況。消費者速度不相匹配的情況。 循環緩沖區屬于專用緩沖區。當系統較大時,使用多循環緩沖區屬于專用緩沖區。當系統較大時,使用多個這樣的緩沖區要消耗大量的主存空間,降低緩沖區的使用個這樣的緩沖區要消耗大量的主存空間,降低緩沖區的使用效率。效率。 兩個缺點:兩個缺點: (1)當系統的資源

60、較多時,就要占用大量的緩沖區,增加)當系統的資源較多時,就要占用大量的緩沖區,增加內存開銷。內存開銷。 (2)可能會出現某個設備的緩沖不夠用,而其他設備有)可能會出現某個設備的緩沖不夠用,而其他設備有多個空閑緩沖區的情況,導致循環緩沖的利用率不高。多個空閑緩沖區的情況,導致循環緩沖的利用率不高。723/24/2022n四、緩沖池四、緩沖池 上述的循環緩沖區僅適用于某特定的上述的循環緩沖區僅適用于某特定的I/O進程和計算進程,進程和計算進程,是專用緩沖結構,而不是針對整個系統的公用緩沖結構。當是專用緩沖結構,而不是針對整個系統的公用緩沖結構。當系統較大時,會有很多這樣的緩沖結構,這不僅要消耗大量

溫馨提示

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

評論

0/150

提交評論