軟件技術(shù)基礎(chǔ)-OS設(shè)備管理_第1頁(yè)
軟件技術(shù)基礎(chǔ)-OS設(shè)備管理_第2頁(yè)
軟件技術(shù)基礎(chǔ)-OS設(shè)備管理_第3頁(yè)
軟件技術(shù)基礎(chǔ)-OS設(shè)備管理_第4頁(yè)
軟件技術(shù)基礎(chǔ)-OS設(shè)備管理_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2.5 設(shè)設(shè) 備備 管管 理理 2.5 設(shè)設(shè) 備備 管管 理理 設(shè)備管理是操作系統(tǒng)最基本、最繁雜的組成部分。設(shè)備管理是操作系統(tǒng)最基本、最繁雜的組成部分。 且與硬件的關(guān)系最密切。且與硬件的關(guān)系最密切。 2.5.1 設(shè)備管理概述設(shè)備管理概述 外設(shè)外設(shè)按功能分為兩類按功能分為兩類 I/O設(shè)備設(shè)備 存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備 I/O設(shè)備設(shè)備 輸入設(shè)備輸入設(shè)備 模擬信號(hào)模擬信號(hào) 數(shù)字信號(hào)(數(shù)字信號(hào)(A/D轉(zhuǎn)換)轉(zhuǎn)換) 輸出設(shè)備輸出設(shè)備 數(shù)字信號(hào)數(shù)字信號(hào) 模擬信號(hào)(模擬信號(hào)(D/A轉(zhuǎn)換)轉(zhuǎn)換) 一、一、I/OI/O設(shè)備及分類設(shè)備及分類 存儲(chǔ)設(shè)備存儲(chǔ)設(shè)備 存取控制部分(控制電路伺服系統(tǒng)、讀寫控制電路、存取控制部分(控

2、制電路伺服系統(tǒng)、讀寫控制電路、 磁頭、光頭等)磁頭、光頭等) 信息載體信息載體 (磁盤、磁帶、光盤等)(磁盤、磁帶、光盤等) 按傳輸速度按傳輸速度 低速:鍵盤、鼠標(biāo)低速:鍵盤、鼠標(biāo) 中速:打印機(jī)中速:打印機(jī) 高速:磁盤高速:磁盤 按信息交換單位按信息交換單位 塊設(shè)備:信息傳輸以塊為單位塊設(shè)備:信息傳輸以塊為單位 字符設(shè)備:信息傳輸以字節(jié)為單位字符設(shè)備:信息傳輸以字節(jié)為單位 按分配方式按分配方式 獨(dú)占設(shè)備:獨(dú)占設(shè)備:在一段時(shí)間只允許一個(gè)進(jìn)程訪在一段時(shí)間只允許一個(gè)進(jìn)程訪 問的設(shè)問的設(shè) 備。備。 打印機(jī)打印機(jī) 共享設(shè)備:共享設(shè)備:在一段時(shí)間允許多個(gè)進(jìn)程同時(shí)在一段時(shí)間允許多個(gè)進(jìn)程同時(shí) 訪問的訪問的 設(shè)

3、備。設(shè)備。 磁盤磁盤 虛擬設(shè)備:將獨(dú)占設(shè)備虛擬為多臺(tái)虛擬設(shè)備虛擬設(shè)備:將獨(dú)占設(shè)備虛擬為多臺(tái)虛擬設(shè)備 獨(dú)占設(shè)備虛擬為共享設(shè)備獨(dú)占設(shè)備虛擬為共享設(shè)備 設(shè)備管理的基本任務(wù)是:設(shè)備管理的基本任務(wù)是: (1) 控制控制 I/O 操作,進(jìn)行設(shè)備分配,提高操作,進(jìn)行設(shè)備分配,提高CPU與設(shè)備之間的并行工作程度。與設(shè)備之間的并行工作程度。 協(xié)調(diào)和保證設(shè)備的高效工作。協(xié)調(diào)和保證設(shè)備的高效工作。 (2) 向用戶提供一個(gè)使用設(shè)備的方便接口。完成用戶的向用戶提供一個(gè)使用設(shè)備的方便接口。完成用戶的I/O請(qǐng)求。請(qǐng)求。 二、二、設(shè)備管理的任務(wù)和功能設(shè)備管理的任務(wù)和功能 設(shè)備管理的功能:設(shè)備管理的功能: 建立統(tǒng)一的獨(dú)立于設(shè)備

4、的接口。建立統(tǒng)一的獨(dú)立于設(shè)備的接口。 按照設(shè)備類型和相應(yīng)算法,進(jìn)行設(shè)備的分配與回收。按照設(shè)備類型和相應(yīng)算法,進(jìn)行設(shè)備的分配與回收。 進(jìn)行設(shè)備驅(qū)動(dòng),實(shí)現(xiàn)真正的進(jìn)行設(shè)備驅(qū)動(dòng),實(shí)現(xiàn)真正的I/O操作及設(shè)備間的并行操作。操作及設(shè)備間的并行操作。 實(shí)現(xiàn)輸入輸出緩沖區(qū)管理,解決高速實(shí)現(xiàn)輸入輸出緩沖區(qū)管理,解決高速CPU與慢速設(shè)備速與慢速設(shè)備速 度不匹配問題。度不匹配問題。 實(shí)現(xiàn)虛擬設(shè)備管理。實(shí)現(xiàn)虛擬設(shè)備管理。 1.1.微機(jī)微機(jī)I/OI/O系統(tǒng)系統(tǒng) CPU通過(guò)總線與設(shè)備控制器相連接,設(shè)備通過(guò)總線與設(shè)備控制器相連接,設(shè)備 控控 制器是制器是CPU 與設(shè)備之間的接口。與設(shè)備之間的接口。 2.2.主機(jī)主機(jī)I/OI/

