軟件技術(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)說明:本文檔由用戶提供并上傳,收益歸屬內(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)、讀寫控制電路、存取控制部分(控制電路伺服系統(tǒng)

2、、讀寫控制電路、 磁頭、光頭等)磁頭、光頭等) 信息載體信息載體 (磁盤、磁帶、光盤等)(磁盤、磁帶、光盤等) 按傳輸速度按傳輸速度低速:鍵盤、鼠標(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è)備。設(shè)備。 磁盤磁盤虛擬設(shè)備:將獨(dú)占

3、設(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è)備的接口。建立統(tǒng)一的獨(dú)立于設(shè)備的接口。按照設(shè)備類型和相應(yīng)

4、算法,進(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通過總線與設(shè)備控制器相連接,設(shè)備通過總線與設(shè)備控制器相連接,設(shè)備 控控制器是制器是CPU 與設(shè)備之間的接口。與設(shè)備之間的接口。2.2.主機(jī)主機(jī)I/OI/O系統(tǒng)系統(tǒng) 使用使用I/O通道(通道(I/O處理機(jī)),實(shí)現(xiàn)對(duì)設(shè)備處理

5、機(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之間的通信通過設(shè)備控制器進(jìn)行之間的通信通過設(shè)備控制器進(jìn)行2、主機(jī)、主機(jī)I/O系統(tǒng)特點(diǎn)系統(tǒng)特點(diǎn)CPU主存主存通道通道通道通道通道通道通道通道I/O設(shè)備設(shè)備磁磁盤盤磁帶磁帶通信通信設(shè)備設(shè)備以通道代替以通道代替CPU與設(shè)備控制器通信與設(shè)備控制器通信通道可認(rèn)為是特殊的處理器,各通道與通道可認(rèn)為是特殊的處理器

6、,各通道與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í)行、通道是一種特殊的處理機(jī),具有執(zhí)行I/O指令的能力。通過執(zhí)行通道程序指令的能力。通過執(zhí)行通道程序來控制來控制I/O操作操作2、CPU只需向通道發(fā)出一條指令,通道便

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

8、之間的數(shù)據(jù)傳送,選擇控制方式的原則是:之間的數(shù)據(jù)傳送,選擇控制方式的原則是: 保證在足夠的傳輸速度下數(shù)據(jù)的正確傳送。保證在足夠的傳輸速度下數(shù)據(jù)的正確傳送。 系統(tǒng)開銷小。系統(tǒng)開銷小。 充分發(fā)揮硬件資源的能力。充分發(fā)揮硬件資源的能力。本節(jié)討論本節(jié)討論CPU 通過設(shè)備控制器來控制數(shù)據(jù)通過設(shè)備控制器來控制數(shù)據(jù)I/O的方式。的方式。常用的常用的I/O控制方式控制方式(1)程序)程序I/O方式方式接收到接收到CPU發(fā)來的發(fā)來的start指令指令準(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來的下條指令來的下條指令向設(shè)備發(fā)向

9、設(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)生輸入中斷接收到CPU發(fā)來的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是否

10、中斷機(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ù)等待數(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方式方式 中斷控制方式一般

11、以字節(jié)為單位產(chǎn)生中斷,每個(gè)字節(jié)在中斷處理程序中,讀中斷控制方式一般以字節(jié)為單位產(chǎn)生中斷,每個(gè)字節(jié)在中斷處理程序中,讀入到入到CPU的寄存器中。直接存儲(chǔ)器訪問的寄存器中。直接存儲(chǔ)器訪問 DMA(Direct Memory Access)方式)方式的引入是為解決中斷控制方式對(duì)塊設(shè)備低效的問題。減少中斷次數(shù)。的引入是為解決中斷控制方式對(duì)塊設(shè)備低效的問題。減少中斷次數(shù)。 由于大多數(shù)的小型、微型計(jì)算機(jī)采用總線結(jié)構(gòu),由于大多數(shù)的小型、微型計(jì)算機(jī)采用總線結(jié)構(gòu),DMA方式是方式是“竊取竊取”或或“挪用挪用” CPU總線的控制權(quán),即要求總線的控制權(quán),即要求CPU暫停若干總線周期,由暫停若干總線周期,由DMA控制

12、器控制器占有存儲(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í)存放設(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ā)來的發(fā)來的 I/O命令、控制信息、命令、控制信息、 設(shè)備狀態(tài)。設(shè)備狀態(tài)。主機(jī)主機(jī)-控制器接口控

13、制器接口 控制器控制器-塊設(shè)備接口塊設(shè)備接口DMA控制器的組成控制器的組成DRMARDCCRI/O控控制制邏邏輯輯CPUCPU內(nèi)存內(nèi)存命令命令系統(tǒng)總線系統(tǒng)總線DMA控制器控制器。count磁磁盤盤源地址源地址數(shù)據(jù)數(shù)據(jù) DMA工作過程工作過程以磁盤數(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控制器控制下通過總線傳遞到內(nèi)存中控制器控制下通過總線傳遞到內(nèi)存中2、在完成指定量的數(shù)據(jù)接收后,、在完成指定量的數(shù)據(jù)接收后,DMA控制器才向控制器才向CPU產(chǎn)生產(chǎn)生中斷。中斷。

14、3、通過中斷處理程序可能喚醒等待數(shù)據(jù)的進(jìn)程、通過中斷處理程序可能喚醒等待數(shù)據(jù)的進(jìn)程減少減少CPU在數(shù)據(jù)傳遞過程中的干預(yù)在數(shù)據(jù)傳遞過程中的干預(yù)中斷控制方式與中斷控制方式與DMADMA方式方式CPU總線總線CPU(4)通道控制)通道控制通道通過執(zhí)行通道程序并行完成一系列輸入輸出過程通道通過執(zhí)行通道程序并行完成一系列輸入輸出過程進(jìn)一步減少進(jìn)一步減少CPU對(duì)輸入輸出過程的干預(yù)。對(duì)輸入輸出過程的干預(yù)。提高提高CPU與設(shè)備之間的并行性,提高資源利用率,與設(shè)備之間的并行性,提高資源利用率,提高系統(tǒng)吞吐量。提高系統(tǒng)吞吐量。通道通道是一個(gè)獨(dú)立于是一個(gè)獨(dú)立于CPU的專門控制的專門控制I/O工作的簡(jiǎn)單的工作的簡(jiǎn)單的

15、 處理機(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é)束位通道程序結(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ù) 的控制方式。的

16、控制方式。 不同:通道是專門控制不同:通道是專門控制 I/O的處理機(jī)。的處理機(jī)。其指令稱為通道控其指令稱為通道控 制字(制字(CCW),由),由CCW編制的通道程序,獨(dú)立執(zhí)編制的通道程序,獨(dú)立執(zhí) 行行I/O任務(wù)。任務(wù)。通道的控制過程:通道的控制過程: 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ù)傳送到

17、內(nèi)存指定單元。將數(shù)據(jù)傳送到內(nèi)存指定單元。 數(shù)據(jù)傳送結(jié)束,數(shù)據(jù)傳送結(jié)束,I/O控制器向控制器向CPU 發(fā)出中斷請(qǐng)求命令。發(fā)出中斷請(qǐng)求命令。 按照信息交換方式分類:按照信息交換方式分類: 字節(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è)備工作。通道利

18、用率低,傳輸速度快。 數(shù)組多路通道數(shù)組多路通道 連接中、高速設(shè)備連接中、高速設(shè)備通道的類型通道的類型中央處理機(jī)中央處理機(jī)內(nèi)存內(nèi)存字節(jié)多路通道字節(jié)多路通道數(shù)組多路通道數(shù)組多路通道選擇通道選擇通道卡片卡片輸入機(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/

19、OI/O設(shè)備之間的并行操作能力。設(shè)備之間的并行操作能力。減少減少CPU在設(shè)備數(shù)據(jù)傳輸期的干預(yù)在設(shè)備數(shù)據(jù)傳輸期的干預(yù) 一為什么引入緩沖技術(shù)一為什么引入緩沖技術(shù) 緩沖技術(shù)的緩沖技術(shù)的基本思想基本思想: 在內(nèi)存中開辟一個(gè)或多個(gè)專用區(qū)域(緩沖區(qū)),作為在內(nèi)存中開辟一個(gè)或多個(gè)專用區(qū)域(緩沖區(qū)),作為CPU CPU 與與I/OI/O設(shè)備間信息的集散地。設(shè)備間信息的集散地。速度1速度21.1.單緩沖區(qū)(單緩沖區(qū)(single buffersingle buffer) 在設(shè)備和主機(jī)之間設(shè)置一個(gè)緩沖區(qū)。只能緩解速度匹配的問題。不能實(shí)現(xiàn)在設(shè)備和主機(jī)之間設(shè)置一個(gè)緩沖區(qū)。只能緩解速度匹配的問題。不能實(shí)現(xiàn)設(shè)備之間的并行

20、操作。設(shè)備之間的并行操作。二、緩沖區(qū)的組織二、緩沖區(qū)的組織設(shè)備以速率設(shè)備以速率V向緩沖輸入數(shù)據(jù)向緩沖輸入數(shù)據(jù)緩沖區(qū)滿后緩沖區(qū)滿后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ū)(d

21、ouble buffer)雙向通信雙向通信接收接收發(fā)送發(fā)送CPU設(shè)備設(shè)備1設(shè)備設(shè)備2CPU3.多緩沖區(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)互

22、斥標(biāo)識(shí)位互斥標(biāo)識(shí)位設(shè)備緩沖隊(duì)列指針設(shè)備緩沖隊(duì)列指針緩沖區(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)用過程輸入進(jìn)程調(diào)用過程getbuf(

23、emq),從空緩沖隊(duì)列中),從空緩沖隊(duì)列中 申請(qǐng)一空緩沖區(qū)申請(qǐng)一空緩沖區(qū)收容輸入數(shù)據(jù)的緩沖區(qū)(收容輸入數(shù)據(jù)的緩沖區(qū)(hin)。)。 從設(shè)備輸入數(shù)據(jù)到從設(shè)備輸入數(shù)據(jù)到 hin。 調(diào)用過程調(diào)用過程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ū)(提取輸

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

25、utbuf(emq,sin)getbuf(outq)getbuf(emq)putbuf(outq,hout)提取提取輸入輸入提取提取輸出輸出收容收容輸入輸入收容收容輸出輸出典型的緩沖池管理典型的緩沖池管理收容收容輸入輸入getbuf(emq)hinputbuf(inq,hin)提取提取輸入輸入getbuf(inq)sinputbuf(emq,sin)2.5.4設(shè)備的分配設(shè)備的分配按一定算法進(jìn)行設(shè)備分配按一定算法進(jìn)行設(shè)備分配包括設(shè)備、設(shè)備控制器及通道包括設(shè)備、設(shè)備控制器及通道保證保證:“有有”用戶能得到設(shè)備使用權(quán)。用戶能得到設(shè)備使用權(quán)?!鞍踩踩庇脩羰褂迷O(shè)備是安全的。用戶使用設(shè)備是安全的。討論

26、設(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接情況。DCT1DCTiDCTn設(shè)備類型設(shè)備類型Type設(shè)備表示符:設(shè)備表示符:device_id設(shè)備狀態(tài):忙設(shè)備狀態(tài):忙/閑閑指向控制器表的指針指向控制器表的指針重復(fù)執(zhí)行次數(shù)或時(shí)間重復(fù)執(zhí)行次數(shù)或時(shí)間設(shè)備等待隊(duì)列隊(duì)首指針設(shè)備

27、等待隊(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無)無)控制器標(biāo)識(shí)符:控制器標(biāo)識(shí)符:controller_id控制器狀態(tài):忙控制器狀態(tài):忙/閑閑與控制器連接的通道表指針與控制器連接的通道表指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)尾指針控制器隊(duì)列的隊(duì)尾指針控制器表控制器表

