操作系統-05輸入輸出課件_第1頁
操作系統-05輸入輸出課件_第2頁
操作系統-05輸入輸出課件_第3頁
操作系統-05輸入輸出課件_第4頁
操作系統-05輸入輸出課件_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

輸入/輸出第5章5.1I/O硬件原理5.2I/O軟件原理5.3I/O軟件層次5.4硬盤5.51I/O設備分類與人進行交互用于和用戶進行通信打印機視頻顯示設備顯示器鍵盤鼠標與設備進行交互用于和電子設備進行通信磁盤和磁帶傳感器控制器傳動器2I/O設備分類網絡通信類用于和遠程設備進行通信數據線調制解調器所有設備在操作系統中被粗略地分為兩類塊設備字符設備3I/O設備的不同傳輸單位對于終端,數據的傳輸是以字符流為單位,而磁盤則是以塊為單位數據的表示方式不同設備編碼方式不一樣出錯表示方式5I/O硬件原理某些典型設備、網絡和總線的數據率6設備控制器I/O設備的組成:機械部分電子部分組成設備的電子部分就是設備控制器一個設備控制器可以處理一類設備控制器的任務將串行的位流轉換成字節塊盡可能進行糾錯可以與主存進行讀寫操作7內存映射I/O(2)(a)單總線體系結構(b)雙總線內存體系結構910I/O數據傳輸方式程序控制I/O在進行輸入/輸出時,CPU處于一種忙等待中斷驅動I/OCPU發出I/O命令,由控制器具體執行CPU轉去執行其他指令控制器完成I/O后,向CPU發中斷信號1113幾種數據傳輸方式的關系14中斷回顧中斷是怎樣發生的,設備與中斷控制器之間的連線實際上使用的是總線上的中斷線而不是專用連線。busControlregisterDataregister15直接存儲器存取(DMA)DMA傳送操作17直接存儲器存取(DMA)基本原理:處理器將相應的傳輸命令發給DMA控制器DMA控制器直接將數據與內存間進行交換當數據傳輸結束,DMA控制器向處理器發中斷信號18DMA配置幾種DMA控制器的使用方式19I/O軟件原理

I/O軟件的目標(1)設備獨立性程序能夠訪問任意的設備不需要事先指定(如讀取硬盤,軟盤,或光區)統一命名一個文件或設備的名字應該是一個簡單的字符串或一個整數不應依賴于任何設備錯誤處理錯誤應該盡可能在接近硬件層面得到處理21I/O軟件目標(2)同步(Synchronous)和異步(asynchronous)傳輸阻塞式傳輸和中斷驅動傳輸緩沖數據離開一個設備后通常并不能直接存放到目的地共享設備和獨占設備磁盤是共享設備磁帶是獨占性設備22程序控制I/O(1)打印一個字符串的步驟23中斷驅動I/O使用中斷驅動I/O將一個字符串寫到打印機當打印系統被調用時執行的代碼打印機的中斷服務過程25使用DMA的I/O使用DMA打印一個字符串當打印系統被調用時執行的代碼中斷服務過程26I/O軟件層次I/O軟件系統的層次27中斷處理程序(2)為中斷服務過程設置堆棧應答中斷控制器,如果不存在集中的中斷控制器,則再次開放中斷將寄存器從它們被保存的地方復制到進程表中運行中斷服務過程,從發出中斷的設備控制器的寄存器中提取信息選擇下一次運行哪一個進程為下一次要運行的進程設置MMU上下文裝入新進程的寄存器開始運行新進程29設備驅動程序設備驅動程序的邏輯定位驅動程序和設備控制器之間的所有通信都通過總線30與設備無關的I/O軟件(1)與設備無關的I/O軟件功能設備驅動程序的統一接口緩沖錯誤報告分配與釋放專用設備提供與設備無關的塊大小31與設備無關的I/O軟件(2)(a)沒有標準的驅動程序接口(b)具有標準的驅動程序接口32與設備無關的I/O軟件(3)(a)無緩沖的輸入(b)用戶空間中的緩沖(c)內核空間中的緩沖接著復制到用戶空間(d)內核空間中的雙緩沖33雙緩沖使用兩個系統內核空間中的緩沖當第一個緩沖區被填滿之后,在它被清空之前可以使用第二個緩沖區34循環緩沖可以使用的緩沖區有兩個以上EachindividualbufferisoneunitinacircularbufferUsedwhenI/Ooperationmustkeepupwithprocess35緩沖池(bufferpool)緩沖區隊列:三種:空閑緩沖區,輸入緩沖區,輸出緩沖區操作:四種:設備輸入,CPU讀入,設備輸出,CPU寫出。上述操作訪問各個緩沖區隊列時,需要進行相應的互斥操作。這是一種雙方向緩沖技術;緩沖區整體利用率高。36與設備無關的I/O軟件(3)錯誤報告分配與釋放專用設備與設備無關的塊大小37用戶空間的I/O軟件

