操作系統設備管理_第1頁
操作系統設備管理_第2頁
操作系統設備管理_第3頁
操作系統設備管理_第4頁
操作系統設備管理_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、設備管理i/o系統 i/o控制方式 緩沖管理 設備分配 設備處理 磁盤存儲器管理 設備管理的基本任務:完成用戶提出的i/o請求;提高i/o速率;提高i/o設備的利用率。 設備管理的主要功能:緩沖區管理、設備分配、設備處理、虛擬設備、實現設備獨立性等一、i/o系統概述n i/o設備分類n 設備與控制器之間的接口n 設備控制器n i/o通道i/o重要的性能指標:數據傳輸速率數據的傳輸單位設備共享屬性1、i/o設備的類型 1) 按傳輸速率分類 2) 按信息交換的單位分類 3) 按設備的共享屬性分類1) 按傳輸速率分類低速設備,這是指其傳輸速率僅為每秒鐘幾個字節至數百個字節的一類設備。中速設備,這是指

2、其傳輸速率在每秒鐘數千個字節至數萬個字節的一類設備。高速設備, 這是指其傳輸速率在數百千個字節至數十兆字節的一類設備。2) 按信息交換的單位分類塊設備(block device),這類設備用于存儲信息。 典型的塊設備是磁盤。磁盤設備的基本特征是其傳輸速率較高;另一特征是可尋址,即對它可隨機地讀/寫任一塊;字符設備(character device),用于數據的輸入和輸出。 其基本單位是字符, 故稱為字符設備(交互式終端、打印機) 。 其基本特征是傳輸速率低;另一特征是不可尋址。3) 按設備的共享屬性分類(1) 獨占設備。 (2) 共享設備。 (3) 虛擬設備。 2、 設備控制器設備控制器的主要

3、職責是控制一個或多個i/o設備。設備控制器是cpu與i/o設備之間的接口。n 設備控制器的主要職責是控制一個或多個i/o設備。n 設備控制器是cpu與i/o設備之間的接口。設備與控制器之間的接口 設備控制器的基本功能 1) 接收和識別命令 2) 數據交換 3) 標識和報告設備的狀態 4) 地址識別 5) 數據緩沖 6) 差錯控制設備控制器的組成 3、 i/o通道 i/o通道是一種特殊的處理機.(1) i/o通道(i/o channel)的引入 降低cpu的負擔 i/o通道是一種特殊的處理機 i/o 通道與一般的處理機不同,主要表現在以下兩個方面: 一是其指令類型單一,其所能執行的命令,主要局限

4、于與i/o操作有關的指令; 二是通道沒有自己的內存,通道所執行的通道程序是放在內存中的。(2) 通道類型(根據信息交換方式) 1) 字節多路通道 2) 數組選擇通道 3) 數組多路通道 1) 字節多路通道(byte multiplexor channel) 以字節為單位傳送數據,主要用來連接大量的低速或中速設備。2) 數組選擇通道(block selector channel) 用開關來控制對高速外設的選擇,在一段時間內單獨為一臺外設服務。3) 數組多路通道(block multiplexor channel) 數組多路通道含有多個非分配型子通道, 因而這種通道既具有很高的數據傳輸速率,又能獲

5、得令人滿意的通道利用率。被廣泛地用于連接多臺高、中速的外圍設備,其數據傳送是按數組方式進行的。 (3) “瓶頸”問題 二、i/o控制方式 1、 程序i/o方式2、 中斷驅動i/o控制方式3、 直接存儲器訪問(dma) i/o控制方式4、 i/o通道控制方式 (一)程序i/o方式 (二)中斷驅動i/o控制方式(三) 直接存儲器訪問 dma i/o控制方式 1. dma(direct memory access)控制方式的引入 實現思想是外設在硬件支持下直接與內存交換成批數據而無需cpu干預該方式的特點是: 數據傳輸的基本單位是數據塊 所傳送的數據是從設備直接送入內存的,或者相反; 僅在傳送一個或

