




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第七章設備管理概述I/O軟件的組成I/O硬件特點有關技術設備處理典型外部設備一、概述1、I/O的特點(1)I/O性能經常成為系統性能的瓶頸CPU性能不等于系統性能 響應時間也是一個重要因素CPU性能越高,與I/O差距越大 彌補:更多的進程進程切換多,系統開銷大(2)操作系統龐大復雜的原因之一是:資源多、雜,并發,均來自I/O 外設種類繁多,結構各異 輸入輸出數據信號類型不同 速度差異很大(3)理解I/O的工作過程與結構是理解操作系統的工作過程與結構的關鍵 I/O技術很實用(4)與其他功能聯系密切,特別是文件系統1、I/O的特點(1)按使用特性分 存儲型設備 輸入型設備(外設主機) 輸出型設備(
2、主機外設) 輸入輸出型設備(交互型設備)2、設備的分類(2)按數據組織分 塊設備 以數據塊為單位存儲、傳輸信息 字符設備 以字符為單位存儲、傳輸信息(3)按外部設備的從屬關系分 系統設備 指操作系統生成時,登記在系統中的標準設備 (如終端、打印機、磁盤機等) 用戶設備 指在系統生成時,未登記在系統中的非標準設備。對于這類設備的處理程序由用戶提供,并將其納入系統,由系統代替用戶實施管理。 (如A/D,D/A轉換器,CAD所用專用設備)(4)按資源分配角度分 獨占設備 在一段時間內只能有一個進程使用的設備,一般為低速I/O設備(如打印機,磁帶等) 共享設備 在一段時間內可有多個進程共同使用的設備,
3、多個進程以交叉的方式來使用設備,其資源利用率高(如硬盤)虛設備在一類設備上模擬另一類設備,常用共享設備模擬獨占設備,用高速設備模擬低速設備,被模擬的設備稱為虛設備 目的:將慢速的獨占設備改造成多個用戶可共享的設備,提高設備的利用率(實例:SPOOLing技術,利用虛設備技術 用硬盤模擬輸入輸出設備)SPOOLing技術 為解決獨立設備數量少,速度慢,不能滿足眾多進程的要求,而且在進程獨占設備期間,設備利用率比較低而提出的一種設備管理技術(5)從程序使用角度分 邏輯設備、物理設備(6)按數據傳輸率分 高速設備、低速設備(7)按接口分 與用戶交流:顯示器,鍵盤,鼠標,打印機等 與電子設備交流:磁盤
4、、磁帶等 通信:與遠程設備通信:調制解調器各類設備的差別: 數據傳輸率 應用 控制的復雜性 傳輸單位 數據表示 出錯條件(1)按照用戶的請求,控制設備的各種操作,完成I/O設備與內存之間的數據交換(包括設備分配與回收;設備驅動程序;設備中斷處理;緩沖區管理),最終完成用戶的I/O請求3.設備管理的目標和任務設備分配與回收 記錄設備的狀態 根據用戶的請求和設備的類型,采用一定的分配算法,選擇一條數據通路 建立統一的獨立于設備的接口完成設備驅動程序,實現真正的I/O操作處理外部設備的中斷處理管理I/O緩沖區功能(2)向用戶提供使用外部設備的方便接口,使用戶擺脫繁瑣的編程負擔 方便性 友好界面 透明
5、性 邏輯設備與物理設備、屏蔽硬件細節(設備的物理細節,錯誤處理,不同I/O的差異性)(3)充分利用各種技術(通道,中斷,緩沖等)提高CPU與設備、設備與設備之間的并行工作能力,充分利用資源,提高資源利用率 并行性 均衡性(使設備充分忙碌)(4)保證在多道程序環境下,當多個進程競爭使用設備時,按一定策略分配和管理各種設備,使系統能有條不紊的工作(5)保護 設備傳送或管理的數據應該是安全的、不被破壞的、保密的(6)與設備無關性(設備獨立性) 用戶在編制程序時,使用邏輯設備名,由系統實現從邏輯設備到物理設備(實際設備)的轉換 用戶能獨立于具體物理設備而方便的使用設備 用戶申請使用設備時,只需要指定設
6、備類型,而無須指定具體物理設備,系統根據當前的請求,及設備分配的情況,在相同類別設備中,選擇一個空閑設備,并將其分配給一個申請進程統一性: 對不同的設備采取統一的操作方式,在用戶程序中使用的是邏輯設備優點: 設備忙碌或設備故障時,用戶不必修改程序改善了系統的可適應性和可擴展性 IO軟件的基本思想是按分層的思想構成,較低層軟件要使較高層軟件獨立于硬件的特性,較高層軟件則要向用戶提供一個友好的、清晰的、簡單的、功能更強的接口二、I/O軟件的組成 在設計IO軟件時的一個關鍵概念是設備獨立性。用戶在編寫使用軟盤或硬盤上文件的程序時,無需為不同的設備類型而修改程序就可以使用 與設備獨立性密切相關的是統一
7、命名這一目標。一個文件或一個設備的名字只應是一個簡單的字符串或一個整數,不應依賴于設備1. IO軟件的目標 出錯處理是IO軟件的另一個目標。一般來說,數據傳輸中的錯誤應盡可能地在接近硬件層上處理 最后一個問題是可共享設備和獨占設備的處理問題2.中斷處理程序 每個進程在啟動一個IO操作后阻塞 直到IO操作完成并產生一個中斷 由操作系統接管CPU后喚醒該進程為止3.設備驅動程序 與設備密切相關的代碼放在設備驅動程序中,每個設備驅動程序處理一種設備類型 每一個控制器都設有一個或多個設備寄存器,用來存放向設備發送的命令和參數。設備驅動程序負責釋放這些命令,并監督它們正確執行 一般,設備驅動程序的任務是
8、接收來自與設備無關的上層軟件的抽象請求,并執行這個請求 在設備驅動程序的進程釋放一條或多條命令后,系統有兩種處理方式,多數情況下,執行設備驅動程序的進程必須等待命令完成,這樣,在命令開始執行后,它阻塞自已,直到中斷處理時將它解除阻塞為止。而在其它情況下,命令執行不必延遲就很快完成 4.設備獨立的軟件 雖然IO軟件中一部分是設備專用的,但大部分軟件是與設備無關的。設備驅動程序與設備獨立軟件之間的確切界限是依賴于具體系統的 1.獨立于設備的軟件的基本任務是實現所有設備都需要的功能,并且向用戶級軟件提供一個統一的接口 2.如何給文件和設備這樣的對象命名是操作系統中的一個主要課題。獨立于設備的軟件負責
9、把設備的符號名映射到正確的設備驅動上 3.設備保護 系統如何防止無權存取設備的用戶存取設備呢? 4.不同的磁盤可以采用不同的扇區尺寸。向較高層軟件掩蓋這一事實并提供大小統一的塊尺寸,這正是設備獨立軟件的一個任務。它可將若干扇區合成一個邏輯塊。這樣,較高層的軟件只與抽象設備打交道,獨立于物理扇區的尺寸而使用等長的邏輯塊 5.緩沖技術 6.設備分配 7.出錯處理 5.用戶空間的IO軟件 盡管大部分IO軟件都包含在操作系統中,但仍有一小部分是由與用戶程序連接在一起的庫過程,甚至完全由運行于核外的程序構成。系統調用,包括IO系統調用,通常由庫過程實現 這些過程所做的工作只是將系統調用時所用的參數放在合
10、適的位置,由其它的IO過程實際實現真正的操作(1)用戶進程層執行輸入輸出系統調用,對IO數據進行格式化,為假脫機輸入輸出作準備(2)獨立于設備的軟件實現設備的命名、設備的保護、成塊處理、緩沖技術和設備分配(3)設備驅動程序設置設備寄存器、檢查設備的執行狀態(4)中斷處理程序負責IO完成時,喚醒設備驅動程序進程,進行中斷處理(5)硬件層實現物理IO的操作1.設備組成 IO設備一般由機械和電子兩部分組成 把這兩部分分開處理,以提供更加模塊化,更加通用的設計三、I/O硬件特點 (1)物理設備 機械部分是設備本身(物理裝置)(2)設備控制器 電子部分叫做設備控制器或適配器。 在小型和微型機中,它常采用
11、印刷電路卡插入計算機中(接口) 完成設備與主機間的連接和通訊 控制器卡上通常有一個插座,通過電纜與設備相連 控制器和設備之間的接口是一個標準接口,它符合ANSI、IEEE或ISO這樣的國際標準CPU外部設備控制邏輯電路控制寄存器狀態寄存器數據寄存器 一次I/O 傳送過程: 準備傳送后處理例:一個打印機有兩個I/O設備寄存器 狀態寄存器 數據寄存器設備完成技術四、設備有關技術(虛擬設備)技術 一個虛擬設備 一個資源轉換技術(用空間,如輸入,輸出等換取CPU時間)解決問題: 在進程所需物理設備不存在或被占用時使用該設備(1)預輸入程序預輸入程序的任務是預先把作業的全部信息輸入到磁盤的輸入井中存放,
12、以便在需要作業信息以及作業運行過程中需要數據時,都可以從輸入井中直接得到,而無須與輸入機交往,避免了等待使用輸入機的情況發生。(2)緩輸出程序 緩輸出程序總是定期查看“輸出井”中是否有等待輸出的作業信息。如果有,就啟動輸出設備(比如打印機)進行輸出。因此,由于作業的輸出信息都暫時存放在輸出井中,輸出設備有空就去輸出,不會出現作業因為等待輸出而阻塞。(3)井管理程序 井管理程序分為“井管理讀程序”和“井管理寫程序”。當請求輸入設備工作時,操作系統就調用井管理讀程序,它把讓輸入設備工作的任務,轉換成從輸入井中讀取所需要的信息;當作業請求打印輸出時,操作系統就調用井管理寫程序,它把讓輸出設備工作的任
13、務,轉換成為往輸出井里輸出。假若進程打開打印機特殊文件后幾小時內無所事事,其他進程什么都打印不了!解決方案:創建值班(精靈)進程(daemon)、SPOOLing目錄進程首先生成要打印的文件,放入SPOOLing目錄值班進程:唯一獲準使用打印機特殊文件的進程 用以打印SPOOLing目錄里的文件通過禁止對特殊文件的直接使用、提高了使用效率打印機的SPOOLing值班進程(1)定義:通道是獨立于CPU的專門負責數據輸入/輸出傳輸工作的處理機,對外部設備實現統一管理,代替CPU對輸入/輸出操作進行控制,從而使輸入,輸出操作可與CPU并行操作。 可以執行通道程序2.通道技術(2)引入通道的目的 為了
14、使CPU從I/O事務中解脫出來,同時為了提高CPU與設備,設備與設備之間的并行工作能力(4)硬件連接結構 通道:執行通道程序,向控制器發出命令,并具有向CPU發中斷信號的功能。 一旦CPU發出指令,啟動通道,則通道獨立于CPU工作。一個通道可連接多個控制器,一個控制器可連接多個設備,形成樹形交叉連接 主要目的是啟動外設時:提高了控制器效率提高可靠性提高并行度交叉連接(5)通道工作原理 通道相當于一個功能簡單的處理機,包含通道指令(空操作,讀操作,寫操作,控制,轉移操作),并可執行用這些指令編寫的通道程序技術 數據在內存與I/O設備間的直接成塊傳送 CPU在開始時向設備發“傳送一塊”命令,結束時
15、進行相應處理,實際操作由DMA硬件直接完成 DMA能夠通過系統總線代替CPU管理數據的存入或取出 當CPU不需要系統總線時可以使用總線 DMA可以強迫CPU暫時延遲其他操作,獲取一個總線周期(周期竊取)DMA方式與中斷的主要區別中斷方式是在數據緩沖寄存區滿后,發中斷請求,CPU進行中斷處理 DMA方式則是在所要求傳送的數據塊全部傳送結束時要求CPU進行中斷處理 大大減少了CPU進行中斷處理的次數中斷方式的數據傳送是由CPU控制完成的 而DMA方式則是在DMA控制器的控制下不經過CPU控制完成的 不用DMA時,磁盤如何讀: 首先,控制器從磁盤驅動器串行地一位一位地讀一個塊,直到將整塊信息放入控制
16、器的內部緩沖區中 其次,它做和校驗計算,以核實沒有讀錯誤發生 然后控制器產生一個中斷。CPU響應中斷,控制轉給操作系統。當操作系統開始運行時,它重復地從控制器緩沖區中一次一個字節或一個字地讀這個磁盤塊的信息,并將其送入內存中 采用DMA方式時,允許DMA控制器接管地址線的控制權,直接控制DMA控制器與內存的數據交換。從而使磁盤設備與儲器之間的數據傳送不需要CPU介入,因而減輕了CPU負擔 當采用DMA時,除向控制器提供要讀塊的磁盤地址外,還要向控制器提供兩個信息:要讀塊送往內存的起始地址和要傳送的字節數 當DMA硬件控制磁盤與存儲器之間進行信息交換時,每當磁盤把一個數據讀入控制器的數據緩沖區時
17、,DMA控制器取代CPU,接管地址總線的控制權,并按照DMA控制器中的存儲器地址寄存器內容把數據送入相應的內存單元中。然后,DMA硬件自動地把傳送字節計數器減1,把存儲器地址寄存器加1,并恢復CPU對內存的控制權,DMA控制器對每一個傳送的數據重復上述過程,直到傳送字節計數器為“0”時,向CPU產生一個中斷信號。當操作系統接管CPU控制權時,再無需做塊復制的工作了控制器按照指定存儲器地址,把第一個字節送入主存然后,按指定字節數進行數據傳送每當傳送一個字節后,字節計數器值減1,直到字節計數器等于0此時,控制器引發中斷,通知操作系統,操作完成CPU提供被讀取塊磁盤地址目標存儲地址待讀取字節數整塊數
18、據讀進緩沖區核準校驗DMA工作示例(以硬盤為例)(1)緩沖技術的引入 凡是數據到達和離去速度不匹配的地方均可采用緩沖技術。 在操作系統中采用緩沖是為了實現數據的I/O操作,以緩解CPU與外部設備之間速度不匹配的矛盾,提高資源利用率減少了I/O設備對處理器的中斷請求次數簡化了中斷機制節省了系統開銷4. 緩沖技術(2)緩沖區設置 硬緩沖:在設備中設置緩沖區,由硬件實現 軟緩沖:在內存中開辟一個空間,用作緩沖區(3)緩沖區管理 單緩沖 雙緩沖 緩沖池: 多個緩沖區連接起來統一管理,常采用多緩沖管理(4)例子 終端輸入軟件中的鍵盤驅動程序 任務之一:收集字符 兩種常見的字符緩沖方法:公共緩沖池(驅動程
19、序中)終端數據結構緩沖1. 設備分配與回收 當某進程向系統提出I/O請求時,設備分配程序按一定策略分配設備、控制器和通道,形成一條數據傳輸通路,以供主機和設備間信息交換五、設備處理設備獨立性,即不能因為設備的忙碌、故障或更換而影響程序的運行, 向用戶屏蔽物理設備, 呈現給用戶的一個操作簡單的邏輯設備抽象的I/O 操作,即設計一類通用的I/O指令,它們的含義對不同類型的設備作不同解釋。而且,在操作系統中,提供了若干I/O系統調用。由系統將抽象的I/O 操作映射到專門的設備驅動程序(1)數據結構:設備控制塊DCB(設備控制表DCT)控制器控制塊COCB (控制器控制表COCT)通道控制塊CHCB (通道控制表CHCT)系統設備表SDT系統設備表SDT 整個系統一張表,記錄系統中所有I/O設備的信息,表目包括: 設備類型、設備標識符、進程標識符、DCT表指針等設備控制表DCT 主要內容:設備類型、設備標識符、設備狀態、與此設備相連的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省資陽市2025年初三第二輪復習測試卷化學試題(四)含解析
- 重慶化工職業學院《化工設計軟件》2023-2024學年第二學期期末試卷
- 山東省沂水四十里中學2025年初三5月學業能力調研化學試題試卷含解析
- 山西省永濟市2025年初三下學期第9周周考化學試題含解析
- 綿陽職業技術學院《鍵盤技巧三》2023-2024學年第一學期期末試卷
- 西南林業大學《書法篆刻基礎》2023-2024學年第二學期期末試卷
- 酒泉市安西縣2025年小升初考試數學試卷含解析
- 江西工業工程職業技術學院《SAP企業培訓》2023-2024學年第二學期期末試卷
- 南開大學《高等數學A1》2023-2024學年第二學期期末試卷
- 武昌工學院《知識產權專業英語》2023-2024學年第二學期期末試卷
- 施工負責人題庫2020
- 內燃機車柴油機冷卻水系統-直流傳動發內燃機車柴油機冷卻水系統
- 數據驅動的精細化運營管理
- 2024年福建廈門大學后勤集團招聘筆試參考題庫含答案解析
- 預制管樁施工方案
- 危重癥患者的心理護理課件
- 胸腹主動脈瘤切除人工血管置換術術后健康飲食宣教
- 零星土建安全施工方案
- 中建商業樓幕墻專項施工方案
- 臨床診療指南癲癇病學分冊
- 制作沙包(教案)-五年級勞動版
評論
0/150
提交評論