28、COCT3.通道控制表通道控制表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ì)尾指針通道控制表通道控制表CHCT4.系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表SDT(System Device Table)整個(gè)系統(tǒng)一張,記錄已連接到系統(tǒng)中的設(shè)備情況,每個(gè)設(shè)備在整個(gè)系統(tǒng)一張,記錄已連接到系統(tǒng)中的設(shè)備情況,每個(gè)設(shè)備在SDT中占

29、一表項(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)控制器名控制器名通道控制表通道控制表狀態(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)分配

30、一次分配所有需要的設(shè)備。不符合分配一次分配所有需要的設(shè)備。不符合分配原則。原則。 動(dòng)態(tài)分配動(dòng)態(tài)分配 進(jìn)程執(zhí)行過程中,按需分配。進(jìn)程執(zhí)行過程中,按需分配。 設(shè)備分配總原則:充分發(fā)揮設(shè)備利用率,避免由于不設(shè)備分配總原則:充分發(fā)揮設(shè)備利用率,避免由于不 合理分配引起進(jìn)程死鎖。合理分配引起進(jìn)程死鎖。 具體考慮以下方面:具體考慮以下方面: 1 .設(shè)備的固有屬性設(shè)備的固有屬性 (獨(dú)占、共享、虛擬)。(獨(dú)占、共享、虛擬)。 2 .設(shè)備分配算法(先來先服務(wù)、優(yōu)先級(jí))。設(shè)備分配算法(先來先服務(wù)、優(yōu)先級(jí))。 3. 設(shè)備分配的安全性(安全或不安全分配方式)。設(shè)備分配的安全性(安全或不安全分配方式)。 4 . 設(shè)備獨(dú)