5、O系統(tǒng)系統(tǒng) 使用使用I/O通道(通道(I/O處理機(jī)),實(shí)現(xiàn)對(duì)設(shè)備處理機(jī)),實(shí)現(xiàn)對(duì)設(shè)備 控制器的控制。控制器的控制。 三、三、I/O I/O 系統(tǒng)的結(jié)構(gòu)系統(tǒng)的結(jié)構(gòu) CPU 存儲(chǔ)器存儲(chǔ)器 I/O設(shè)備設(shè)備I/O設(shè)備設(shè)備 總線總線 高速高速低速低速 1 1、微機(jī)、微機(jī)I/OI/O系統(tǒng)系統(tǒng) 基于總線的微機(jī)硬件體系基于總線的微機(jī)硬件體系 設(shè)備 控制器 設(shè)備 控制器 共享總線共享總線 設(shè)備與設(shè)備與CPU之間的通信通過(guò)設(shè)備控制器進(jìn)行之間的通信通過(guò)設(shè)備控制器進(jìn)行 2、主機(jī)、主機(jī)I/O系統(tǒng)特點(diǎn)系統(tǒng)特點(diǎn) CPU 主存主存 通道通道通道通道通道通道通道通道 I/O 設(shè)備設(shè)備 磁磁 盤盤 磁帶磁帶 通信通信 設(shè)備設(shè)備

6、以通道代替以通道代替CPU與設(shè)備控制器通信與設(shè)備控制器通信 通道可認(rèn)為是特殊的處理器,各通道與通道可認(rèn)為是特殊的處理器,各通道與CPU共享主存共享主存 設(shè)備控制器與通道設(shè)備控制器與通道 (1)設(shè)備控制器)設(shè)備控制器 位于位于CPU與設(shè)備之間,接收與設(shè)備之間,接收CPU下達(dá)的輸入、輸出命令下達(dá)的輸入、輸出命令 并控制具體設(shè)備實(shí)現(xiàn)操作。并控制具體設(shè)備實(shí)現(xiàn)操作。 *功能功能 接收和識(shí)別命令接收和識(shí)別命令 地址識(shí)別地址識(shí)別 命令接收命令接收 命令識(shí)別命令識(shí)別 數(shù)據(jù)交換數(shù)據(jù)交換數(shù)據(jù)暫存、緩沖數(shù)據(jù)暫存、緩沖 監(jiān)測(cè)設(shè)備狀態(tài)監(jiān)測(cè)設(shè)備狀態(tài) (2)通道)通道 1、通道是一種特殊的處理機(jī),具有執(zhí)行、通道是一種特殊的

7、處理機(jī),具有執(zhí)行I/O指令的能力。通過(guò)執(zhí)行通道程序指令的能力。通過(guò)執(zhí)行通道程序 來(lái)控制來(lái)控制I/O操作操作 2、CPU只需向通道發(fā)出一條指令,通道便從內(nèi)存中取出本次執(zhí)行的通道程只需向通道發(fā)出一條指令,通道便從內(nèi)存中取出本次執(zhí)行的通道程 序,并執(zhí)行。序,并執(zhí)行。 通道程序可以包含多次輸入、輸出,是一個(gè)相對(duì)完整的過(guò)程通道程序可以包含多次輸入、輸出,是一個(gè)相對(duì)完整的過(guò)程 4、通道把、通道把CPU從繁雜的從繁雜的I/O任務(wù)中解脫出來(lái)任務(wù)中解脫出來(lái) 3、通道之間可以并行執(zhí)行、通道之間可以并行執(zhí)行 2.5.2 數(shù)據(jù)傳送控制方式數(shù)據(jù)傳送控制方式 (1)程序)程序I/O方式方式 (2)中斷控制方式)中斷控制方

8、式 (3) DMA 控制方式控制方式 (4)通道控制方式)通道控制方式 設(shè)備管理的主要任務(wù)之一是控制設(shè)備與內(nèi)存或設(shè)備管理的主要任務(wù)之一是控制設(shè)備與內(nèi)存或 CPU 之間的數(shù)據(jù)傳送,選擇控制方式的原則是:之間的數(shù)據(jù)傳送,選擇控制方式的原則是: 保證在足夠的傳輸速度下數(shù)據(jù)的正確傳送。保證在足夠的傳輸速度下數(shù)據(jù)的正確傳送。 系統(tǒng)開銷小。系統(tǒng)開銷小。 充分發(fā)揮硬件資源的能力。充分發(fā)揮硬件資源的能力。 本節(jié)討論本節(jié)討論CPU 通過(guò)設(shè)備控制器來(lái)控制數(shù)據(jù)通過(guò)設(shè)備控制器來(lái)控制數(shù)據(jù)I/O的方式。的方式。 常用的常用的I/O控制方式控制方式 (1)程序)程序I/O方式方式 接收到接收到CPU 發(fā)來(lái)的發(fā)來(lái)的start

9、指令指令 準(zhǔn)備接收和發(fā)送準(zhǔn)備接收和發(fā)送 數(shù)據(jù)準(zhǔn)備數(shù)據(jù)準(zhǔn)備 準(zhǔn)備完畢?準(zhǔn)備完畢? 標(biāo)志觸發(fā)器置標(biāo)志觸發(fā)器置“Done” 設(shè)備設(shè)備 是是 否否 等待等待CPU來(lái)的下條指令來(lái)的下條指令 向設(shè)備發(fā)向設(shè)備發(fā)start指令指令 設(shè)備標(biāo)志觸發(fā)器設(shè)備標(biāo)志觸發(fā)器 置為置為“Done”? 等待等待 執(zhí)行下條指令執(zhí)行下條指令 開始數(shù)據(jù)傳輸開始數(shù)據(jù)傳輸 CPU 否否 是是 (2)中斷控制方式)中斷控制方式 結(jié)合進(jìn)程調(diào)度機(jī)制,實(shí)現(xiàn)讓權(quán)等待結(jié)合進(jìn)程調(diào)度機(jī)制,實(shí)現(xiàn)讓權(quán)等待 進(jìn)程利用中斷實(shí)現(xiàn)輸入、輸出流程:進(jìn)程利用中斷實(shí)現(xiàn)輸入、輸出流程: 初始化 阻塞等待輸入 控制設(shè)備 完成輸入 根據(jù)中斷喚醒等待進(jìn)程 設(shè)備產(chǎn)生輸入中斷設(shè)備產(chǎn)

