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

下載本文檔

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

文檔簡介

2023/2/31第6章輸入輸出系統(I/O)6.1I/O系統的功能、模型和接口2023/2/32

I/O系統是操作系統對計算機系統中除CPU和內存之外的外部設備進行管理。操作系統設備管理是要,方便用戶使用設備、提高設備利用率。

提高設備利用率的關鍵是實現設備的并行操作。一方面,諸設備要與CPU并行,另一方面,諸設備間也要并行。I/O系統的層次結構

整個I/O結構分成三個層次:底層是具體的設備和硬件接口,中間是系統軟件(與設備相關軟件、與設備無關軟件),最上面是用戶程序。打印機攝像機硬盤設備打印機控制器攝像機控制器磁盤控制器打印機驅動程序攝像機驅動程序磁盤驅動程序I/O接口程序硬件接口與設備相關軟件與設備無關軟件用戶程序進程A進程B進程C進程N用戶空間內核空間打印機中斷處理程序攝像機中斷處理程序磁盤中斷處理程序1.設備的分類2023/2/34(1)按設備的使用特性分類 存儲設備、I/O設備(2)按信息的組織方式分類

塊設備:磁盤、磁帶等

字符設備:每次傳送字符數據,如鍵盤。6.2I/0設備和設備控制器設備的分類……2023/2/3Page5(3)按傳輸速率分類低速設備每秒幾個字節至數百字節鍵盤、鼠標、語音輸入輸出設備等中速設備每秒數千至數萬字節行式打印機、激光打印機等高速設備每秒數百K至數十M字節磁盤機、磁帶機、光盤機等2023/2/362.設備與控制器之間的接口

通常,設備并不是直接與CPU進行通信,而是與設備控制器通信。因此,在設備中應含有與設備控制器的接口。2023/2/3Page7設備與控制器之間的接口數據信號線用于在設備和設備控制器之間傳送數據信號控制信號線作為由設備控制器向I/O設備發送控制信號(規定設備應執行的操作)時的通路狀態信號線用于傳送指示設備當前狀態的信號設備控制器是CPU與I/O設備之間的接口由外界輸入的信號經轉換器轉換后送入緩沖器,數據達到一定的字符數后,再從緩沖器通過一組數據信號線送到控制器從設備控制器經過數據信號線傳送來的數據先暫存在緩沖器,經轉換器經過適當轉換后,逐個字符輸出信號規定設備要執行的操作指示設備當前狀態,正在讀、寫或完成2.設備控制器2023/2/38設備控制器的組成2.設備控制器2023/2/39基本功能接收和識別命令應有控制寄存器存放接受的命令和參數,并對其譯碼數據交換實現CPU與控制器、控制器與設備之間的數據交換,需設置數據寄存器標識和報告設備的狀態:需設置狀態寄存器地址識別識別所控制的設備,需設置地址譯碼器數據緩沖:解決I/O設備速率低的問題差錯控制:對I/O設備發送的數據6.4設備驅動程序

6.4.3對I/O設備的控制方式2023/2/3101.程序查詢/輪詢方式

用戶進程直接控制CPU與外設之間的數據傳送。當用戶進程需要使用某一外設輸入/輸出數據時,它通過CPU向外設發出一條I/O指令啟動外設,然后在外設上進行I/O數據處理的過程中,進程循環測試外設是否處理完畢(busy=0),如果完畢就再啟動下一次的傳送,直到傳送結束。設備內存或設備CPU2023/2/311向I/O控制器發讀命令讀I/O控制器的狀態檢查狀態?從I/O控制器中讀入字向存儲器中寫字傳送完成?未就緒就緒出錯CPU→I/OI/O→CPUI/O→CPUCPU→內存下條指令完成未完(a)程序I/O方式2023/2/312缺點:①CPU與外設之間只能串行工作。CPU在絕大多數時間內都處于循環測試的忙等待狀態,使得CPU的利用率極低。②由于一段時間內CPU只能與一臺外設交換數據,因此多臺外設之間也只能串行工作。