31、立性(用戶程序獨(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ì)列YN按分配算法選擇進(jìn)程按分配算法選擇進(jìn)程進(jìn)程進(jìn)程P選中?選中?進(jìn)程進(jìn)程P等待等待設(shè)備空閑設(shè)備空閑NY檢查設(shè)備分配的安全性檢查設(shè)備分配的安全性安全嗎?安全嗎?NY設(shè)備分配給進(jìn)程設(shè)備分配給進(jìn)程P11搜索搜索DCT找到找到COCT指針指針 控制器忙?控制器忙?Y進(jìn)程進(jìn)程P等待等待控制器控制器N分配控制

32、器給進(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ù)量有限、效率低,故引入虛擬設(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è)備

33、技術(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ī)技術(shù)。2.5.5虛擬設(shè)備管理與虛擬設(shè)備管理與SPOOLing技術(shù)技術(shù)2 . . SPOOLing 技術(shù)技術(shù)1. 1. 虛擬設(shè)備管理虛擬設(shè)備管理真脫機(jī)技術(shù):輸入、輸出是脫離主機(jī)完成的。真脫機(jī)技術(shù):輸入、輸出是脫離主機(jī)完成的??客鈬鷻C(jī)的控制輸入、輸出設(shè)備與磁盤交換數(shù)據(jù)。靠外圍機(jī)的控制輸入、輸出設(shè)備與磁盤交

34、換數(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è)備輸入到磁盤(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)

35、程訪問低速設(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ī)為例,說明以打印機(jī)為例,說明SPOOLing 系統(tǒng)的工作過程:系統(tǒng)的工作過程: 當(dāng)進(jìn)程請(qǐng)求打印

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論