6、多個數據塊的開始和結束時,才需cpu干預,整塊數據的傳送是在控制器的控制下完成的。2. dma控制器的組成 3. dma工作過程 dma方式與中斷方式的主要區別n (1)中斷方式在每個數據傳送完后中斷cpu,而dma方式則是在所要求傳送的一批數據全部傳送結束時中斷cpun (2)中斷方式的數據傳送是在中斷處理時由cpu控制完成的,而dma方式則是在dma控制器的控制下完成的。不過,在dma方式下,數據傳送的方向、存放數據的內存始址及傳送數據的長度仍然由cpu控制。(四) i/o通道控制方式 1. i/o通道控制方式的引入 i/o通道方式把對一個數據塊的讀(或寫)為單位的干預,減少為對一組數據塊

7、的讀(或寫)及有關的控制和管理為單位的干預。 同時,又可實現cpu、通道和i/o設備三者的并行操作,從而更有效地提高整個系統的資源利用率。2. 通道程序通道是通過執行通道程序,并與設備控制器共同實現對i/o設備的控制的。 (1) 操作碼。 (2) 內存地址。 (3) 計數。 (4) 通道程序結束位p。 (5) 記錄結束標志r。 i/o控制可用哪幾種方式實現?各有何優缺點?(1)程序控制方式n 優點是控制簡單,也不需要很多硬件支持。n 但cpu和外設之間只能串行工作,且cpu的大部分時間處于循環測試狀態,這使得cpu的利用率大大降低;cpu在一段時間內只能和一臺外設交換數據信息,從而不能實現設備

8、之間的并行工作;由于程序直接控制方式依靠測試設備狀態標志來控制數據傳送,因此無法發現和處理因設備或其他硬件所產生的錯誤。所以,程序直接控制方式只適用于那些cpu執行速度慢且外設較少的系統。(2)中斷控制方式n 優點是能實現cpu與設備、設備與設備間的并行操作,cpu的利用率較程序直接控制方式大大提高。n 但i/o控制器的數據緩沖寄存器通常較小,且數據緩沖寄存器裝滿數據后將會發生中斷,因此一次數據傳送過程中中斷次數較多,耗去了大量cpu時間;如果系統中配置的外設數目較多,且都以中斷方式進行控制,則將耗去大量cpu時間或因cpu來不及處理而造成數據丟失。(3)dma方式與中斷方式相比,dma方式的

9、優點是在一批數據傳送完成后中斷cpu,從而大大減少了cpu進行中斷處理的次數,并且dma方式下的數據傳送是在dma控制器控制下完成的,在數據傳輸過程中無需cpu干預。但cpu方式仍有一定的局限,如對外設的管理和某些操作仍由cpu控制,且多個dma控制器的使用也不經濟。(4)通道控制通道是一個專管i/o工作的處理機。在通道控制方式下,cpu只需發出i/o指令,通道就能完成相應的i/o操作,并在i/o操作結束時向cpu發出中斷信號。由此可見,cpu僅在i/o操作開始和結束時花極短的時間處理與i/o操作有關的事宜,其余時間都與通道并行工作,此外一個通道還能控制多臺外設。通道價格較高,從經濟的角度出發

10、不宜過多使用。三、緩 沖 管 理緩沖的引入 (1) 緩和cpu與i/o設備間速度不匹配的矛盾。 (2) 減少對cpu的中斷頻率, 放寬對cpu中斷響應時間的限制。 (3) 提高cpu和i/o設備之間的并行性。 現代操作系統中,幾乎所有的i/o設備在與處理機交換數據時都使用了緩沖區。實現方式:(1)專用的硬件緩沖區,如設備控制器中的數據緩沖寄存器。成本較高,數量較少。(2)內存中劃出一塊專門的空間,作為緩沖區來存放i/o的數據。(一)單緩沖(single buffer) (二)雙緩沖(double buffer) (三)循環緩沖 1. 循環緩沖的組成 2. 循環緩沖區的使用 (1)getbuf過