10、生輸入中斷 接收到CPU 發(fā)來(lái)的start指令 準(zhǔn)備數(shù)據(jù)并將其 置入緩沖寄存器 緩沖寄存器滿? 控制器發(fā)中斷信號(hào) 設(shè)備 是 否 向設(shè)備發(fā)start指令 將中斷允許位置1 調(diào)度程序調(diào)度 其它進(jìn)程 其它進(jìn)程執(zhí)行 收到中斷信號(hào)? 中斷處理 被中斷進(jìn)程執(zhí)行 CPU 是 否 中斷機(jī)制實(shí)現(xiàn)了中斷機(jī)制實(shí)現(xiàn)了CPU與設(shè)備的并行控制與設(shè)備的并行控制讓權(quán)等待讓權(quán)等待 CPU 輸入:輸入: 其他進(jìn)程其他進(jìn)程中斷處理中斷處理繼續(xù)繼續(xù) 設(shè)備設(shè)備 等待數(shù)據(jù)等待數(shù)據(jù) 處理輸入數(shù)據(jù)處理輸入數(shù)據(jù) 被喚醒的等待進(jìn)程被喚醒的等待進(jìn)程 數(shù)據(jù)到數(shù)據(jù)到 設(shè)備設(shè)備 產(chǎn)生中斷產(chǎn)生中斷 暫不接收暫不接收 數(shù)據(jù)數(shù)據(jù) 清除中斷清除中斷 等待數(shù)據(jù)等

11、待數(shù)據(jù) 一次一次I/O操作(操作(1字節(jié))完成,向字節(jié))完成,向CPU發(fā)中斷信號(hào),發(fā)中斷信號(hào),CPU作中斷處理。作中斷處理。 效率雖然比程序效率雖然比程序I/O方式高,但還是方式高,但還是不適宜需要交換大量數(shù)據(jù)的情況。不適宜需要交換大量數(shù)據(jù)的情況。 缺點(diǎn):缺點(diǎn): (3)DMA方式方式 中斷控制方式一般以字節(jié)為單位產(chǎn)生中斷,每個(gè)字節(jié)在中斷處理程序中,讀中斷控制方式一般以字節(jié)為單位產(chǎn)生中斷,每個(gè)字節(jié)在中斷處理程序中,讀 入到入到CPU的寄存器中。直接存儲(chǔ)器訪問的寄存器中。直接存儲(chǔ)器訪問 DMA(Direct Memory Access)方式)方式 的引入是為解決中斷控制方式對(duì)塊設(shè)備低效的問題。減少

12、中斷次數(shù)。的引入是為解決中斷控制方式對(duì)塊設(shè)備低效的問題。減少中斷次數(shù)。 由于大多數(shù)的小型、微型計(jì)算機(jī)采用總線結(jié)構(gòu),由于大多數(shù)的小型、微型計(jì)算機(jī)采用總線結(jié)構(gòu),DMA方式是方式是“竊取竊取”或或 “挪用挪用” CPU總線的控制權(quán),即要求總線的控制權(quán),即要求CPU暫停若干總線周期,由暫停若干總線周期,由DMA控制器控制器 占有存儲(chǔ)器周期進(jìn)行設(shè)備與內(nèi)存之間的數(shù)據(jù)交換。占有存儲(chǔ)器周期進(jìn)行設(shè)備與內(nèi)存之間的數(shù)據(jù)交換。 DMA方式的基本思想方式的基本思想 (1)以數(shù)據(jù)塊為單位進(jìn)行數(shù)據(jù)傳送。)以數(shù)據(jù)塊為單位進(jìn)行數(shù)據(jù)傳送。 (2)設(shè)備與內(nèi)存之間直接交換數(shù)據(jù)。)設(shè)備與內(nèi)存之間直接交換數(shù)據(jù)。 DR 數(shù)據(jù)寄存器,暫時(shí)存

13、放設(shè)備數(shù)據(jù)寄存器,暫時(shí)存放設(shè)備內(nèi)存間傳送的信息。內(nèi)存間傳送的信息。 MAR 內(nèi)存地址寄存器。內(nèi)存地址寄存器。 DC 傳送字(節(jié))數(shù)寄存器。傳送字(節(jié))數(shù)寄存器。 CR 命令命令/狀態(tài)寄存器。接收從狀態(tài)寄存器。接收從CPU發(fā)來(lái)的發(fā)來(lái)的 I/O命令、控制信息、命令、控制信息、 設(shè)備狀態(tài)。設(shè)備狀態(tài)。 主機(jī)主機(jī)-控制器接口控制器接口 控制器控制器-塊設(shè)備接口塊設(shè)備接口 DMA控制器的組成控制器的組成 DR MAR DC CR I/O 控控 制制 邏邏 輯輯 CPUCPU內(nèi)存內(nèi)存 命令命令 系統(tǒng)總線系統(tǒng)總線DMA控制器控制器 。 。 。 cou nt 磁磁 盤盤 源地址源地址 數(shù)據(jù)數(shù)據(jù) DMA工作過(guò)程工

