印表機,掃瞄器,磁碟驅動器,磁帶機等
用於管理io裝置和儲存裝置的系統
管理使用者提出的io請求,提高io速率, 方便使用者使用io裝置
每個io裝置一般都配備有相應的裝置控制器 這是一種硬體裝置 包含有若干個用於存放控制命令的暫存器和存放引數的暫存器 使用者通過這些命令和引數可以控制外部裝置 但是每乙個控制器都有它自己的命令 程式設計師沒辦法直接面向這些裝置程式設計 所以io系統隱藏了物理裝置的實現細節 只提供少量的讀寫命令
io系統與上層系統之間的介面 向上層提供對裝置進行操作的抽象io命令 方便高層對裝置的使用
程式控制io
cpu發乙個io命令給io控制器 io控制器來控制io
不支援中斷
io裝置在可用狀態之前會一直被程式檢測是否可用 如果不可用就一直檢測 浪費處理器的時間
中斷驅動io
相對於程式控制 程式在檢測io是否可用時 如果發現不可用 就去做另一件事情 而不是一直迴圈檢測 如果發現可用就直接交給io模組完成io
缺點:可能會中斷頻率很高 導致系統開銷大 因為你傳輸每乙個資料都需要cpu介入 每傳乙個資料cpu就中斷一下
dma(dirext memory access)控制io
一次傳輸一塊資料再發生中斷 相較於中斷驅動io dma控制減少了中斷次數
cpu向dma發出要讀一塊資料的命令 然後就去執行其他程序了 當整塊資料通過io裝置傳入程序的時候 dma再傳輸給cpu讀入記憶體中
為什麼dma可用減少中斷次數:
dma是通過cpu與cpu共享系統匯流排的方式傳輸資料 所以dma與cpu都要使用系統匯流排 如果cpu在使用系統匯流排時dma要用了 那就cpu暫時停用系統匯流排 給dma使用 等dma使用完了cpu再執行下乙個指令週期 注意並不是掛起 與掛起的區別是cpu並不需要儲存上下文不需要恢復中斷 這樣就減少了中斷開銷
cpu用系統匯流排主要是 取指令 解析指令 取運算元 存結果
計算機作業系統
為什麼要有作業系統 計算機系統是乙個複雜的系統,如果每位程式設計師在程式設計時都必須掌握計算機系統的所有細節,就會嚴重影響程式設計師的開發效率 作業系統可以對計算機硬體加以管理和優化使用,為使用者程式提供更好的執行環境。作業系統以及其位置 作業系統組成 作業系統功能 應用程式直接與作業系統及其抽象打...
計算機作業系統
實驗一 熟悉linux作業系統 程序觀測 實驗目的 1 了解在linux作業系統中程序的特點和表現形式 2 掌握linux檢視程序的方式與方法 3 在乙個程序中建立另乙個程序的方法 4 掌握父程序和子程序的關係和fork的用法 實驗內容 1 編寫乙個簡單的程式,使用ps或top工具觀察該程序的的id...
計算機作業系統
1 單選題 作業系統的主要功能是管理計算機系統中的 選項 a 程式和資料 b 資源 c 作業 d 程序 答案 資源 2 單選題 關於多道批處理作業系統,以下說法錯誤的是 選項 a 可提高系統資源的利用率 b 可提高計算機系統的工作效率 c 可提高系統吞吐量 d 在作業執行時使用者可以直接干預作業的執...