11、程。(2)releasebuf過程。 3. 進程同步 (1)nexti指針追趕上nextg指針。(2) nextg指針追趕上nexti指針。 (四)緩沖池(buffer pool) 1. 緩沖池的組成對于既可用于輸入又可用于輸出的公用緩沖池, 其中至少應含有以下三種類型的緩沖區: 空(閑)緩沖區; 裝滿輸入數據的緩沖區; 裝滿輸出數據的緩沖區。 形成以下三個隊列: (1) 空緩沖隊列emq。 (2) 輸入隊列inq。 (3) 輸出隊列outq。 n 除了三個隊列外,還應具有四種工作緩沖區:(1)用于收容輸入數據的工作緩沖區(2)用于提取輸入數據的工作緩沖區(3)用于收容輸出數據的工作緩沖區(4

12、)用于提取輸出數據的工作緩沖區3. 緩沖區的工作方式 n i/o控制方式隨著計算機技術的發展而不斷地由低效的方式演變為高效的方式,故在學習時應了解i/o控制方式的演變過程,每種i/o控制方式是如何進行控制的,又是如何提高cpu利用率的。n 程序i/o方式。因為當時尚未出現中斷機構,所以在進行i/o時,cpu不得不花費大量的時間去測試i/o設備的工作狀態,此時cpu完全陷入i/o工作中。n 中斷驅動i/o控制方式。在系統中引入中斷機構后,cpu就不必再不斷測試。應清楚地了解和掌握在中斷機構的支持下,其i/o控制是如何實現的,cpu的利用率提高了多少。n dma i/o控制方式。在系統中配置了dm

13、a控制器后,其傳輸數據的基本單位是數據塊。應很好地了解此時i/o控制是如何實現的,cpu的效率提高了多少。n i/o通道控制方式。系統中配置了通道控制器后,在通道程序的控制下,其傳輸的基本單位由一個數據塊增為一組數據塊。應了解什么是通道程序,它是如何實現i/o控制的。四、設 備 分 配 (一)設備分配中的數據結構 1. 設備控制表dct 2. 控制器控制表3. 通道控制表4. 系統設備表 (二)設備分配時應考慮的因素1. 設備的固有屬性 (1) 獨享設備(2) 共享設備(3) 虛擬設備 2. 設備分配算法(1) 先來先服務。 (2) 優先級高者優先。 3. 設備分配中的安全性 1)安全分配方式

14、 2)不安全分配方式 (三)設備獨立性 1. 設備獨立性(device independence)的概念引入設備獨立性的目的:為了提高os的可適應性和可擴展性。 設備獨立性的基本含義是: 應用程序獨立于具體使用的物理設備。設備獨立性的實現:在應用程序中引入了邏輯設備和物理設備這兩個概念。使用邏輯設備名稱來請求使用某類設備;而系統在實際執行時, 還必須使用物理設備名稱。因此,系統須具有將邏輯設備名稱轉換為某物理設備名稱的功能。 在實現了設備獨立性的功能后, 可帶來以下兩方面的好處: 1) 設備分配時的靈活性 2) 易于實現i/o重定向2. 設備獨立性軟件 1) 執行所有設備的公有操作 對獨立設備

15、的分配與回收; 將邏輯設備名映射為物理設備名,進一步可以找到相應物理設備的驅動程序; 對設備進行保護,禁止用戶直接訪問設備; 緩沖管理,即對字符設備和塊設備的緩沖區進行有效的管理, 以提高i/o的效率; 差錯控制。由于在i/o操作中的絕大多數錯誤都與設備無關,故主要由設備驅動程序處理,而設備獨立性軟件只處理那些設備驅動程序無法處理的錯誤。2) 向用戶層(或文件層)軟件提供統一接口無論何種設備, 它們向用戶所提供的接口應該是相同的。 例如, 對各種設備的讀操作,在應用程序中都使用read; 而對各種設備的寫操作,也都使用write。 3. 邏輯設備名到物理設備名映射的實現 1) 邏輯設備表2)

