【操作系统】设备管理
生活随笔
收集整理的這篇文章主要介紹了
【操作系统】设备管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
I/O設備的基本概念和分類
I/O控制器
- 一個I/O控制器可能會對應多個設備;
- 數據寄存器、控制寄存器、狀態寄存器可能有多個(如:每個控制/狀態寄存器對應一個具體的設備),且這些寄存器都要有相應的地址,才能方便CPU操作。
- 有的計算機會讓這些寄存器占用內存地址的一部分,稱為內存映像I/O;另一些計算機則采用I/O專用地址,即寄存器獨立編址。
🌟I/O控制方式🌟
用什么樣的方式來控制I/O設備的數據讀/寫
I/O軟件層次結構
- 理解并記住I/O軟件各個層次之間的順序,要能夠推理判斷某個處理應該是在哪個層次完成的,最常考的是設備獨立性軟件、設備驅動程序這兩層
- 只需理解一個特點即可:直接涉及到硬件具體細節、且與中斷無關的操作肯定是在設備驅動程序層完成的;沒有涉及硬件的、對各種設備都需要進行的管理工作都是在設備獨立性軟件層完成的
- 設備獨立性軟件 = 設備無關性軟件
I/O應用程序接口 & 設備驅動程序接口
- 阻塞I/O:應用程序發出I/O系統調用,進程需轉為阻塞態等待。
- eg:字符設備接口——從鍵盤讀一個字符 get,如C語言中的scanf函數。
- 非阻塞I/O:應用程序發出I/O系統調用,系統調用可迅速返回,進程無需阻塞等待。
- eg:塊設備接口——往磁盤寫數據 write
- 設備驅動程序接口:操作系統規定好設備驅動程序的接口標準,各廠商必須按要求開發設備驅動程序,形成統一標準的設備驅動程序接口
- 不同的操作系統,對設備驅動程序接口的標準各不相同。設備廠商必須根據操作系統的接口要求,開發相應的設備驅動程序,設備才能被使用
I/O核心子系統
- 操作系統需要實現文件保護功能,不同的用戶對各個文件有不同的訪問權限(如:只讀、讀和寫等)。
- 在UNIX系統中,設備被看做是一種特殊的文件,每個設備也會有對應的FCB。當用戶請求訪問某個設備時,系統根據FCB中記錄的信息來判斷該用戶是否有相應的訪問權限,以此實現“設備保護”的功能。
假脫機技術(SPOOLing技術)
- 雖然系統中只有一個臺打印機,但每個進程提出打印請求時,系統都會為在輸出井中為其分配一個存儲區(相當于分配了一個邏輯設備),使每個用戶進程都覺得自己在獨占一臺打印機,從而實現對打印機的共享。
- SPOOLing 技術可以把一臺物理設備虛擬成邏輯上的多臺設備,可將獨占式設備改造成共享設備。
設備的分配與回收
設備的 固有屬性 可分為三種:獨占設備、共享設備、虛擬設備。- 靜態分配:進程運行前為其分配全部所需資源,運行結束后歸還資源破壞了“請求和保持”條件,不會發生死鎖
- 動態分配:進程運行過程中動態申請設備資源
緩沖區管理
💜單緩沖
結論:采用單緩沖策略,處理一塊數據平均耗時 Max(C, T)+M
💖雙緩沖
結論:采用雙緩沖策略,處理一個數據塊的平均耗時為 Max (T, C+M)
- 若兩個相互通信的機器設置雙緩沖區,則同一時刻可以實現雙向的數據傳輸
- 注:管道通信中的“管道”其實就是緩沖區。要實現數據的雙向傳輸,必須設置兩個管道
💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩
總結
以上是生活随笔為你收集整理的【操作系统】设备管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现qq邮箱发送附件和图片
- 下一篇: C51单片机播放音乐《起风了》