程序查詢方式只適用于CPU執行速度較慢且外設較少的系統。2.中斷控制方式2023/2/313向I/O控制器發讀命令讀I/O控制器的狀態檢查狀態?從I/O控制器中讀字向內存中寫字傳送完成?就緒出錯CPU→I/OI/O→CPUI/O→CPUCPU→內存下條指令完成未完中斷CPU(b)中斷驅動方式做其它事2023/2/315特點:CPU與外設并行工作,也可外設間并行工作,大大提高了系統效率。僅適宜于慢速的字符設備,中斷次數頻繁(數據緩沖寄存器小,滿即產生中斷),系統開銷大(在中斷處理上)。3.DMA方式2023/2/316

在外設與內存間直接開辟一個數據通道,由DMAC(DMA控制器)來控制它們之間的成批數據傳送。2023/2/317特點數據傳輸的基本單位是數據塊所傳送的數據是從設備直接送入內存的,或者相反僅在傳送一個或多個數據塊的開始和結束時才需CPU干預除了具有中斷機構外,還增加了DMA控制器數據傳送方向、存放數據的內存地址及傳送數據長度需CPU控制每個設備需配置一個DMA控制器DMA方式2023/2/318DMA方式的工作流程設置MAR和DC初值啟動DMA傳送命令挪用存儲器周期傳送數據字存儲器地址增1字計數寄存器減1DC=0?請求中斷在繼續執行用戶程序的同時,準備又一次傳送否是內存地址寄存器MAR數據存放到內存的起始目標地址數據計數器DC要讀或寫的字(節)數2023/2/319與中斷方式的區別:1)中斷方式是在數據寄存器滿的時候發出中斷請求,DMA方式是在數據傳送結束時發出中斷請求。2)中斷方式中的中斷處理程序負責數據傳送(取走數據),DMA方式中的中斷處理程序做I/O的結束工作。

DMA方式適合連續數據塊的傳送。4通道控制方式2023/2/320通道是一個獨立于cpu的專管輸入輸出控制的處理機有自己簡單的指令系統,只有數據傳送指令和設備控制指令主要目的是為了建立獨立的I/O操作,使有關對I/O操作的組織、管理及其結束處理也獨立于CPUCPU向I/O通道發送I/O命令,由通道執行程序通道與一般處理機的區別指令單一沒有獨立的內存2023/2/321通道的種類字節多路:以字節為單位傳送數據,低速設備數組選擇:一次只能控制一臺I/O設備;以塊為單位或成批傳送數據;高速設備數組多路:傳輸速度快,通道利用率高,可連接多臺高中速設備2023/2/3226.5.3設備分配2023/2/3231.設備分配的原則: 總原則:考慮設備的固有屬性,充分發揮設備的使用效率,盡可能的讓設備忙,又要避免由于不合理的分配方法造成進程死鎖;把用戶程序和具體的物理設備隔離開來。2.設備分配策略:先請求先分配優先級高者先分配設備分配時應考慮的因素設備的固有屬性獨占性一段時間內,只允許一個進程獨占,大多數低度速I/O設備都屬于獨享設備共享性允許多個進程同時共享,如磁盤、磁鼓之類的外存儲器,既具有很能大的存儲容量,其定位操作的時間又短可虛擬性獨占設備經某種技術處理,改造成虛擬設備,把一臺輸入機虛擬為幾臺“虛擬”的輸入機。例如:為了提高設備利用率引入了脫機輸入輸出或采用SPOOLing技術,變一臺為“多臺設備”缺點:設備得不到充分利用,可能產生死鎖設備分配時應考慮的因素設備分配獨占設備防止死鎖共享設備由于同時有多個進程同時訪問,且訪問頻繁,就會影響整個設備使用效率,影響系統效率。因此要考慮多個訪問請求到達時服務的順序,使平均服務時間越短越好。注意各進程的訪問次序進行合理調度虛擬設備2023/2/3263.設備分配中的安全性安全分配方式每當進程發出I/O請求后,便進入阻塞狀態,I/O操作完成后喚醒優點:摒棄了“請求和保持”條件,不會產生死鎖不安全分配方式進程發出I/O請求后仍繼續運行,繼續申請I/O設備優點:可操作多個設備,推進迅速6.7緩沖技術2023/2/327