16、lut的設置問題 (四) 獨占設備的分配程序 1. 基本的設備分配程序 1) 分配設備 2) 分配控制器 3) 分配通道 2. 設備分配程序的改進 1) 增加設備的獨立性2) 考慮多通路情況 什么是虛擬設備n 虛擬設備是指通過虛擬技術將一臺獨占設備變換為若干臺邏輯設備,供若干個用戶進程同時使用,通常把這種經過虛擬技術處理后的設備稱為虛擬設備。(五)spooling技術 1. 什么是spooling 為了緩和cpu的高速性與i/o設備低速性間的矛盾而引入了脫機輸入、 脫機輸出技術。 該技術是利用專門的外圍控制機, 將低速i/o設備上的數據傳送到高速磁盤上;或者相反。事實上, 當系統中引入了多道程

17、序技術后,可以利用程序模擬脫機輸入時的外圍控制機功能;再用另一道程序來模擬脫機輸出時外圍控制機的功能。這樣,便可在主機的直接控制下,實現脫機輸入、 輸出功能。 此時的外圍操作與cpu對數據的處理同時進行, 我們把這種在聯機情況下實現的同時外圍操作稱為spooling,或稱為假脫機操作。 2. spooling系統的組成 3. 共享打印機 共享打印機技術已被廣泛地用于多用戶系統和局域網絡中。 當用戶進程請求打印輸出時, spooling系統同意為它打印輸出, 但并不真正立即把打印機分配給該用戶進程, 而只為它做兩件事: 由輸出進程在輸出井中為之申請一個空閑磁盤塊區, 并將要打印的數據送入其中;

18、輸出進程為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中, 再將該表掛到請求打印隊列上。 4. spooling系統的特點 (1)i/o的速度。 (2) 將獨占設備改造為共享設備。 (3) 實現了虛擬設備功能。 五、設備處理1.設備處理在系統為請求i/o的進程分配了設備及相應的數據通路之后,啟動設備去進行實際的i/o操作,通常由設備驅動程序和i/o中斷服務程序配合完成。2.設備處理程序主要任務n 設備處理程序(設備驅動程序):i/o進程與設備控制器之間的通信程序。n 任務: (1)接收上層軟件發來的抽象請求,再把它轉換為具體要求,發送給設備控制器,啟動設備去執行; (2)此外

19、,它也將由設備控制器發來的信號傳給上層軟件。3. 設備驅動程序的功能 (1) 接收由i/o進程發來的命令和參數, 并將命令中的抽象要求轉換為具體要求(2) 檢查用戶i/o請求的合法性,了解i/o設備的狀態,傳遞有關參數,設置設備的工作方式。(3) 發出i/o命令。(4) 及時響應由控制器或通道發來的中斷請求,并根據其中斷類型調用相應的中斷處理程序進行處理。(5) 對于設置有通道的計算機系統,驅動程序還應能夠根據用戶的i/o請求,自動地構成通道程序。 4. 設備處理方式 (1) 為每一類設備設置一個進程,專門用于執行這類設備的i/o操作。(2) 在整個系統中設置一個i/o進程,專門用于執行系統中

20、所有各類設備的i/o操作。也可以設置一個輸入進程和一個輸出進程,分別處理系統中所有各類設備的輸入或輸出。 (3) 不設置專門的設備處理進程,而只為各類設備設置相應的設備處理程序(模塊), 供用戶進程或系統進程調用。 5. 設備驅動程序的特點 (1) 驅動程序是請求i/o的進程與設備控制器之間的一個通信和轉換程序。 (2) 驅動程序與設備控制器和i/o設備的硬件特性緊密相關, 因而對不同類型的設備應配置不同的驅動程序。 (3) 驅動程序與i/o設備所采用的i/o控制方式緊密相關。 (4) 由于驅動程序與硬件緊密相關, 因而其中的一部分必須用匯編語言書寫。 6. 設備驅動程序的處理過程 1) 將抽象要求轉換為具體要求 2) 檢查i/o請求的合法性 3) 讀出和檢查設備的狀態 4) 傳送必要的參數 5) 工作方式的設置 6) 啟動i/o設備 7. 中斷處理程序的處理過程n 中斷:計算機在運行過程中,出現來自系統外部、機器內部以及cpu本身的任何異常的或例外的事件時,cpu暫停執行當前正在

溫馨提示

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

評論

0/150

提交評論