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