14、作過(guò)程 以磁盤數(shù)據(jù)輸入為例 預(yù)置DMA寄存器 啟動(dòng)DMA,傳送一個(gè)數(shù)據(jù)塊 睡眠并等待DMA傳送結(jié)束 I/O中斷處理 喚醒數(shù)據(jù)輸入進(jìn)程 DMA方式為成塊傳遞,方式為成塊傳遞, 1、數(shù)據(jù)直接在、數(shù)據(jù)直接在DMA控制器控制下通過(guò)總線傳遞到內(nèi)存中控制器控制下通過(guò)總線傳遞到內(nèi)存中 2、在完成指定量的數(shù)據(jù)接收后,、在完成指定量的數(shù)據(jù)接收后,DMA控制器才向控制器才向CPU產(chǎn)生產(chǎn)生中斷。中斷。 3、通過(guò)中斷處理程序可能喚醒等待數(shù)據(jù)的進(jìn)程、通過(guò)中斷處理程序可能喚醒等待數(shù)據(jù)的進(jìn)程 減少減少CPU在數(shù)據(jù)傳遞過(guò)程中的干預(yù)在數(shù)據(jù)傳遞過(guò)程中的干預(yù) 中斷控制方式與中斷控制方式與DMADMA方式方式 CPU 總線總線 CP

15、U (4)通道控制)通道控制 通道通過(guò)執(zhí)行通道程序并行完成一系列輸入輸出過(guò)程通道通過(guò)執(zhí)行通道程序并行完成一系列輸入輸出過(guò)程 進(jìn)一步減少進(jìn)一步減少CPU對(duì)輸入輸出過(guò)程的干預(yù)。對(duì)輸入輸出過(guò)程的干預(yù)。 提高提高CPU與設(shè)備之間的并行性,提高資源利用率,與設(shè)備之間的并行性,提高資源利用率, 提高系統(tǒng)吞吐量。提高系統(tǒng)吞吐量。 通道通道是一個(gè)獨(dú)立于是一個(gè)獨(dú)立于CPU的專門控制的專門控制I/O工作的簡(jiǎn)單的工作的簡(jiǎn)單的 處理機(jī),它控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。處理機(jī),它控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。 CCW的信息:的信息: 操作碼操作碼 內(nèi)存地址內(nèi)存地址 傳送數(shù)據(jù)字節(jié)數(shù)傳送數(shù)據(jù)字節(jié)數(shù) 通道程序結(jié)束位通道程

