設(shè)備管理是操作系統(tǒng)的核心功能之一,它負(fù)責(zé)管理計(jì)算機(jī)系統(tǒng)中所有的輸入/輸出(I/O)設(shè)備。本章將結(jié)合王道考研的知識(shí)要點(diǎn),并嘗試以“數(shù)理教學(xué)器材”作為類比,幫助理解抽象的設(shè)備管理概念。
一、設(shè)備管理概述
設(shè)備管理的目標(biāo)是提高I/O設(shè)備的利用率,方便用戶使用,并確保設(shè)備高效、公平、安全地運(yùn)行。主要功能包括:設(shè)備的分配與回收、緩沖管理、設(shè)備驅(qū)動(dòng)、設(shè)備獨(dú)立性(即邏輯設(shè)備與物理設(shè)備的映射)以及虛擬設(shè)備技術(shù)(如SPOOLing)。
數(shù)理器材類比:想象一個(gè)大型的數(shù)學(xué)或物理實(shí)驗(yàn)室。設(shè)備管理就如同實(shí)驗(yàn)室管理員。管理員需要:
1. 登記與分配:知道實(shí)驗(yàn)室里有哪些器材(如示波器、天平、信號(hào)發(fā)生器),當(dāng)學(xué)生或老師(進(jìn)程)需要時(shí)進(jìn)行分配。
2. 統(tǒng)一接口:無(wú)論使用哪個(gè)品牌的天平(不同物理設(shè)備),學(xué)生都通過(guò)相同的步驟(稱重、讀數(shù))來(lái)使用,這體現(xiàn)了“設(shè)備獨(dú)立性”。
3. 提高效率:管理員可能會(huì)準(zhǔn)備一些常用的耗材(緩沖),避免頻繁領(lǐng)取;或者將打印任務(wù)集中排隊(duì)處理(SPOOLing),而不是讓每個(gè)人都獨(dú)占打印機(jī)。
二、I/O控制方式
這是考研重點(diǎn),主要分為四種,其核心區(qū)別在于CPU介入I/O過(guò)程的程度。
1. 程序直接控制方式(輪詢):CPU全程參與,不斷查詢?cè)O(shè)備狀態(tài),效率極低。
類比:學(xué)生(CPU)一直站在天平旁,手動(dòng)調(diào)整、讀數(shù)、記錄,完全不能做其他事。
2. 中斷驅(qū)動(dòng)方式:設(shè)備完成工作后主動(dòng)“打斷”CPU,CPU在I/O期間可以處理其他任務(wù),效率提升。
類比:學(xué)生設(shè)置好天平參數(shù)后去自習(xí),天平稱量完畢發(fā)出蜂鳴(中斷),學(xué)生再回來(lái)讀取結(jié)果。
3. DMA方式:在設(shè)備和內(nèi)存之間開(kāi)辟直接數(shù)據(jù)通道,僅傳輸開(kāi)始和結(jié)束時(shí)需要CPU干預(yù),大批量數(shù)據(jù)傳輸效率高。
類比:實(shí)驗(yàn)室配備了一位實(shí)驗(yàn)員(DMA控制器)。學(xué)生(CPU)只需告訴實(shí)驗(yàn)員:“把這一箱砝碼(數(shù)據(jù)塊)從A柜移到B柜”,實(shí)驗(yàn)員獨(dú)立完成搬運(yùn),搬完后報(bào)告學(xué)生即可。
4. 通道方式:可視為功能更強(qiáng)的DMA,能執(zhí)行通道程序,管理多臺(tái)設(shè)備。
類比:實(shí)驗(yàn)員升級(jí)為高級(jí)管理員(通道),可以按照一個(gè)任務(wù)清單(通道程序),順序完成“取儀器A、調(diào)試、記錄數(shù)據(jù)、歸還儀器B”等一系列復(fù)雜操作。
三、緩沖管理
引入緩沖區(qū)的目的是緩和CPU與I/O設(shè)備速度不匹配的矛盾,減少中斷頻率,提高并行性。主要技術(shù)有單緩沖、雙緩沖、循環(huán)緩沖和緩沖池。
類比:在物理實(shí)驗(yàn)數(shù)據(jù)采集時(shí),我們不會(huì)每采集一個(gè)數(shù)據(jù)點(diǎn)就立刻記錄到最終報(bào)告(內(nèi)存)中,而是先記錄在草稿紙(緩沖區(qū))上,積攢一定量或一次實(shí)驗(yàn)結(jié)束后再統(tǒng)一謄寫(xiě)。雙緩沖就像準(zhǔn)備了兩張草稿紙,一張?jiān)谟涗洉r(shí),另一張可以同時(shí)被謄寫(xiě),實(shí)現(xiàn)“讀”與“寫(xiě)”的并行。
四、設(shè)備分配與回收
操作系統(tǒng)通過(guò)設(shè)備控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)和系統(tǒng)設(shè)備表(SDT)來(lái)記錄設(shè)備狀態(tài)和歸屬。分配策略分為獨(dú)占分配、共享分配和虛擬分配。
類比:實(shí)驗(yàn)室的器材借用系統(tǒng)。
- 獨(dú)占設(shè)備:如一臺(tái)高精度示波器(獨(dú)占設(shè)備),一次只能借給一個(gè)課題組(進(jìn)程),用完后必須歸還(回收)才能借給下一個(gè)。
- 共享設(shè)備:如公共計(jì)算服務(wù)器(磁盤),可以同時(shí)為多個(gè)用戶服務(wù)。
- 虛擬設(shè)備:通過(guò)SPOOLing技術(shù),將一臺(tái)物理打印機(jī)虛擬為多臺(tái)“邏輯打印機(jī)”。就像只有一個(gè)投稿箱(打印機(jī)),但管理員(SPOOLing系統(tǒng))為每個(gè)老師準(zhǔn)備了一個(gè)文件籃(磁盤輸出井)。老師把打印作業(yè)放到自己的文件籃即認(rèn)為完成,由管理員后續(xù)從各文件籃中依次取出,投進(jìn)投稿箱打印,從而讓老師們感覺(jué)都有自己的專用打印機(jī)。
五、設(shè)備驅(qū)動(dòng)程序與I/O軟件層次
設(shè)備驅(qū)動(dòng)程序是直接與硬件打交道的軟件模塊,向上提供統(tǒng)一的接口。I/O軟件通常呈層次結(jié)構(gòu):用戶層I/O軟件 -> 設(shè)備獨(dú)立性軟件 -> 設(shè)備驅(qū)動(dòng)程序 -> 中斷處理程序 -> 硬件。
類比:使用一套復(fù)雜的數(shù)學(xué)教學(xué)儀器(如幾何畫(huà)板軟件驅(qū)動(dòng)繪圖儀)。
- 用戶(教師):發(fā)出指令“畫(huà)一個(gè)拋物線”。
- 設(shè)備獨(dú)立性軟件:將此通用指令翻譯成“一系列線段和坐標(biāo)點(diǎn)”。
- 設(shè)備驅(qū)動(dòng)程序:將這些坐標(biāo)點(diǎn)翻譯成繪圖儀特有的控制命令,如“筆移動(dòng)到(0,0),落筆,移動(dòng)到(1,1)…”。
- 中斷處理程序:處理繪圖儀發(fā)出的“筆已到位”、“缺紙”等信號(hào)。
- 硬件:繪圖儀機(jī)械臂執(zhí)行動(dòng)作。
本章小結(jié)(王道考研要點(diǎn))
- 重點(diǎn)掌握:四種I/O控制方式的流程、優(yōu)缺點(diǎn)對(duì)比;DMA工作流程;緩沖技術(shù)的作用;SPOOLing技術(shù)原理與組成。
- 理解記憶:設(shè)備管理目標(biāo)、功能;設(shè)備分配的數(shù)據(jù)結(jié)構(gòu);設(shè)備驅(qū)動(dòng)程序的作用;I/O軟件層次。
- 綜合應(yīng)用:能夠分析具體場(chǎng)景下應(yīng)采用的I/O控制方式或緩沖策略,理解如何通過(guò)設(shè)備管理技術(shù)提升系統(tǒng)整體性能。
通過(guò)將抽象的計(jì)算機(jī)設(shè)備(打印機(jī)、磁盤)與具體的數(shù)理教學(xué)器材(天平、示波器、繪圖儀)進(jìn)行類比,可以更直觀地把握設(shè)備管理中“管理”、“控制”、“緩沖”、“虛擬化”等核心思想,為考研復(fù)習(xí)與實(shí)踐應(yīng)用打下堅(jiān)實(shí)基礎(chǔ)。