作業系統裝置管理

浪漫攻城獅莉小妖發表於2020-10-27

作業系統裝置管理

概念

分類

按互動物件分類
互動方向

輸入

輸出

外設特性

資訊組織特徵:字元裝置,塊裝置,網路裝置

使用特徵

資訊傳輸率

主要功能

裝置分配

裝置分配程式按照一定策略,位申請裝置的程式分配裝置,記錄裝置使用請況

裝置對映

物理裝置:物理名:ID或字串,實際安裝的裝置

邏輯裝置:邏輯名:友好名,軟體的裝置

裝置對映功能:邏輯裝置對映到物理裝置

裝置獨立性:使用者使用邏輯名,物理裝置對使用者透明,看不到

裝置驅動

對物理裝置驅動

接收應用服務請求,轉換為具體的I/O指令

向使用者提供統一介面

特點:與硬體相關,每類裝置特點程式,與作業系統有關,介面有要求

Spooling系統

裝置分配

獨佔型裝置

包含所有的字元型裝置

任意時間段只能被一個程式佔用

向系統申請

釋放裝置

共享型裝置

包含所有塊裝置

可以被多個程式同時佔用

程式交替使用

不需要申請或釋放裝置

虛擬分配

在一類物理裝置上模擬另一類物理裝置的技術

藉助輔存部分割槽域模擬獨佔裝置,轉化為共享裝置

輸入井:模擬輸入裝置

輸出井:模擬輸出裝置

虛擬技術將獨佔裝置對應的虛擬裝置分配給它

Spooling系統:虛擬技術,虛擬分配

外部裝置同時聯機操作(假離線輸入輸出)

輸入監控程式:將使用者要求的資料從輸入裝置通過輸入緩衝區再傳送輸入井,當使用者程式需要資料時,直接從輸入井讀入所需資料,輸出監控程式

輸入緩衝區,輸出緩衝區

任務執行前:預先將程式和資料輸入到輸入井中

任務執行時:使用資料時,從輸入井中取出

任務執行時:輸出資料時,把資料寫入輸出井

任務執行完:外設空閒時輸出全部資料和資訊

提高I/O效率

將獨佔裝置改造為共享裝置

實現了虛擬裝置功能

I/O硬體原理

典型裝置、網路和匯流排的資料率

裝置控制器

I/O裝置組成:機械+電子部分

序列位流轉換成位元組塊

儘可能糾錯

與主存讀寫操作

記憶體對映

單獨的I/O和記憶體空間

記憶體對映

混合方案

單匯流排體系結構

雙匯流排記憶體體系結構:CPU和記憶體高速訪問

I/O資料傳輸方式

程式控制I/O

小型嵌入式系統

程式控制輸入輸出

中斷驅動I/O

CPU發出I/O命令,控制器具體執行

CPU執行其它指令

控制器完成後,向CPU發出中斷訊號

DMA(直接儲存器)

DMA控制器控制資料在記憶體和外存裝置間的傳輸,CPU在所有資料傳輸結束後進行中斷干預

通道控制方式

裝置與中斷控制器之間的連線實際上使用的是匯流排上的中斷線

I/O軟體原理

I/O軟體層次:使用者級I/O軟體,與裝置無關的作業系統軟體,裝置驅動程式,中斷處理程式

目標

裝置獨立性:程式能夠訪問任意裝置

統一命名:名字是簡單的字串或整數

錯誤處理:儘量在接近硬體層面得到處理

中斷處理程式

隱藏在作業系統內部

硬體中段完成後軟體中斷執行步驟

保護現場(儲存暫存器),為將要執行的中斷服務程式配置現場資訊,上下文,設定堆疊,釋放中斷控制器,執行中斷服務程式,善後

裝置驅動程式

驅動程式和裝置控制器之間通訊都通過匯流排

與裝置無關的I/O軟體

裝置驅動程式的統一介面

緩衝

錯誤報告

分配和釋放專用裝置

提供與裝置無關的塊大小

緩衝

無緩衝的輸入:嵌入式系統

使用者空間中的緩衝

核心空間中的緩衝接著複製到使用者空間

核心空間中的雙緩衝

迴圈緩衝

緩衝池:雙方向緩衝技術

錯誤報告、分配和釋放專用裝置

與裝置無關的塊大小

使用者空間的I/O軟體

七層分層結構

磁頭臂排程演算法

磁碟劃分

RAID:磁碟冗餘陣列,大容量的磁碟

0到2級。無冗餘,映象,冗餘盤上存放的是海明校驗碼

3:放在頭部,4:放在頭部,最後奇偶驅動器。5:奇偶校驗碼放在每個驅動器中

磁碟格式化:前導碼,資料,校驗區

柱面斜進

無交錯,單交錯,雙交錯

讀寫一個磁碟塊的時間:尋道時間,旋轉延遲,實際資料傳輸時間

先來先服務

I/O負載較輕,每次讀寫多個連續扇區

後進先出

系統負載重時,有的程式永遠不能執行

掃描演算法(電梯演算法)

選擇最少,從下往上走,沒有前進方向的請求時改變方向

迴圈掃描

嚴格按照一個方向

錯誤處理

用備用扇區替換壞扇區,移動所有扇區迴避壞扇區

時鐘

可程式設計時鐘

時鐘軟體主要功能

維護日期時間

防止程式超市執行

記賬CPU、、、

維護日時間

時鐘滴答為單位

以秒為單位

單個時鐘模擬多個定時器

軟定時器

引發定時中斷的輔助可程式設計時鐘

Linux模組機制

Linux核心模組

解決單體核心機制的不足

編譯模組

安裝模組,刪除模組

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Tea2ZGgV-1603783348577)(C:\Users\Darlene\AppData\Roaming\Typora\typora-user-images\image-20200522090141714.png)]

Linux驅動程式

LDD程式結構

應用程式通過驅動程式控制裝置

驅動程式工作在核心態,應用程式工作在使用者態

Linux裝置的分類

字元裝置

塊裝置

網路裝置

裝置檔案:用檔案介面完成裝置的操作

用檔案介面來完成裝置的操作

字元裝置和塊裝置通過裝置檔案訪問

主裝置號

表示該裝置種類,標識驅動程式

次裝置號

標識同一裝置驅動程式的不同硬體裝置

驅動程式必須具有的四個功能: 裝置的註冊和登出,開啟,釋放

檔案操作結構體

[外鏈圖片轉存中…(img-Tea2ZGgV-1603783348577)]

Linux驅動程式

LDD程式結構

應用程式通過驅動程式控制裝置

驅動程式工作在核心態,應用程式工作在使用者態

Linux裝置的分類

字元裝置

塊裝置

網路裝置

裝置檔案:用檔案介面完成裝置的操作

用檔案介面來完成裝置的操作

字元裝置和塊裝置通過裝置檔案訪問

主裝置號

表示該裝置種類,標識驅動程式

次裝置號

標識同一裝置驅動程式的不同硬體裝置

驅動程式必須具有的四個功能: 裝置的註冊和登出,開啟,釋放

檔案操作結構體

相關文章