16、序結(jié)束位P(P =1 結(jié)束)結(jié)束) 記錄結(jié)束標(biāo)志記錄結(jié)束標(biāo)志R 0 指令處理同一記錄指令處理同一記錄 1 處理記錄結(jié)束處理記錄結(jié)束 通道(通道(Channel) 是比是比DMA方式更加完善,功能更強(qiáng)的方式更加完善,功能更強(qiáng)的I/O 控制方式。控制方式。 DMA與通道方式的異同與通道方式的異同: 相同:相同:以內(nèi)存為中心,實(shí)現(xiàn)設(shè)備與內(nèi)存之間直接交換數(shù)據(jù)以內(nèi)存為中心,實(shí)現(xiàn)設(shè)備與內(nèi)存之間直接交換數(shù)據(jù) 的控制方式。的控制方式。 不同:通道是專門控制不同:通道是專門控制 I/O的處理機(jī)。的處理機(jī)。其指令稱為通道控其指令稱為通道控 制字(制字(CCW),由),由CCW編制的通道程序,獨(dú)立執(zhí)編制的通道程序,

17、獨(dú)立執(zhí) 行行I/O任務(wù)。任務(wù)。 通道的控制過(guò)程:通道的控制過(guò)程: CPU啟動(dòng)通道啟動(dòng)通道 通道程序的始址存放在稱為通道地址字(通道程序的始址存放在稱為通道地址字(CAW) 的內(nèi)存單元中,由的內(nèi)存單元中,由 CPU啟動(dòng)通道程序后,啟動(dòng)通道程序后,CPU可去執(zhí)可去執(zhí) 行其他任務(wù)。行其他任務(wù)。 執(zhí)行執(zhí)行通道指令通道指令CCW ,向設(shè)備控制器發(fā)出向設(shè)備控制器發(fā)出I/O操作命令。操作命令。 設(shè)備根據(jù)設(shè)備根據(jù)CCW將數(shù)據(jù)傳送到內(nèi)存指定單元。將數(shù)據(jù)傳送到內(nèi)存指定單元。 數(shù)據(jù)傳送結(jié)束,數(shù)據(jù)傳送結(jié)束,I/O控制器向控制器向CPU 發(fā)出中斷請(qǐng)求命令。發(fā)出中斷請(qǐng)求命令。 按照信息交換方式分類:按照信息交換方式分類:

18、 字節(jié)多路通道字節(jié)多路通道 用于低、中速設(shè)備用于低、中速設(shè)備 含多個(gè)非分配型的子通道,子通道按時(shí)間片輪轉(zhuǎn)含多個(gè)非分配型的子通道,子通道按時(shí)間片輪轉(zhuǎn) 共享主通道。按字節(jié)傳送共享主通道。按字節(jié)傳送。傳輸速度慢傳輸速度慢 選擇通道選擇通道 連接中、高速設(shè)備連接中、高速設(shè)備 含一個(gè)分配型的子通道,一段時(shí)間內(nèi)只能執(zhí)行、含一個(gè)分配型的子通道,一段時(shí)間內(nèi)只能執(zhí)行、 控制一臺(tái)設(shè)備工作。通道利用率低,傳輸速度快。控制一臺(tái)設(shè)備工作。通道利用率低,傳輸速度快。 數(shù)組多路通道數(shù)組多路通道 連接中、高速設(shè)備連接中、高速設(shè)備 通道的類型通道的類型 中央處理機(jī)中央處理機(jī) 內(nèi)存內(nèi)存 字節(jié)多路通道字節(jié)多路通道數(shù)組多路通道數(shù)組多

19、路通道選擇通道選擇通道 卡片卡片 輸入機(jī)輸入機(jī) 卡片卡片 輸入機(jī)輸入機(jī) 打印機(jī)打印機(jī) 磁盤磁盤磁帶磁帶 通通 道道 結(jié)結(jié) 構(gòu)構(gòu) 2.5.3緩沖技緩沖技 術(shù)術(shù) 1 1緩解緩解CPUCPU與外設(shè)速度不匹配的問題。與外設(shè)速度不匹配的問題。 2 2減少減少CPUCPU中斷響應(yīng)次數(shù),放寬響應(yīng)時(shí)間。中斷響應(yīng)次數(shù),放寬響應(yīng)時(shí)間。 緩沖一定數(shù)量的數(shù)據(jù)后才向緩沖一定數(shù)量的數(shù)據(jù)后才向CPU產(chǎn)生一次中斷產(chǎn)生一次中斷 3 3提高提高CPUCPU與與I/OI/O設(shè)備,設(shè)備,I/OI/O設(shè)備之間的并行操作能力。設(shè)備之間的并行操作能力。 減少減少CPU在設(shè)備數(shù)據(jù)傳輸期的干預(yù)在設(shè)備數(shù)據(jù)傳輸期的干預(yù) 一為什么引入緩沖技術(shù)一為什

20、么引入緩沖技術(shù) 緩沖技術(shù)的緩沖技術(shù)的基本思想基本思想: 在內(nèi)存中開辟一個(gè)或多個(gè)專用區(qū)域(緩沖區(qū)),作為在內(nèi)存中開辟一個(gè)或多個(gè)專用區(qū)域(緩沖區(qū)),作為 CPU CPU 與與I/OI/O設(shè)備間信息的集散地。設(shè)備間信息的集散地。 速度1 速度2 1.1.單緩沖區(qū)(單緩沖區(qū)(single buffersingle buffer) 在設(shè)備和主機(jī)之間設(shè)置一個(gè)緩沖區(qū)。只能緩解速度匹配的問題。不能實(shí)現(xiàn)在設(shè)備和主機(jī)之間設(shè)置一個(gè)緩沖區(qū)。只能緩解速度匹配的問題。不能實(shí)現(xiàn) 設(shè)備之間的并行操作。設(shè)備之間的并行操作。 二、緩沖區(qū)的組織二、緩沖區(qū)的組織 設(shè)備以速率設(shè)備以速率V向緩沖輸入數(shù)據(jù)向緩沖輸入數(shù)據(jù) 緩沖區(qū)滿后緩沖區(qū)滿

21、后CPU以速率以速率W讀出數(shù)據(jù)讀出數(shù)據(jù) 緩沖區(qū)處理完后再由設(shè)備輸入數(shù)據(jù)緩沖區(qū)處理完后再由設(shè)備輸入數(shù)據(jù) 接收接收 解決了速率匹配問題解決了速率匹配問題 速度1 速度2 設(shè)備設(shè)備 CPU 同時(shí)同時(shí) 提高提高CPU與設(shè)備間的并行度與設(shè)備間的并行度 一般是建立兩個(gè)大小相等的一般是建立兩個(gè)大小相等的緩緩 沖區(qū),設(shè)備交替對(duì)兩個(gè)緩沖區(qū)沖區(qū),設(shè)備交替對(duì)兩個(gè)緩沖區(qū) 輸入數(shù)據(jù),操作系統(tǒng)也交替地輸入數(shù)據(jù),操作系統(tǒng)也交替地 從兩個(gè)緩沖區(qū)移出數(shù)據(jù)送用戶從兩個(gè)緩沖區(qū)移出數(shù)據(jù)送用戶 進(jìn)程區(qū)。進(jìn)程區(qū)。 2.雙緩沖區(qū)(雙緩沖區(qū)(double buffer) 雙向通信雙向通信 接收接收 發(fā)送發(fā)送 CPU 設(shè)備設(shè)備1 設(shè)備設(shè)備2

22、CPU 3.多緩沖區(qū)與緩沖池(多緩沖區(qū)與緩沖池(buffer pool) 可以實(shí)現(xiàn)多個(gè)外設(shè)并行工作及解決可以實(shí)現(xiàn)多個(gè)外設(shè)并行工作及解決CPUCPU的速度匹配問題?,F(xiàn)行操作系統(tǒng)大都采用的速度匹配問題?,F(xiàn)行操作系統(tǒng)大都采用 此結(jié)構(gòu)。此結(jié)構(gòu)。 三、緩沖池的管理三、緩沖池的管理 1.緩沖池的結(jié)構(gòu)緩沖池的結(jié)構(gòu) 緩沖池由多個(gè)緩沖池由多個(gè) 緩沖區(qū)構(gòu)成。每個(gè)緩沖區(qū)構(gòu)成。每個(gè) 緩沖區(qū)又分為緩沖緩沖區(qū)又分為緩沖 區(qū)首部和緩沖體。區(qū)首部和緩沖體。 設(shè)備號(hào)設(shè)備號(hào) 緩沖區(qū)號(hào)緩沖區(qū)號(hào) 緩沖區(qū)地址緩沖區(qū)地址 緩沖區(qū)狀態(tài)(忙緩沖區(qū)狀態(tài)(忙/閑)閑) 數(shù)據(jù)塊號(hào)數(shù)據(jù)塊號(hào) 互斥標(biāo)識(shí)位互斥標(biāo)識(shí)位 設(shè)備緩沖隊(duì)列指針設(shè)備緩沖隊(duì)列指針 緩

23、沖區(qū)首部緩沖區(qū)首部 將緩沖區(qū)連接成三種隊(duì)列:將緩沖區(qū)連接成三種隊(duì)列: 空緩沖區(qū)隊(duì)列(空緩沖區(qū)隊(duì)列(emqemq) 滿輸入緩沖區(qū)隊(duì)列(滿輸入緩沖區(qū)隊(duì)列(inqinq) 滿輸出緩沖區(qū)隊(duì)列(滿輸出緩沖區(qū)隊(duì)列(outqoutq) 有四類工作緩沖區(qū):有四類工作緩沖區(qū): sin sin 提取輸入的工作緩沖區(qū)提取輸入的工作緩沖區(qū) hin 收容輸入數(shù)據(jù)的緩沖區(qū)收容輸入數(shù)據(jù)的緩沖區(qū) sout sout 提取輸出的工作緩沖區(qū)提取輸出的工作緩沖區(qū) hout 收容輸出數(shù)據(jù)的緩沖區(qū)收容輸出數(shù)據(jù)的緩沖區(qū) (1)收容輸入)收容輸入 輸入進(jìn)程調(diào)用過(guò)程輸入進(jìn)程調(diào)用過(guò)程getbuf(emq),從空緩沖隊(duì)列中),從空緩沖隊(duì)列中 申

24、請(qǐng)一空緩沖區(qū)申請(qǐng)一空緩沖區(qū)收容輸入數(shù)據(jù)的緩沖區(qū)(收容輸入數(shù)據(jù)的緩沖區(qū)(hin)。)。 從設(shè)備輸入數(shù)據(jù)到從設(shè)備輸入數(shù)據(jù)到 hin。 調(diào)用過(guò)程調(diào)用過(guò)程putbuf(inq,hin),將滿),將滿緩沖區(qū)緩沖區(qū)hin插入插入滿滿 輸入緩沖區(qū)隊(duì)列(輸入緩沖區(qū)隊(duì)列(inq)的隊(duì)尾。的隊(duì)尾。 2. 緩沖池管理方式緩沖池管理方式 (2 2)提取輸入)提取輸入 當(dāng)需要處理輸入數(shù)據(jù)時(shí),計(jì)算進(jìn)程調(diào)用當(dāng)需要處理輸入數(shù)據(jù)時(shí),計(jì)算進(jìn)程調(diào)用getbuf ( inq),從滿輸入緩沖區(qū)隊(duì)列(),從滿輸入緩沖區(qū)隊(duì)列(inq)的隊(duì)首取出一緩)的隊(duì)首取出一緩 沖區(qū)沖區(qū)提取輸入的工作緩沖區(qū)(提取輸入的工作緩沖區(qū)(sin)。)。 計(jì)算進(jìn)

25、程從計(jì)算進(jìn)程從sinsin提取數(shù)據(jù)處理。提取數(shù)據(jù)處理。 調(diào)用過(guò)程調(diào)用過(guò)程putbuf(emq,sin),釋放工作),釋放工作緩沖區(qū)緩沖區(qū)sin, 并插入并插入空緩沖隊(duì)列尾??站彌_隊(duì)列尾。 緩沖池管理過(guò)程(以輸入為例)緩沖池管理過(guò)程(以輸入為例) 緩沖輸出過(guò)程(收容輸出、緩沖輸出過(guò)程(收容輸出、提取輸出)與輸入類似。提取輸出)與輸入類似。 輸 輸 入入 輸輸 出出 設(shè)設(shè) 備備 數(shù) 數(shù) 據(jù)據(jù) 處處 理理 程程 序序 hin sout sin hout inq emq outq putbuf(inq,hin) putbuf(emq,sout) getbuf(inq) getbuf(emq) putb

26、uf(emq,sin) getbuf(outq) getbuf(emq) putbuf(outq,hout) 提取提取 輸入輸入 提取提取 輸出輸出 收容收容 輸入輸入 收容收容 輸出輸出 典型的緩沖池管理典型的緩沖池管理 收容收容 輸入輸入 getbuf(emq) hin putbuf(inq,hin) 提取提取 輸入輸入 getbuf(inq) sin putbuf(emq,sin) 2.5.4設(shè)備的分配設(shè)備的分配 按一定算法進(jìn)行設(shè)備分配按一定算法進(jìn)行設(shè)備分配 包括設(shè)備、設(shè)備控制器及通道包括設(shè)備、設(shè)備控制器及通道 保證保證: “有有”用戶能得到設(shè)備使用權(quán)。用戶能得到設(shè)備使用權(quán)。 “安全安全

27、”用戶使用設(shè)備是安全的。用戶使用設(shè)備是安全的。 討論設(shè)備分配的數(shù)據(jù)結(jié)構(gòu),分配原則及分配算法。討論設(shè)備分配的數(shù)據(jù)結(jié)構(gòu),分配原則及分配算法。 一、設(shè)備分配的數(shù)據(jù)結(jié)構(gòu)一、設(shè)備分配的數(shù)據(jù)結(jié)構(gòu) 1.設(shè)備控制表設(shè)備控制表DCT(Device Control Table) 系統(tǒng)為每個(gè)設(shè)備配置了一張?jiān)O(shè)備控制表,記錄該設(shè)備的情況反映設(shè)備特性,設(shè)系統(tǒng)為每個(gè)設(shè)備配置了一張?jiān)O(shè)備控制表,記錄該設(shè)備的情況反映設(shè)備特性,設(shè) 備與備與I/O控制器連接情況??刂破鬟B接情況。 DCT1 DCTi DCTn 設(shè)備類型設(shè)備類型Type 設(shè)備表示符:設(shè)備表示符:device_id 設(shè)備狀態(tài):忙設(shè)備狀態(tài):忙/閑閑 指向控制器表的指針指向

28、控制器表的指針 重復(fù)執(zhí)行次數(shù)或時(shí)間重復(fù)執(zhí)行次數(shù)或時(shí)間 設(shè)備等待隊(duì)列隊(duì)首指針設(shè)備等待隊(duì)列隊(duì)首指針 設(shè)備等待隊(duì)列隊(duì)尾指針設(shè)備等待隊(duì)列隊(duì)尾指針 . . . . . . 2.2.控制器控制表控制器控制表COCT(Controler Control Table) 系統(tǒng)為每個(gè)控制器都設(shè)置了一張用于記錄本控制器情況的控制表。記錄系統(tǒng)為每個(gè)控制器都設(shè)置了一張用于記錄本控制器情況的控制表。記錄I/O控制器控制器 使用情況及與通道連接情況。(使用情況及與通道連接情況。(DMADMA無(wú))無(wú)) 控制器標(biāo)識(shí)符:控制器標(biāo)識(shí)符:controller_id 控制器狀態(tài):忙控制器狀態(tài):忙/閑閑 與控制器連接的通道表指針與控制器

29、連接的通道表指針 控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)首指針 控制器隊(duì)列的隊(duì)尾指針控制器隊(duì)列的隊(duì)尾指針 控制器表控制器表COCT 3.通道控制表通道控制表CHCT(Channel Control Table) 每個(gè)通道都配有一張通道控制表。每個(gè)通道都配有一張通道控制表。 描述通道的使用情況。描述通道的使用情況。 通道標(biāo)識(shí)符:通道標(biāo)識(shí)符:channel_id 通道狀態(tài):忙通道狀態(tài):忙/閑閑 與通道連接的控制器表指針與通道連接的控制器表指針 通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)首指針 通道隊(duì)列的隊(duì)尾指針通道隊(duì)列的隊(duì)尾指針 通道控制表通道控制表CHCT 4.系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表SDT(System Devi

30、ce Table) 整個(gè)系統(tǒng)一張,記錄已連接到系統(tǒng)中的設(shè)備情況,每個(gè)設(shè)備在整個(gè)系統(tǒng)一張,記錄已連接到系統(tǒng)中的設(shè)備情況,每個(gè)設(shè)備在SDT中占一表項(xiàng)。中占一表項(xiàng)。 表目表目1 表目表目i 設(shè)備類設(shè)備類 設(shè)備標(biāo)識(shí)符設(shè)備標(biāo)識(shí)符 DCT指針指針 驅(qū)動(dòng)程序入口驅(qū)動(dòng)程序入口 系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表SDT . . . . . . 設(shè)備名設(shè)備名設(shè)備控制表設(shè)備控制表 設(shè)備名設(shè)備名設(shè)備控制表設(shè)備控制表 設(shè)備名設(shè)備名設(shè)備控制表設(shè)備控制表 設(shè)備名設(shè)備名設(shè)備控制表設(shè)備控制表 SDT 設(shè)備名設(shè)備名 設(shè)備控制器設(shè)備控制器 設(shè)備名設(shè)備名 設(shè)備控制器設(shè)備控制器 狀態(tài)狀態(tài) 狀態(tài)狀態(tài) 控制器名控制器名 通道控制表通道控制表 狀態(tài)狀態(tài)

