版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第五章 設(shè) 備 管 理 第8章 設(shè)備管理8.1 引言8.2 數(shù)據(jù)傳送控制方式8.3 中斷技術(shù)8.4 緩沖技術(shù)8.5 設(shè)備分配8.6 I/O進(jìn)程控制8.7 設(shè)備驅(qū)動(dòng)程序第五章 設(shè) 備 管 理 n 文件系統(tǒng)的主要功能有哪些?n 邏輯文件發(fā)能為幾類?n 物理文件有幾類??jī)?yōu)缺點(diǎn)?n 成組塊鏈的分配過程(示意圖)?n 磁盤結(jié)構(gòu)中的物理塊通常使用哪些參數(shù)描述? n 根據(jù)磁盤結(jié)構(gòu)特點(diǎn),如何訪問磁盤速率較高?思考題第五章 設(shè) 備 管 理 n I/O設(shè)備的特點(diǎn) 1)I/O性能經(jīng)常成為系統(tǒng)性能的瓶頸l CPU性能不等于系統(tǒng)性能; 響應(yīng)時(shí)間也是一個(gè)重要因素l CPU性能越高,與I/O差距越大;彌補(bǔ):多進(jìn)程并發(fā)執(zhí)行l(wèi)
2、 進(jìn)程切換多,系統(tǒng)開銷大; 2)OS中設(shè)備資源多、雜,并發(fā)性受I/O影響大l 外設(shè)種類繁多,結(jié)構(gòu)各異;l 輸入輸出數(shù)據(jù)信號(hào)類型不同;l 速度差異很大;8.1 引 言第五章 設(shè) 備 管 理 n I/O設(shè)備的特點(diǎn) 3)理解I/O的工作過程與結(jié)構(gòu)是理解操作系統(tǒng)的工作過程與結(jié)構(gòu)的關(guān)鍵。 4)與其他功能聯(lián)系密切,特別是文件系統(tǒng)8.1 引 言第五章 設(shè) 備 管 理 n 設(shè)備分類 1)按使用特性分: 存儲(chǔ)型設(shè)備 輸入型設(shè)備(外設(shè)主機(jī)) 輸出型設(shè)備(主機(jī)外設(shè)) 輸入輸出型設(shè)備(交互型設(shè)備) 2)按數(shù)據(jù)組織分 塊設(shè)備:以數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息,如磁盤、磁帶等; 字符設(shè)備:以字符為單位存儲(chǔ)、傳輸信息,鍵盤、終
3、端、打印機(jī);8.1 引 言第五章 設(shè) 備 管 理 n 設(shè)備分類 3)按資源分配角度分l 獨(dú)占設(shè)備 在一段時(shí)間內(nèi)只能有一個(gè)進(jìn)程使用的設(shè)備,一般為低速I/O設(shè)備(如打印機(jī),磁帶等);l 共享設(shè)備 在一段時(shí)間內(nèi)可有多個(gè)進(jìn)程共同使用的設(shè)備,多個(gè)進(jìn)程以交叉的方式來(lái)使用設(shè)備,其資源利用率高(如硬盤);8.1 引 言第五章 設(shè) 備 管 理 n 設(shè)備分類 4)按設(shè)備的從屬關(guān)系l 系統(tǒng)設(shè)備 系統(tǒng)設(shè)備是指那些在操作系統(tǒng)生成時(shí)就已配置好的各種標(biāo)準(zhǔn)設(shè)備。例如:鍵盤、打印機(jī)以及文件存儲(chǔ)設(shè)備等。l 用戶設(shè)備 用戶設(shè)備則是那些在系統(tǒng)生成時(shí)沒有配置,而由用戶自己安裝配置后由操作系統(tǒng)統(tǒng)一管理的設(shè)備。例如,網(wǎng)絡(luò)系統(tǒng)中的各種網(wǎng)板、
4、圖像處理系統(tǒng)的圖像設(shè)備等。8.1 引 言第五章 設(shè) 備 管 理 n 設(shè)備分類 4)從程序使用角度分 邏輯設(shè)備、物理設(shè)備 5)按數(shù)據(jù)傳輸率分 高速設(shè)備、低速設(shè)備8.1 引 言第五章 設(shè) 備 管 理 8.1 引 言第五章 設(shè) 備 管 理 n 設(shè)備管理的功能和任務(wù)(1) 選擇和分配設(shè)備;(2)控制設(shè)備和CPU(或內(nèi)存)之間交換數(shù)據(jù);(3)為用戶提供友好的透明接口,便于用戶使用;(4)保證在多道程序環(huán)境下,當(dāng)多個(gè)進(jìn)程競(jìng)爭(zhēng)使用設(shè)備時(shí),按一定策略分配和管理各種設(shè)備,使系統(tǒng)能有條不紊的工作。(5)保護(hù) 設(shè)備傳送或管理的數(shù)據(jù)應(yīng)該是安全的、不被破壞的、保密的8.1 引 言第五章 設(shè) 備 管 理 設(shè)備管理的主要任
5、務(wù)之一是控制設(shè)備和內(nèi)存或CPU之間的數(shù)據(jù)傳送。 選擇和衡量控制方式有如下幾條原則: (1) 數(shù)據(jù)傳送速度足夠高; (2) 系統(tǒng)開銷小,所需的處理控制程序少; (3) 能充分發(fā)揮硬件資源的能力,使得I/O設(shè)備盡量忙,而CPU等待時(shí)間少。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 外圍設(shè)備和內(nèi)存之間的常用數(shù)據(jù)傳送控制方式有4種。即: (1) 程序直接控制方式; (2) 中斷控制方式; (3) DMA方式; (4) 通道方式。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l 程序直接控制方式 由用戶進(jìn)程來(lái)直接控制內(nèi)存或CPU和外圍設(shè)備之間的信息傳送。這種方式的控制者是用戶進(jìn)程。 當(dāng)用戶進(jìn)程需要傳輸數(shù)據(jù)
6、時(shí),它通過CPU發(fā)出啟動(dòng)設(shè)備命令,然后,用戶進(jìn)程進(jìn)入測(cè)試等待狀態(tài),直到相應(yīng)設(shè)備空閑,且準(zhǔn)備好,即開始傳輸數(shù)據(jù)。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 第五章 設(shè) 備 管 理 l 程序直接控制方式 優(yōu)點(diǎn):控制簡(jiǎn)單,不需要多少硬件支持; 缺點(diǎn): (1)CPU和外圍設(shè)備串行工作,CPU利用率低; (2)CPU只能和一臺(tái)外圍設(shè)備交換數(shù)據(jù)信息,從而不能實(shí)現(xiàn)設(shè)備之間的并行工作;(3)由于程序直接控制方式依靠測(cè)試設(shè)備標(biāo)志觸發(fā)器的狀態(tài)位來(lái)控制數(shù)據(jù)傳送,因此無(wú)法發(fā)現(xiàn)和處理由于設(shè)備或其他硬件所產(chǎn)生的錯(cuò)誤。 因此,該方式只適用于CPU速度慢,外圍設(shè)備較少的系統(tǒng)。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l中斷
7、方式 為了減少程序直接控制方式中CPU等待時(shí)間以及提高系統(tǒng)的并行工作程度,中斷(interrupt)方式被用來(lái)控制外圍設(shè)備和內(nèi)存與CPU之間的數(shù)據(jù)傳送。 這種方式要求CPU與設(shè)備(或控制器)之間有相應(yīng)的中斷請(qǐng)求線,且在設(shè)備控制器的控制狀態(tài)寄存器中保存中斷允許位。 數(shù)據(jù)的輸入步驟: (1) 進(jìn)程通過CPU發(fā)出啟動(dòng)外圍設(shè)備準(zhǔn)備數(shù)據(jù)指令,同時(shí)將中斷允許位置1,以便在需要時(shí),中斷程序可以被調(diào)用執(zhí)行。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l中斷方式 (2) 在進(jìn)程發(fā)出指令啟動(dòng)設(shè)備之后,該進(jìn)程放棄處理機(jī),等待輸入完成。 (3) 當(dāng)輸入完成時(shí),I/O控制器通
8、過中斷請(qǐng)求線向CPU發(fā)出中斷信號(hào)。CPU在接收到中斷信號(hào)之后,轉(zhuǎn)向中斷處理程序?qū)?shù)據(jù)進(jìn)行處理。 (4) 進(jìn)程調(diào)度選中該進(jìn)程后,該進(jìn)程即從約定的內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作。 中斷控制方式的處理過程:8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l中斷方式優(yōu)點(diǎn):中斷方式支持多道程序和設(shè)備的并行操作,提高CPU利用率缺點(diǎn):(1)中斷發(fā)生在I/O設(shè)備數(shù)據(jù)緩沖器裝滿數(shù)據(jù)時(shí),而數(shù)據(jù)緩沖器通常較小,因此,一次數(shù)據(jù)傳送發(fā)生中斷次數(shù)較多,將耗去大量CPU處理時(shí)間。 (2)如果很多設(shè)備通過中斷處理方式進(jìn)行并行操作,則OS可能由于中斷次數(shù)急劇增加而造成CPU無(wú)法響應(yīng)中斷
9、和出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。(3)如果外圍設(shè)備速度較高,可能造成數(shù)據(jù)緩沖器的數(shù)據(jù)由于CPU來(lái)不及取走而丟失。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l DMA(Direct Memory Access) 又稱直接存取方式?;舅枷胧窃谕鈬O(shè)備和內(nèi)存之間開辟直接的數(shù)據(jù)交換通路。 在DMA方式中,I/O控制器具有比中斷方式和程序直接控制方式時(shí)更強(qiáng)的功能。 DMA方式采用竊取或挪用系統(tǒng)的總線控制權(quán)把數(shù)據(jù)直接送到內(nèi)存。 即,DMA控制器可用來(lái)代替CPU控制內(nèi)存和設(shè)備之間進(jìn)行成批的數(shù)據(jù)交換。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 lDMA方式 DMA方式除了在數(shù)據(jù)塊傳送開始時(shí)需要CPU的啟動(dòng)指令和在整個(gè)
10、數(shù)據(jù)塊傳送結(jié)束時(shí)需發(fā)中斷通知CPU進(jìn)行中斷處理之外,不再像中斷控制方式時(shí)那樣需要CPU的頻繁干涉。DMA方式的數(shù)據(jù)輸入處理過程如下: (1) 當(dāng)進(jìn)程輸入數(shù)據(jù)時(shí),CPU把內(nèi)存始址和要傳送的字節(jié)數(shù)送入DMA控制器;中斷允許位和啟動(dòng)位置1; 從而啟動(dòng)設(shè)備開始進(jìn)行數(shù)據(jù)輸入。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 圖8.5 DMA方式的傳送結(jié)構(gòu)8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l DMA方式 (2) 發(fā)出數(shù)據(jù)要求的進(jìn)程進(jìn)入等待狀態(tài),進(jìn)程調(diào)度程序調(diào)度其他進(jìn)程占據(jù)CPU。 (3) 輸入設(shè)備不斷地挪用CPU工作周期,直到所要求的字節(jié)全部傳送完畢。 (4) DMA控制器在傳送字節(jié)數(shù)完成時(shí)通過中斷請(qǐng)
11、求線發(fā)出中斷信號(hào),CPU在接收到中斷信號(hào)后轉(zhuǎn)中斷處理程序進(jìn)行善后處理。 (5) 中斷處理結(jié)束時(shí),CPU返回被中斷進(jìn)程處執(zhí)行或被調(diào)度到新的進(jìn)程上下文環(huán)境中執(zhí)行。DMA方式的處理過程如圖8.6所示。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l DMA方式 DMA方式與中斷方式的主要區(qū)別: (1)中斷方式時(shí)是在數(shù)據(jù)緩沖寄存器滿之后發(fā)中斷要求CPU進(jìn)行中斷處理,而DMA方式則是在所要求轉(zhuǎn)送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求CPU進(jìn)行中斷處理。減少了CPU進(jìn)行中斷處理的次數(shù)。(2)中斷方式的數(shù)據(jù)傳送由CPU控制完成,而DMA方式是在DMA控制器的控制下完成的。這就排
12、除了因并行操作設(shè)備過多時(shí)CPU來(lái)不及處理或因速度不匹配而造成數(shù)據(jù)丟失等現(xiàn)象。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l DMA方式優(yōu)點(diǎn):減少了中斷次數(shù),DMA控制器與CPU并行,避免了設(shè)備緩沖器中的數(shù)據(jù)丟失問題;缺點(diǎn):(1)DMA方式對(duì)外圍設(shè)備的管理和某些操作仍由CPU控制。(2)功能較差,不能滿足復(fù)雜的IO 要求。 因此,大中型計(jì)算機(jī)系統(tǒng)中除了設(shè)置DMA器件,還設(shè)置專門的硬件裝置通道。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l 通道控制方式 通道又稱輸入輸出處理器,它能完成主存儲(chǔ)器和外圍設(shè)備之間的信息傳送,與中央處理器并行地執(zhí)行操作。 此外,外圍設(shè)備和中央處理器能實(shí)現(xiàn)并行操作;通道和
13、通道之間能實(shí)現(xiàn)并行操作;各通道上的外圍設(shè)備也能實(shí)現(xiàn)并行操作,以達(dá)到提高整個(gè)系統(tǒng)效率這一根本目的。(優(yōu)點(diǎn))8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l 通道控制方式 具有通道裝置計(jì)算機(jī)的主機(jī)、通道、控制器和設(shè)備之間采用四級(jí)連接,實(shí)施三級(jí)控制。通常,一個(gè)中央處理器可以連接若干通道,一個(gè)通道可以連接若干控制器,一個(gè)控制器可以連接若干臺(tái)設(shè)備。 中央處理器執(zhí)行輸入輸出指令對(duì)通道實(shí)施控制,通道執(zhí)行通道命令(CCW)對(duì)控制器實(shí)施控制,控制器發(fā)出動(dòng)作序列對(duì)設(shè)備實(shí)施控制,設(shè)備執(zhí)行相應(yīng)的輸入輸出操作。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l 通道控制方式n 輸入輸出過程如下:(1)CPU遇到IO請(qǐng)求,啟動(dòng)
14、指定通道上的外設(shè);(2)通道啟動(dòng)成功,通道進(jìn)行IO操作;(3)此時(shí),CPU與通道并行工作;(4)IO結(jié)束,通道發(fā)出中斷請(qǐng)求;(5)CPU響應(yīng)請(qǐng)求,處理IO操作結(jié)束事件。(6)中斷處理結(jié)束后,CPU調(diào)度進(jìn)程運(yùn)行。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l 通道控制方式n 通道分類:按照信息交換方式和加接設(shè)備種類不同,通道可分為三種類型:(1)字節(jié)多路通道。連接大量慢速外圍設(shè)備,如軟盤機(jī)、紙帶機(jī)、卡片機(jī)等。以字節(jié)為單位交叉地為多個(gè)設(shè)備輪流服務(wù)。(2)選擇通道。它用于連接高速磁帶機(jī)和磁盤機(jī)等設(shè)備。選擇通道在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,選擇一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸,傳輸完成后再選擇另一設(shè)備。8.2
15、 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 l 通道控制方式n 通道分類:(3)數(shù)組多路通道。對(duì)于磁盤類似設(shè)備,雖然傳輸時(shí)間短,但移臂定位時(shí)間長(zhǎng)。使用選擇通道在移臂時(shí)間內(nèi),通道只能空等。 數(shù)組多路通道則先為一臺(tái)設(shè)備執(zhí)行一條通道命令,然后再為另一臺(tái)設(shè)備執(zhí)行一條通道命令。 對(duì)于若干臺(tái)磁盤機(jī),可以按次序交叉?zhèn)鬏斠慌畔?,這樣就避免了移臂操作過長(zhǎng)地占用通道。 數(shù)組多路通道的實(shí)質(zhì)是:對(duì)通道程序采用多道程序設(shè)計(jì)技術(shù)的硬件實(shí)現(xiàn)。8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 8.2 數(shù)據(jù)傳送方式第五章 設(shè) 備 管 理 n 中斷的概念 中斷(Interrupt)是指計(jì)算機(jī)在
16、執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPU暫時(shí)中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來(lái)被中斷處繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行的過程。 引起中斷發(fā)生的事件被稱為中斷源。中斷源向CPU發(fā)出的請(qǐng)求中斷處理信號(hào)稱為中斷請(qǐng)求,而CPU收到中斷請(qǐng)求后轉(zhuǎn)相應(yīng)的事件處理程序稱為中斷響應(yīng)。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 系統(tǒng)允許CPU響應(yīng)中斷稱為禁止中斷。禁止中斷也稱為關(guān)中斷,PSW的中斷允許位的設(shè)置也被稱為開中斷。 中斷請(qǐng)求、關(guān)中斷、開中斷等都由硬件實(shí)現(xiàn)。其中開中斷和關(guān)中斷是操作原語(yǔ)。 中斷屏蔽是指在中斷請(qǐng)求產(chǎn)生之后,系統(tǒng)用軟件方式有選擇地封鎖部分
17、中斷而允許其余部分的中斷仍能得到響應(yīng)。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 n 中斷的分類與優(yōu)先級(jí) 操作系統(tǒng)一般對(duì)中斷進(jìn)行分類并對(duì)不同的中斷賦予不同的處理優(yōu)先級(jí),以便在不同的中斷同時(shí)發(fā)生時(shí),按輕重緩急進(jìn)行處理。 根據(jù)中斷源產(chǎn)生的條件,可把中斷分為外中斷和內(nèi)中斷。 外中斷指來(lái)自處理機(jī)和內(nèi)存外部的中斷,包括I/O中斷、外部信號(hào)中斷、時(shí)鐘中斷、調(diào)試中斷等。 外中斷在狹義上一般被稱為中斷。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 n 中斷的分類與優(yōu)先級(jí) 內(nèi)中斷主要指在處理機(jī)和內(nèi)存內(nèi)部產(chǎn)生的中斷。內(nèi)中斷一般稱為陷阱(trap)。 它包括程序運(yùn)算引起的各種錯(cuò)誤,如地址非法、校驗(yàn)錯(cuò)、頁(yè)面失效、存取訪問控制錯(cuò)
18、、算術(shù)操作溢出、數(shù)據(jù)格式非法、除數(shù)為零、非法指令、用戶程序執(zhí)行系統(tǒng)調(diào)用指令、分時(shí)系統(tǒng)中的時(shí)間片中斷以及從用戶態(tài)到核心態(tài)的切換等都是陷阱的例子。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 n 中斷和陷阱的區(qū)別 (1) 陷阱由處理機(jī)正在執(zhí)行的現(xiàn)行指令引起,而中斷則是由與現(xiàn)行指令無(wú)關(guān)的中斷源引起的。 (2) 陷阱處理程序提供的服務(wù)為當(dāng)前進(jìn)程所用,而中斷處理程序的服務(wù)則不是為了當(dāng)前進(jìn)程的。 (3) CPU在執(zhí)行完一條指令之后,下一條指令開始之前響應(yīng)中斷,而在一條指令執(zhí)行中也可以響應(yīng)陷阱。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 n 軟中斷 中斷和陷阱都可以看作是硬中斷,因?yàn)檫@些中斷和陷阱要通過硬件產(chǎn)生相應(yīng)的
19、中斷請(qǐng)求。 軟中斷是通信進(jìn)程之間用來(lái)模擬硬中斷的一種信號(hào)通信方式。 相同:其中斷源發(fā)中斷請(qǐng)求或軟中斷信號(hào)后,CPU或接收進(jìn)程在適當(dāng)?shù)臅r(shí)機(jī)自動(dòng)進(jìn)行中斷處理或完成軟中斷信號(hào)所對(duì)應(yīng)的功能。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 n 中斷處理過程 一旦CPU響應(yīng)中斷,轉(zhuǎn)入中斷處理程序,系統(tǒng)就開始進(jìn)行中斷處理。 (1) CPU檢查響應(yīng)中斷的條件是否滿足: 有中斷請(qǐng)求、CPU允許中斷。 (2) 如果CPU響應(yīng)中斷,則CPU關(guān)中斷,使其進(jìn)入不可再次響應(yīng)中斷的狀態(tài)。 (3) 保存被中斷進(jìn)程現(xiàn)場(chǎng)。必須保存處理機(jī)狀態(tài)字PSW和程序計(jì)數(shù)器PC等的值。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 n 中斷處理過程 (4)
20、分析中斷原因,調(diào)用中斷處理子程序。 (5) 執(zhí)行中斷處理子程序。 (6) 退出中斷,恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)或調(diào)度新進(jìn)程占據(jù)處理機(jī)。 (7) 開中斷,CPU繼續(xù)執(zhí)行。8.3 中斷技術(shù)第五章 設(shè) 備 管 理 n 緩沖的引入(1)匹配外設(shè)與CPU之間的處理速度;(2)減少中斷次數(shù)和CPU的中斷處理時(shí)間;(3)解決DMA或通道方式時(shí)的瓶頸問題; 為此,在設(shè)備管理中引入了用來(lái)暫存數(shù)據(jù)的緩沖技術(shù)。 硬緩沖:在設(shè)備中設(shè)置緩沖區(qū),由硬件實(shí)現(xiàn)。 軟緩沖:在內(nèi)存中開辟一個(gè)空間,用作緩沖區(qū)。8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 n 緩沖的種類 根據(jù)系統(tǒng)設(shè)置的緩沖器的個(gè)數(shù),可把緩沖技術(shù)分為單緩沖、雙緩沖和多緩沖以及緩
21、沖池幾種。 單緩沖是在設(shè)備和處理機(jī)之間設(shè)置一個(gè)緩沖器。設(shè)備和處理機(jī)交換數(shù)據(jù)時(shí),先把被交換數(shù)據(jù)寫入緩沖器,然后,需要數(shù)據(jù)的設(shè)備或處理機(jī)從緩沖器取走數(shù)據(jù)。由于緩沖器屬于臨界資源,即不允許多個(gè)進(jìn)程同時(shí)對(duì)一個(gè)緩沖器操作,因此,設(shè)備和設(shè)備之間不能通過單緩沖達(dá)到并行操作。8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 n 緩沖的種類 解決兩臺(tái)外設(shè)、打印機(jī)和終端之間的并行操作問題的辦法是設(shè)置雙緩沖。 有了兩個(gè)緩沖器之后,CPU可把輸出到打印機(jī)的數(shù)據(jù)放入其中一個(gè)緩沖器(區(qū)),讓打印機(jī)慢慢打印; 然后,它又可以從另一個(gè)為終端設(shè)置的緩沖器(區(qū))中讀取所需要的輸入數(shù)據(jù)。8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 n 緩沖的種類
22、 現(xiàn)代計(jì)算機(jī)系統(tǒng)中一般使用多緩沖或緩沖池結(jié)構(gòu)。多緩沖是把多個(gè)緩沖區(qū)連接起來(lái)組成兩部分,一部分專門用于輸入,另一部分專門用于輸出的緩沖結(jié)構(gòu)。 緩沖池則是把多個(gè)緩沖區(qū)連接起來(lái)統(tǒng)一管理,既可用于輸入又可用于輸出的緩沖結(jié)構(gòu)。 顯然,無(wú)論是多緩沖,還是緩沖池,由于緩沖器是臨界資源,在使用緩沖區(qū)時(shí)都有一個(gè)申請(qǐng)、釋放和互斥的問題。8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 n 緩沖池的結(jié)構(gòu) 緩沖池由多個(gè)緩沖區(qū)組成。而一個(gè)緩沖區(qū)由兩部分組成: 一部分是用來(lái)標(biāo)識(shí)該緩沖器和用于管理的緩沖首部,另一部分是用于存放數(shù)據(jù)的緩沖體。這兩部分有一一對(duì)應(yīng)的映射關(guān)系。 對(duì)緩沖池的管理是通過對(duì)每一個(gè)緩沖器的緩沖首部進(jìn)行操作實(shí)現(xiàn)的。緩
23、沖首部包括設(shè)備號(hào)、設(shè)備上的數(shù)據(jù)塊號(hào)(塊設(shè)備時(shí))、互斥標(biāo)識(shí)位以及緩沖隊(duì)列連接指針和緩沖器號(hào)等。8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 n 緩沖池的結(jié)構(gòu) 系統(tǒng)把各緩沖區(qū)按其使用狀況連成三種隊(duì)列: (1)空白緩沖隊(duì)列em,其隊(duì)首指針為F(em),隊(duì)尾指針為L(zhǎng)(em); (2) 裝滿輸入數(shù)據(jù)的輸入緩沖隊(duì)列in,其隊(duì)首指針為F(in),隊(duì)尾指針為L(zhǎng)(in); (3) 裝滿輸出數(shù)據(jù)的輸出緩沖隊(duì)列out,其隊(duì)首指針為F(out),隊(duì)尾指針為L(zhǎng)(out)。8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 圖8.10 緩沖區(qū)隊(duì)列8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 n 緩沖池的結(jié)構(gòu) 除了三種緩沖隊(duì)列之外,申請(qǐng)并獲得、處
24、于正在使用的緩沖器稱為工作緩沖區(qū)。在緩沖池中,有4種工作緩沖區(qū),即:(1) 用于收容設(shè)備輸入數(shù)據(jù)的收容輸入緩沖區(qū)hin;(2) 用于提取設(shè)備輸入數(shù)據(jù)的提取輸入緩沖區(qū)sin;(3) 用于收容CPU輸出數(shù)據(jù)的收容輸出緩沖區(qū)hout;(4) 用于提取CPU輸出數(shù)據(jù)的提取輸出緩沖區(qū)sout。8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 圖8.11 緩沖池的工作緩沖區(qū)8.4 緩沖技術(shù)第五章 設(shè) 備 管 理 n 概念 當(dāng)某進(jìn)程向系統(tǒng)提出I/O請(qǐng)求時(shí),設(shè)備分配程序按一定策略分配設(shè)備、控制器和通道,形成一條數(shù)據(jù)傳輸通路,以供主機(jī)和設(shè)備間信息交換。8.5 設(shè)備分配第五章 設(shè) 備 管 理 n 設(shè)備獨(dú)立性 通常用戶不指定
25、特定的設(shè)備,而指定邏輯設(shè)備,使得用戶作業(yè)和物理設(shè)備獨(dú)立開來(lái),再通過其他途徑建立邏輯設(shè)備和物理設(shè)備之間的對(duì)應(yīng)關(guān)系,稱設(shè)備的這種特性為“設(shè)備獨(dú)立性”。 優(yōu)點(diǎn):用戶應(yīng)用程序與物理設(shè)備無(wú)關(guān),系統(tǒng)增減或變更物理設(shè)備時(shí)程序不必修改;易于對(duì)付輸入輸出設(shè)備的故障;提高了系統(tǒng)的可靠性,增加了外圍設(shè)備分配的靈活性,能更有效地利用外圍設(shè)備資源,實(shí)現(xiàn)多道程序設(shè)計(jì)技術(shù)。8.5 設(shè)備分配第五章 設(shè) 備 管 理 n 數(shù)據(jù)結(jié)構(gòu)(1)系統(tǒng)設(shè)備表SDT(2)設(shè)備控制塊DCB(設(shè)備控制表DCT)(3)通道控制塊CHCB(通道控制表CHCT)(4)控制器控制塊COCB(控制器控制表COCT)8.5 設(shè)備分配第五章 設(shè) 備 管 理 n
26、 數(shù)據(jù)結(jié)構(gòu) 1、系統(tǒng)設(shè)備表SDT 整個(gè)系統(tǒng)一張表,記錄系統(tǒng)中所有I/O設(shè)備的信息,為每個(gè)物理設(shè)備設(shè)一表項(xiàng)。表目包括: 設(shè)備類型、設(shè)備標(biāo)識(shí)符、進(jìn)程標(biāo)識(shí)符、DCT表指針等。 2、設(shè)備控制表DCT 每個(gè)物理設(shè)備一張表,包括設(shè)備類型、設(shè)備標(biāo)識(shí)符、設(shè)備狀態(tài)、與此設(shè)備相連的COCT、等待隊(duì)列的隊(duì)首和隊(duì)尾指針、I/O程序地址等。 設(shè)備表8.5 設(shè)備分配第五章 設(shè) 備 管 理 n 數(shù)據(jù)結(jié)構(gòu) 3、 控制器表COCT(COntroler Control Table) 每個(gè)控制器一張,它反映I/O控制器的使用狀態(tài)以及和通道的連接情況等。 4、通道控制表CHCT(CHannel Control Table) 每個(gè)通道
27、一張。包括通道標(biāo)識(shí)符、通道忙/閑標(biāo)識(shí)、等待獲得該通道的進(jìn)程等待隊(duì)列的隊(duì)首指針與隊(duì)尾指針等;顯然,一個(gè)進(jìn)程只有獲得了通道、控制器和所需設(shè)備三者之后,才具備了進(jìn)行I/O操作的物理?xiàng)l件。8.5 設(shè)備分配第五章 設(shè) 備 管 理 圖8.12 數(shù)據(jù)結(jié)構(gòu)表8.5 設(shè)備分配第五章 設(shè) 備 管 理 n 設(shè)備分配的原則 設(shè)備分配的總原則是既要充分發(fā)揮設(shè)備的使用效率,盡可能的讓設(shè)備忙,但又要避免由于不合理的分配方法造成進(jìn)程死鎖; 另外還要做到把用戶程序和具體物理設(shè)備隔離開來(lái),即用戶程序面對(duì)的是邏輯設(shè)備,而分配程序?qū)⒃谙到y(tǒng)把邏輯設(shè)備轉(zhuǎn)換成物理設(shè)備之后,再根據(jù)要求的物理設(shè)備號(hào)進(jìn)行分配。8.5 設(shè)備分配第五章 設(shè) 備 管
28、 理 n 設(shè)備分配的原則 靜態(tài)分配方式是在用戶作業(yè)開始執(zhí)行之前,由系統(tǒng)一次分配該作業(yè)所要求的全部設(shè)備、控制器和通道。靜態(tài)分配方式不會(huì)出現(xiàn)死鎖,但設(shè)備的使用效率低。 動(dòng)態(tài)分配在進(jìn)程執(zhí)行過程中通過系統(tǒng)調(diào)用命令向系統(tǒng)提出設(shè)備請(qǐng)求.動(dòng)態(tài)分配方式有利于提高設(shè)備的利用率,但如果分配算法使用不當(dāng),則有可能造成進(jìn)程死鎖。8.5 設(shè)備分配第五章 設(shè) 備 管 理 n 設(shè)備分配策略 與進(jìn)程調(diào)度相似,動(dòng)態(tài)設(shè)備分配也是基于一定的分配策略的。 1) 先請(qǐng)求先分配 系統(tǒng)按提出I/O請(qǐng)求的先后順序,將進(jìn)程發(fā)出的I/O請(qǐng)求命令排成隊(duì)列,其隊(duì)首指向被請(qǐng)求設(shè)備的DCT。當(dāng)該設(shè)備空閑時(shí),系統(tǒng)從該設(shè)備的請(qǐng)求隊(duì)列的隊(duì)首取下一個(gè)I/O請(qǐng)求
29、消息,將設(shè)備分配給發(fā)出這個(gè)請(qǐng)求消息的進(jìn)程。8.5 設(shè)備分配第五章 設(shè) 備 管 理 n 設(shè)備分配策略 2) 優(yōu)先級(jí)高者先分配 進(jìn)程的優(yōu)先級(jí)高,它的I/O請(qǐng)求也優(yōu)先予以滿足。對(duì)于相同優(yōu)先級(jí)的進(jìn)程來(lái)說(shuō),則按先請(qǐng)求先分配策略分配。因此,優(yōu)先級(jí)高者先分配策略把請(qǐng)求某設(shè)備的I/O請(qǐng)求命令按進(jìn)程的優(yōu)先級(jí)組成隊(duì)列,從而保證在該設(shè)備空閑時(shí),系統(tǒng)能從I/O請(qǐng)求隊(duì)列隊(duì)首取下一個(gè)具有最高優(yōu)先級(jí)進(jìn)程發(fā)來(lái)的I/O請(qǐng)求命令,并將設(shè)備分配給發(fā)出該命令的進(jìn)程。8.5 設(shè)備分配第五章 設(shè) 備 管 理 n 設(shè)備驅(qū)動(dòng)程序 設(shè)備驅(qū)動(dòng)程序是驅(qū)動(dòng)物理設(shè)備和DMA控制器或I/O控制器等直接進(jìn)行I/O操作的子程序的集合。 為了對(duì)驅(qū)動(dòng)程序進(jìn)行管
30、理,系統(tǒng)中設(shè)置有設(shè)備開關(guān)表DST。設(shè)備開關(guān)表中給出相應(yīng)設(shè)備的各種操作子程序的入口地址。8.7 設(shè)備驅(qū)動(dòng)程序第五章 設(shè) 備 管 理 n 概念 在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備。目的:將慢速的獨(dú)占設(shè)備改造成多個(gè)用戶可共享的設(shè)備,提高設(shè)備的利用率;(實(shí)例:SPOOLing技術(shù),利用虛設(shè)備技術(shù) 用硬盤模擬輸入輸出設(shè)備)虛設(shè)備第五章 設(shè) 備 管 理 n SPOOLING 的設(shè)計(jì)和實(shí)現(xiàn) 為了存放從輸入設(shè)備輸入的信息以及作業(yè)執(zhí)行的結(jié)果,系統(tǒng)在輔助存儲(chǔ)器上開辟了輸入井和輸出井?!熬笔怯米骶彌_的存儲(chǔ)區(qū)域,采用井的技術(shù)能調(diào)節(jié)供求之間的矛盾,消除人工干預(yù)帶來(lái)的損失。虛設(shè)備第五章 設(shè) 備 管 理 虛設(shè)備第五章 設(shè) 備 管 理 n SPOOLING 的設(shè)計(jì)和實(shí)現(xiàn) 兩個(gè)例子:(1)打印機(jī)spooling 守護(hù)進(jìn)程 對(duì)于打印機(jī),屬于獨(dú)占設(shè)備。系統(tǒng)可創(chuàng)建一個(gè)守護(hù)進(jìn)程(daemon)以及一個(gè)特殊的目錄,稱spooling 打印目錄。 在打印之前,進(jìn)程產(chǎn)生完整的待打印文件并放在spooling 打印目錄下。 當(dāng)打印機(jī)空閑時(shí),守護(hù)進(jìn)程便啟動(dòng),打印待輸出的文
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年高校博士研究生教師職務(wù)聘任合同范本3篇
- 二零二五年度跨境電子商務(wù)代理銷售合同6篇
- 二零二五年空壓機(jī)行業(yè)市場(chǎng)推廣與銷售合同3篇
- 二零二五年度儲(chǔ)煤場(chǎng)煤炭?jī)?chǔ)備與智能物流服務(wù)合同3篇
- 2024版土地貸款反擔(dān)保合同范本3篇
- 二零二五年度特殊環(huán)境搬遷及環(huán)保措施合同3篇
- 二零二五版跨境擔(dān)保居間交易合同細(xì)則2篇
- 展會(huì)國(guó)際物流合同(2篇)
- 二零二五版代駕服務(wù)租賃合同范本(含車輛使用限制條款)2篇
- 二零二五版快遞駕駛員職業(yè)發(fā)展規(guī)劃與聘用合同3篇
- 人教版八年級(jí)上學(xué)期物理期末復(fù)習(xí)(壓軸60題40大考點(diǎn))
- 企業(yè)環(huán)保知識(shí)培訓(xùn)課件
- 2024年度管理評(píng)審報(bào)告
- 暨南大學(xué)《微觀經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 醫(yī)藥銷售合規(guī)培訓(xùn)
- DB51-T 5038-2018 四川省地面工程施工工藝標(biāo)準(zhǔn)
- 三年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案
- GB/T 12723-2024單位產(chǎn)品能源消耗限額編制通則
- 2024年廣東省深圳市中考英語(yǔ)試題含解析
- GB/T 16288-2024塑料制品的標(biāo)志
- 麻風(fēng)病防治知識(shí)課件
評(píng)論
0/150
提交評(píng)論