緩沖是用來緩和CPU與外設之間以及設備與設備之間速度不匹配的矛盾,提高CPU和I/O設備的并行性。1緩沖的引入

采用緩沖技術的目的主要在于:2023/2/3281).用來緩和CPU與I/O設備之間速度不匹配的矛盾。2).提高CPU和I/O設備的并行性。3).有效減少對CPU的中斷次數,放寬對CPU中斷響應時間的限制。比如:字符設備無緩沖:傳輸一個字符需要中斷一次有緩沖:傳輸100個字符只需要中斷一次4).解決生產和消費數據粒度不匹配的問題2023/2/3291位緩沖9.6Kb/s(a)中斷CPU的頻率為9.6Kb/s,每100s中斷一次CPUCPU必須在100s內響應,否則數據會被沖掉8位緩沖寄存器送內存9.6Kb/s(b)中斷CPU的頻率降低為9.6Kb/82023/2/3308位緩沖寄存器9.6Kb/s送內存(c)每800s中斷一次CPU2緩沖的種類

緩沖區分為單緩沖、雙緩沖、環型緩沖、緩沖池等,現代操作系統很多采用緩沖池技術。緩沖池將多個緩沖區組織成多個緩沖隊列。2023/2/331緩沖區中的單緩沖和雙緩沖2023/2/332單緩沖和雙緩沖2023/2/3Page33只能實現單向的數據傳輸為了實現雙向數據傳輸,必須在兩臺機器中都設置兩個緩沖區,一個用作發送緩沖區,另一個用作接收緩沖區。循環緩沖2023/2/3Page34類型:R:空緩沖;G:滿緩沖;C:當前緩沖本章小結2023/2/335了解外設的分類;了解設備管理的功能;理解幾種數據傳輸控制方式的不同(程序直接控制、中斷方式、DMA方式和通道方式);了解中斷中的相關概念;理解引入緩沖區的作用;設備分配的原則和策略。脫機輸入/輸出(Off-LineI/O)方式硬件不斷發展,CPU速度的提高、系統規模擴大,人機矛盾嚴重,如何解決?磁帶磁帶磁帶磁帶SPOOLing技術2023/2/3Page37什么是SPOOLing技術為了緩和CPU的高速性與I/O設備低速性間的矛盾而引入了脫機輸入、脫機輸出技術在多道程序環境下,其中的一道程序模擬脫機輸入時的外圍控制機功能在主機的直接控制下,實現脫機輸入、輸出功能,此時的外圍操作與CPU對數據的處理同時進行把這種在聯機情況下實現的同時外圍操作稱為SPOOLing(SimultaneausPeriphernalOperatingOn-Line),或稱為假脫機操作SPOOLing技術2023/2/3Page38SPOOLing系統的組成輸入井和輸出井在磁盤上的兩個存儲空間輸入井模擬脫機輸入,暫存輸入數據輸出井模擬脫機輸出,暫存輸出數據輸入緩沖區和輸出緩沖區用來緩和CPU與磁盤之間的速度的矛盾輸入進程進程SPo模擬脫機I/O時的外圍控制機脫機輸入/輸出(Off-LineI/O)方式Page392023/2/3磁帶磁帶磁帶磁帶SPOOLing技術2023/2/3Page40SPOOLing技術2023/2/3Page41共享打印機打印機為獨占設備,利用SPOOLing技術,可將之改造為共享設備用戶請求打印時,SPOOLing系統處理如下由輸出進程在輸出井中為之申請一個空閑磁盤塊區,并將要打印的數據送入其中輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上SPO

溫馨提示

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

評論

0/150

提交評論