31、控制器名控制器名 通道控制表通道控制表 狀態(tài)狀態(tài) DCTCOCT 通道標(biāo)識(shí)通道標(biāo)識(shí) 狀態(tài)狀態(tài) 通道標(biāo)識(shí)通道標(biāo)識(shí) 狀態(tài)狀態(tài) CHCT 設(shè)備分配的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配的數(shù)據(jù)結(jié)構(gòu) 設(shè)備分配的方式:設(shè)備分配的方式: 靜態(tài)分配靜態(tài)分配 一次分配所有需要的設(shè)備。不符合分配一次分配所有需要的設(shè)備。不符合分配 原則。原則。 動(dòng)態(tài)分配動(dòng)態(tài)分配 進(jìn)程執(zhí)行過(guò)程中,按需分配。進(jìn)程執(zhí)行過(guò)程中,按需分配。 設(shè)備分配總原則:充分發(fā)揮設(shè)備利用率,避免由于不設(shè)備分配總原則:充分發(fā)揮設(shè)備利用率,避免由于不 合理分配引起進(jìn)程死鎖。合理分配引起進(jìn)程死鎖。 具體考慮以下方面:具體考慮以下方面: 1 .設(shè)備的固有屬性設(shè)備的固有屬性 (獨(dú)占、

32、共享、虛擬)。(獨(dú)占、共享、虛擬)。 2 .設(shè)備分配算法(先來(lái)先服務(wù)、優(yōu)先級(jí))。設(shè)備分配算法(先來(lái)先服務(wù)、優(yōu)先級(jí))。 3. 設(shè)備分配的安全性(安全或不安全分配方式)。設(shè)備分配的安全性(安全或不安全分配方式)。 4 . 設(shè)備獨(dú)立性(用戶程序獨(dú)立于使用的物理設(shè)備)。設(shè)備獨(dú)立性(用戶程序獨(dú)立于使用的物理設(shè)備)。 二、設(shè)備分配的原則及方式二、設(shè)備分配的原則及方式 三、設(shè)備分配流程三、設(shè)備分配流程 進(jìn)程進(jìn)程P發(fā)出發(fā)出I/O請(qǐng)求請(qǐng)求 搜索搜索SDT找到找到DCT指針指針 查查DCT 設(shè)備忙?設(shè)備忙? 進(jìn)程進(jìn)程P按分配算法按分配算法 入入I/O隊(duì)列隊(duì)列 Y N 按分配算法選擇進(jìn)程按分配算法選擇進(jìn)程 進(jìn)程進(jìn)程