I/O系統的層次以及每一層的主要功能38SPOOLing(假脫機,虛擬設備技術),SimultaneousPeripheralOperationOnLine可把獨享設備轉變成具有共享特征的虛擬設備,從而提高設備利用率。引入:在多道批處理系統中,專門利用一道程序(SPOOLing程序)來完成對設備的I/O操作。無需使用外圍I/O處理機。39原理:SPOOLing程序和外設進行數據交換,可以稱為“實際I/O”。一方面,SPOOLing程序預先從外設輸入數據并加以緩沖,在以后需要的時候輸入到應用程序;另一方面,SPOOLing程序接受應用程序的輸出數據并加以緩沖,在以后適當的時候輸出到外設。在SPOOLing程序中,需要管理兩級緩沖區:內存緩沖區和快速外存上的緩沖池,后者可以暫存多批I/O操作的較多數據。應用程序進行I/O操作時,只是和SPOOLing程序交換數據,可以稱為"虛擬I/O"。這時虛擬I/O實際上是從SPOOLing程序的緩沖池中讀出數據或把數據送入緩沖池,而不是跟實際的外設進行I/O操作。40優點:高速虛擬I/O操作:應用程序的虛擬I/O比實際I/O速度提高,縮短應用程序的執行時間。另一方面,程序的虛擬I/O操作時間和實際I/O操作時間分離開來。實現對獨享設備的共享:由SPOOLing程序提供虛擬設備,可以對獨享設備依次共享使用。舉例:打印機設備和可由打印機管理器管理的打印作業隊列。如:WindowsNT中,應用程序直接向針式打印機輸出需要15分鐘,而向打印作業隊列輸出只需要1分鐘,此后用戶可以關閉應用程序而轉入其他工作,在以后適當的時候由打印機管理器完成15分鐘的打印輸出而無需用戶干預。41磁盤的結構盤

盤的硬件(1)42盤

盤的硬件(2)最初的IBMPC360KB軟盤參數與西部數據公司WD18300硬盤參數43盤的硬件(3)具有兩個環帶的磁盤的物理幾何規格該磁盤的一種可能的虛擬幾何規格44RAIDRedundantArrayofIndependentDisks(廉價磁盤冗余陣列)由一個RAID控制器加上一個裝滿磁盤的盒子組成,而對操作系統而言就是一個大容量的磁盤數據被分布在多個驅動器的陣列上冗余磁盤可以用來存放奇偶信息45Raid0級到2級陰影表示備份或者存放校驗碼的盤鏡像無冗余冗余盤上存放的是海明校驗碼46Raid3級到5級陰影表示備份或者存放校驗碼的盤bit-interleavedparityblock-levelparityblock-leveldistributedparity47磁盤格式化(1)一個磁盤扇區48磁盤格式化(2)柱面斜進示意圖49磁盤的格式化(3)無交錯單交錯雙交錯50磁頭臂調度算法(1)讀寫一個磁盤塊的時間又下面三個因素構成尋道時間旋轉延遲實際數據傳輸時間尋道時間占主導地位傳輸過程中的糾錯由控制器完成51磁頭臂調度策略先來先服務(FIFO)按達到順序滿足進程的需求對所有進程都公平在磁盤I/O負載較輕且每次讀寫多個連續扇區時,性能較好優先級目標是系統目標的實現,而不是改進磁盤I/O性能短作業具有較高優先級反映進程在系統的優先級特征,具有較好系統交互響應時間52磁頭臂調度策略后進先出該算法是基于事務系統中順序文件中磁盤I/O的局部性特征,相鄰訪問的位置也相鄰。它的問題在于系統負載重時,可能有進程的磁盤I/O永遠不能執行,處于饑餓狀態。最短尋道時間優先考慮磁盤I/O請求隊列中各請求的磁頭定位位置,選擇從當前磁頭位置出發,移動最少的磁盤I/O請求。該算法的目標是使每次磁頭移動時間最少。它不一定是最短平均柱面定位時間,但比FIFO算法有更好的性能。對中間的磁道有利,可能會有進程處于饑餓狀態。53磁頭臂調度策略SCAN(elevatoralgorithm,掃描算法,電梯算法)選擇在磁頭前進方向上從當前位置移動最少的磁盤I/O請求執行,沒有前進方向上的請求時才改變方向。該算法是對SSTF算法的改進,磁盤I/O較好,且沒有進程會餓死。C-SCAN(循環掃描)嚴格按照一個方向進行掃描,在一個方向上使用掃描算法,當到達邊沿時直接移動到另一沿的第一個位置。該算法可改進掃描算法對中間磁道的偏好。實驗表明,該算法在中負載或重負載時,磁盤I/O性能比掃描算法好。54磁頭臂調度策略

幾種不同調度算法的比較55錯誤處理具有一個壞扇區的磁盤磁道用備用扇區替換壞扇區移動所有扇區以回避壞扇區56時鐘

時鐘硬件可編程時鐘57時鐘軟件(1)維護日時間的三種方式58時鐘軟件(2)用單個時鐘模擬多個定時器59時鐘軟件的主要功能維護日期時間防止進程超時運行對CPU的使用情況記帳處理用戶進程提出的alarm系統調用為系統本身的各個部分提供監視定時器完成概要

溫馨提示

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

評論

0/150

提交評論