33、P選中?選中? 進(jìn)程進(jìn)程P等待等待 設(shè)備空閑設(shè)備空閑 N Y 檢查設(shè)備分配的安全性檢查設(shè)備分配的安全性 安全嗎?安全嗎? N Y 設(shè)備分配給進(jìn)程設(shè)備分配給進(jìn)程P 1 1 搜索搜索DCT找到找到COCT指針指針 控制器忙?控制器忙? Y 進(jìn)程進(jìn)程P等待等待 控制器控制器 N 分配控制器給進(jìn)程分配控制器給進(jìn)程P 搜索搜索COCT找到找到CHCT指針指針 CHCT忙忙 Y 進(jìn)程進(jìn)程P等等 待通道待通道 N 分配通道給進(jìn)程分配通道給進(jìn)程 P 啟動(dòng)啟動(dòng) I/O 多道程序系統(tǒng)中,進(jìn)程對(duì)設(shè)備的需求頻繁,尤其是獨(dú)占設(shè)備數(shù)量有限、效多道程序系統(tǒng)中,進(jìn)程對(duì)設(shè)備的需求頻繁,尤其是獨(dú)占設(shè)備數(shù)量有限、效 率低,故引入虛

34、擬設(shè)備管理技術(shù)。率低,故引入虛擬設(shè)備管理技術(shù)。 基本思想:基本思想:用大容量的快速設(shè)備(磁盤)模擬慢速度的用大容量的快速設(shè)備(磁盤)模擬慢速度的 獨(dú)占設(shè)備,把一臺(tái)物理上的獨(dú)占設(shè)備變?yōu)檫壿嬌系亩嗯_(tái)共享設(shè)備。獨(dú)占設(shè)備,把一臺(tái)物理上的獨(dú)占設(shè)備變?yōu)檫壿嬌系亩嗯_(tái)共享設(shè)備。 SPOOLing是一種典型的虛擬設(shè)備技術(shù),是一種典型的虛擬設(shè)備技術(shù), SPOOLing 是是 Simultaneous Peripheral Operations On Line (外圍設(shè)(外圍設(shè) 備同時(shí)聯(lián)機(jī)操作)的縮寫,是用程序模擬脫機(jī)備同時(shí)聯(lián)機(jī)操作)的縮寫,是用程序模擬脫機(jī)I/O的功能,故又稱為假脫機(jī)技術(shù)。的功能,故又稱為假脫機(jī)技

35、術(shù)。 2.5.5虛擬設(shè)備管理與虛擬設(shè)備管理與SPOOLing技術(shù)技術(shù) 2 . . SPOOLing 技術(shù)技術(shù) 1. 1. 虛擬設(shè)備管理虛擬設(shè)備管理 真脫機(jī)技術(shù):輸入、輸出是脫離主機(jī)完成的。真脫機(jī)技術(shù):輸入、輸出是脫離主機(jī)完成的。 靠外圍機(jī)的控制輸入、輸出設(shè)備與磁盤交換數(shù)據(jù)??客鈬鷻C(jī)的控制輸入、輸出設(shè)備與磁盤交換數(shù)據(jù)。 CPU只與高速磁盤(磁帶)交換數(shù)據(jù)只與高速磁盤(磁帶)交換數(shù)據(jù) 其它 輸入井輸出井 高速高速 假脫機(jī)技術(shù)假脫機(jī)技術(shù) 技術(shù)要點(diǎn):技術(shù)要點(diǎn): (1)多道程序并發(fā)執(zhí)行)多道程序并發(fā)執(zhí)行 (2)一道程序模擬外圍機(jī)的輸入,將數(shù)據(jù)從設(shè)備輸入到磁盤)一道程序模擬外圍機(jī)的輸入,將數(shù)據(jù)從設(shè)備輸入到

36、磁盤 (3)一道程序模擬外圍機(jī)的輸出,將數(shù)據(jù)從磁盤輸出到設(shè)備)一道程序模擬外圍機(jī)的輸出,將數(shù)據(jù)從磁盤輸出到設(shè)備 (4)其它程序與設(shè)備的通信和脫機(jī)方式一樣:讀寫高速磁盤)其它程序與設(shè)備的通信和脫機(jī)方式一樣:讀寫高速磁盤 (5)主機(jī)仍要控制外圍設(shè)備)主機(jī)仍要控制外圍設(shè)備“假脫機(jī)假脫機(jī)” 特點(diǎn)特點(diǎn) (1)提高了進(jìn)程訪問低速設(shè)備速率)提高了進(jìn)程訪問低速設(shè)備速率 (2)獨(dú)占設(shè)備成為虛擬設(shè)備)獨(dú)占設(shè)備成為虛擬設(shè)備 (3)獨(dú)占設(shè)備成為共享設(shè)備)獨(dú)占設(shè)備成為共享設(shè)備 不與實(shí)際設(shè)備交互不與實(shí)際設(shè)備交互 磁盤是可共享的高速設(shè)備磁盤是可共享的高速設(shè)備 SPOOLing 系統(tǒng)的組成系統(tǒng)的組成: 輸入井、輸出井輸入井、輸出井 輸入進(jìn)程、輸出進(jìn)程輸入進(jìn)程、輸出進(jìn)程 I/OI/O緩沖區(qū)緩沖區(qū) 輸入設(shè)備輸入設(shè)備 輸入設(shè)備輸入設(shè)備 通 通 道 道 通通 道道 通 通 道 道 輸出設(shè)備輸出設(shè)備 輸出設(shè)備輸出設(shè)備 輸入井輸入井 輸出井輸出井 外外 存存 輸入管理輸入管理 輸出管理輸出管理 進(jìn)程進(jìn)程 進(jìn)程進(jìn)程 主機(jī)系統(tǒng)主機(jī)系統(tǒng) I/O緩沖區(qū)緩沖區(qū) 以打印機(jī)為例,說(shuō)明以打印機(jī)為例,說(shuō)明SPOO

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論