第七章 外圍設(shè)備管理_第1頁
第七章 外圍設(shè)備管理_第2頁
第七章 外圍設(shè)備管理_第3頁
第七章 外圍設(shè)備管理_第4頁
第七章 外圍設(shè)備管理_第5頁
已閱讀5頁,還剩144頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、引言 數(shù)據(jù)傳輸控制方式 (重點(diǎn)) 中斷技術(shù) (重點(diǎn)) 緩沖技術(shù) (重點(diǎn)) 設(shè)備分配 I/O進(jìn)程控制 設(shè)備驅(qū)動(dòng)程序,第七章 設(shè)備管理,7.1 引言,I/O設(shè)備管理的重要性 外部設(shè)備類型和特征 設(shè)備管理的目的和功能 外設(shè)管理結(jié)構(gòu),1、I/O管理的重要性,(1) I/O設(shè)備就像計(jì)算機(jī)系統(tǒng)的五官和四肢 (2) I/O性能成為系統(tǒng)性能的瓶頸 CPU性能不等于系統(tǒng)性能 CPU性能越高,與I/O差距越大,2、外部設(shè)備類型和特征,外部設(shè)備類型 (1)按交互對象分類 人機(jī)交互設(shè)備:顯示器、鍵盤、鼠標(biāo) 與計(jì)算機(jī)或其他電子設(shè)備交互的設(shè)備:磁盤 計(jì)算機(jī)間的通信設(shè)備:網(wǎng)卡,(2)按交互方向分類 輸入(可讀):鍵盤、掃描

2、儀 輸出(可寫):顯示設(shè)備、打印機(jī) 輸入/輸出(可讀寫):磁盤、網(wǎng)卡,2、外部設(shè)備類型和特征,(3)按外設(shè)特性分類 按數(shù)據(jù)傳輸率: 低速(如鍵盤) 中速(如打印機(jī)) 高速(如網(wǎng)卡、磁盤),2、外部設(shè)備類型和特征,(3)按外設(shè)特性分類 信息組織特征 字符設(shè)備(如打印機(jī)):通常的輸入輸出型設(shè)備 塊設(shè)備(如磁盤):以數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息。,2、外部設(shè)備類型和特征,(4)按使用特性對外部設(shè)備的分類,2、外部設(shè)備類型和特征,(5)從程序使用角度分類 邏輯設(shè)備: 用戶程序中使用的設(shè)備 物理設(shè)備:實(shí)際完成I/O操作的設(shè)備,2、外部設(shè)備類型和特征,(6)按資源分配角度分類 獨(dú)占設(shè)備 在一段時(shí)間內(nèi)只能有一

3、個(gè)進(jìn)程使用的設(shè)備。如打印機(jī),磁帶等。,2、外部設(shè)備類型和特征,(6)按資源分配角度分類 共享設(shè)備 在一段時(shí)間內(nèi)可有多個(gè)進(jìn)程共同使用的設(shè)備。 如硬盤。 虛設(shè)備 獨(dú)占設(shè)備的虛擬共享(SPOOLING),2、外部設(shè)備類型和特征,3 外設(shè)管理的目的和功能,(1)外設(shè)管理目的 提高效率:提高I/O訪問效率,匹配CPU和多種不同處理速度的外設(shè); 方便使用:方便用戶使用; 方便控制:方便OS內(nèi)部對設(shè)備的控制。,從設(shè)備分配的角度來看,設(shè)備分成( )。,獨(dú)享設(shè)備,A,系統(tǒng)設(shè)備,B,用戶設(shè)備,C,共享設(shè)備,D,虛擬設(shè)備,E,提交,(2) 設(shè)備管理功能 提供設(shè)備使用的用戶接口:命令接口和編程接口 設(shè)備分配和釋放 設(shè)

4、備的訪問和控制 I/O緩沖和調(diào)度,3 外設(shè)管理的目的和功能,(3)設(shè)備管理的任務(wù) 選擇和分配輸入輸出設(shè)備 控制輸入輸出設(shè)備和CPU之間數(shù)據(jù)交換 為用戶提供一個(gè)友好的用戶接口,使得用戶在使用和編程時(shí)不需要了解硬件特性 完成設(shè)備和設(shè)備、CPU和設(shè)備、進(jìn)程和進(jìn)程之間的并行操作,3 、外設(shè)管理的目的和功能,設(shè)備管理的功能包括_。,設(shè)備的分配和回收,A,外圍設(shè)備的啟動(dòng)及對磁盤的驅(qū)動(dòng)調(diào)度,B,進(jìn)程調(diào)度,C,外部設(shè)備中斷處理,D,虛擬設(shè)備的實(shí)現(xiàn),E,提交,5、 外部管理結(jié)構(gòu),(1)邏輯I/O 編程用戶接口,提供抽象的命令,如:Read, Write。 通信設(shè)備接口。如網(wǎng)絡(luò)協(xié)議棧; 文件存儲(chǔ)設(shè)備接口。如文件系

5、統(tǒng)的邏輯結(jié)構(gòu)控制。,5、 外部管理結(jié)構(gòu),(2)設(shè)備I/O:邏輯設(shè)備與物理設(shè)備間的過渡協(xié)調(diào)機(jī)構(gòu) 用戶命令到設(shè)備操作序列的轉(zhuǎn)換; I/O緩沖:提高I/O效率。,5、 外部管理結(jié)構(gòu),(3)調(diào)度和控制:直接面對硬件設(shè)備的控制細(xì)節(jié),體現(xiàn)為設(shè)備驅(qū)動(dòng)程序。 并發(fā)I/O訪問調(diào)度; 設(shè)備控制和狀態(tài)維護(hù); 中斷處理。,5、 外部管理結(jié)構(gòu),7.2 數(shù)據(jù)傳送控制方式,是本章重點(diǎn)內(nèi)容之一 設(shè)備管理重要任務(wù):控制外部設(shè)備和內(nèi)存或CPU之間的數(shù)據(jù)傳送,7.2 數(shù)據(jù)傳送控制方式,外圍設(shè)備與內(nèi)存間常用的數(shù)據(jù)傳送控制方式: 程序直接控制方式 中斷控制方式 DMA方式 通道方式,評價(jià)數(shù)據(jù)傳送控制方式的原則 數(shù)據(jù)傳輸速度足夠高,能滿

6、足用戶的需要但又不丟失數(shù)據(jù); 系統(tǒng)開銷小,所需的處理控制程序少; 能充分發(fā)揮硬件資源的能力,使得I/O設(shè)備盡量忙,而CPU等待時(shí)間少,7.2 數(shù)據(jù)傳送控制方式,7.2.1 程序直接控制方式,概念:I/O操作由程序發(fā)起,并等待操作完成。數(shù)據(jù)的每次讀寫通過CPU。,1、程序控制I/O處理過程,2、程序直接控制方式缺點(diǎn) 在外設(shè)進(jìn)行數(shù)據(jù)處理準(zhǔn)備工作時(shí),CPU只能等待; CPU與外設(shè)只能串行工作(外設(shè)在準(zhǔn)備數(shù)據(jù)時(shí)間段); 只適用于CPU執(zhí)行速度較慢,且外圍設(shè)備較少的系統(tǒng)。,7.2.1 程序直接控制方式,7.2.2 中斷驅(qū)動(dòng)方式,1、概念 I/O操作由程序發(fā)起,在外設(shè)的數(shù)據(jù)準(zhǔn)備工作完成時(shí)(如數(shù)據(jù)可讀或已經(jīng)

7、寫入),由外設(shè)向CPU發(fā)出中斷,通知該程序。數(shù)據(jù)的每次讀寫通過CPU。 外設(shè)與CPU有良好的通信。,2、中斷控制方式的傳送結(jié)構(gòu),7.2.2 中斷驅(qū)動(dòng)方式,3 、中斷驅(qū)動(dòng)方式處理過程,7.2.2 中斷驅(qū)動(dòng)方式,4、中斷方式特點(diǎn) (1)優(yōu)點(diǎn) 在外設(shè)準(zhǔn)備數(shù)據(jù)時(shí),CPU不必等待,可以繼續(xù)執(zhí)行該程序或其他程序。 (2)缺點(diǎn) CPU每次處理的數(shù)據(jù)量少,只適于數(shù)據(jù)傳輸率較低的設(shè)備。,7.2.2 中斷驅(qū)動(dòng)方式,某操作系統(tǒng)中,采用中斷驅(qū)動(dòng)I/O控制方式,設(shè)中斷時(shí),CPU用1ms來處理中斷請求,其它時(shí)間CPU完全用來計(jì)算,若系統(tǒng)時(shí)鐘中斷頻率為100HZ,則,CPU的利用率為( )。,60%,A,70%,B,80%

8、,C,90%,D,提交,7.2.3 直接存儲(chǔ)訪問方式 ( DMA),1、概念 由程序設(shè)置DMA控制器中的若干寄存器值(如內(nèi)存始址、傳送字節(jié)數(shù)),然后開始I/O操作,進(jìn)行內(nèi)存與外設(shè)的成批數(shù)據(jù)交換,在操作完成時(shí)由DMA控制器向CPU發(fā)出中斷。,7.2.3 直接存儲(chǔ)訪問方式 ( DMA),2、特征 CPU只需干預(yù)I/O操作的開始和結(jié)束,而其中的一批數(shù)據(jù)讀寫無需CPU控制,適于高速設(shè)備。,3、I/O控制器結(jié)構(gòu),7.2.3 直接存儲(chǔ)訪問方式 ( DMA),4、DMA方式的傳送結(jié)構(gòu),7.2.3 直接存儲(chǔ)訪問方式 ( DMA),5、DMA方式的數(shù)據(jù)傳送處理過程,系統(tǒng)將數(shù)據(jù)從磁盤讀到內(nèi)存的過程包括以下操作:

9、1) DMA控制器發(fā)出中斷請求 2) 初始化DMA控制器并啟動(dòng)磁盤 3) 從磁盤傳輸一塊數(shù)據(jù)到內(nèi)存緩沖區(qū) 4) 執(zhí)行“DMA結(jié)束”中斷服務(wù)程序 正確的執(zhí)行順序是 ( )。,3 1 2 4,A,2 3 1 4,B,2 1 3 4,C,1 2 4 3,D,提交,6、DMA工作原理 CPU存放交互數(shù)據(jù)的內(nèi)存起始地址、要傳送的字節(jié)數(shù)送入DMA控制器的內(nèi)存地址寄存器和傳送字節(jié)計(jì)數(shù)器,中斷允許位和啟動(dòng)位置成1,啟動(dòng)設(shè)備; 發(fā)出傳輸要求的進(jìn)程進(jìn)入等待狀態(tài),執(zhí)行指令被暫時(shí)掛起,進(jìn)程調(diào)度其他進(jìn)程占據(jù)CPU;,7.2.3 直接存儲(chǔ)訪問方式 ( DMA),6、DMA工作原理 輸入設(shè)備不斷竊取CPU工作周期,數(shù)據(jù)不斷

10、寫入內(nèi)存; 傳送完畢,發(fā)出中斷信號; CPU接到中斷信號轉(zhuǎn)入中斷處理程序處理; 中斷處理結(jié)束,CPU返回原進(jìn)程或切換到新的進(jìn)程。,7.2.3 直接存儲(chǔ)訪問方式 ( DMA),7、竊取總線控制權(quán) (1)DMA和CPU共享主存儲(chǔ)器和總線,會(huì)出現(xiàn)I/O處理器和CPU同時(shí)爭相訪問主存的情況; (2)I/O處理器和CPU規(guī)定了不同的優(yōu)先順序;通常CPU被規(guī)定為最低優(yōu)先級;,7.2.3 直接存儲(chǔ)訪問方式 ( DMA),7、竊取總線控制權(quán) (3)系統(tǒng)總線的使用是在CPU控制之下的,當(dāng)I/O處理器要求使用總線時(shí),向CPU發(fā)出請求總線的信號,CPU就把總線使用權(quán)暫時(shí)轉(zhuǎn)讓給I/O處理器。,7.2.3 直接存儲(chǔ)訪問

11、方式 ( DMA),8、DMA執(zhí)行的時(shí)機(jī),處理器周期,處理器周期,處理器周期,處理器周期,處理器周期,處理器周期,指令周期,取指令,指令解碼,取操作數(shù),執(zhí)行指令,保存結(jié)果,進(jìn)程中斷,DMA斷點(diǎn),中斷點(diǎn),7.2.3 直接存儲(chǔ)訪問方式 ( DMA),9、DMA方式與中斷方式的主要區(qū)別 (1)中斷方式是在數(shù)據(jù)緩沖寄存器滿后,發(fā)中斷請求,CPU進(jìn)行中斷處理; (2) DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求CPU進(jìn)行中斷處理,中間只是暫停一個(gè)CPU周期。,7.2.3 直接存儲(chǔ)訪問方式 ( DMA),9、DMA方式與中斷方式的主要區(qū)別 (3)大大減少了CPU進(jìn)行中斷處理的次數(shù); (4)中斷方

12、式的數(shù)據(jù)傳送是由CPU控制完成的; (5)DMA方式則是在DMA控制器的控制下不經(jīng)過CPU控制完成的,因此避免了因速度不匹配而造成數(shù)據(jù)丟失的現(xiàn)象。(DMA硬件比較復(fù)雜)。,7.2.3 直接存儲(chǔ)訪問方式,10、DMA特點(diǎn) (1)優(yōu)點(diǎn):CPU只需干預(yù)I/O操作的開始和結(jié)束,而其中的一批數(shù)據(jù)讀寫無需CPU控制,適于高速設(shè)備。 (2)缺點(diǎn):對外圍設(shè)備的管理和操作仍由CPU控制;多個(gè)DMA控制器的同時(shí)使用會(huì)引起內(nèi)存地址的沖突。,7.2.3 直接存儲(chǔ)訪問方式,11、DMA工作示例(硬盤為例),(1)CPU工作原理 被讀取塊磁盤地址 目標(biāo)存儲(chǔ)地址 待讀取字節(jié)數(shù) 整塊數(shù)據(jù)讀進(jìn)緩沖區(qū) 核準(zhǔn)校驗(yàn),11、DMA工作

13、示例(硬盤為例),(2)控制器工作原理 控制器按照指定存儲(chǔ)器地址,把第一個(gè)字節(jié)送入主存; 按指定字節(jié)數(shù)進(jìn)行數(shù)據(jù)傳送; 每當(dāng)傳送一個(gè)字節(jié)后,字節(jié)計(jì)數(shù)器值減1,直到字節(jié)計(jì)數(shù)器等于0; 此時(shí),控制器引發(fā)中斷,通知操作系統(tǒng)進(jìn)一步處理。,11、DMA工作示例(硬盤為例),7.2.4 通道控制方式,通道(I/O處理機(jī))定義 專門用于輸入輸出的設(shè)備,有低速率的CPU,能夠執(zhí)行輸入輸出指令。,7.2.4 通道控制方式,2、特點(diǎn) (1)配有專用處理機(jī):可執(zhí)行輸入輸出程序的、只負(fù)責(zé)外部設(shè)備與內(nèi)存直接交換數(shù)據(jù)的; (2)負(fù)責(zé)外部設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送的一切工作; (3)CPU只命令I(lǐng)/O處理機(jī)執(zhí)行主存中的I/O程

14、序。當(dāng)整個(gè)I/O程序執(zhí)行完成后,CPU被中斷。,通道是一種_。,保存I/O信息的部件,A,傳輸信息的電子線路,B,專用處理機(jī),C,通用處理機(jī),D,可與CPU并行工作的一種處理機(jī),E,提交,3、通道指令 (1)引入目的:通道控制方式中,CPU不用向通道控制器傳送字節(jié)數(shù)和內(nèi)存起始地址給相關(guān)寄存器; (2)通道指令內(nèi)容:被交換數(shù)據(jù)的內(nèi)存地址、傳送方向、數(shù)據(jù)塊長度、被控制I/O設(shè)備的地址信息、特征信息等,7.2.4 通道控制方式,3、通道指令 (3)格式 組成內(nèi)容:操作碼(讀、寫或控制)、通道指令結(jié)束標(biāo)志、 記錄結(jié)束標(biāo)志、計(jì)數(shù)段(數(shù)據(jù)塊長度)、內(nèi)存地址段。 通道指令實(shí)例 write 0 0 250 1

15、850; write 1 1 250 720;,7.2.4 通道控制方式,4. 引入通道的目的與優(yōu)點(diǎn) (1)目的 為了使CPU從I/O事務(wù)中解脫出來,同時(shí)為了提高CPU與設(shè)備,設(shè)備與設(shè)備之間的并行工作能力。 (2)優(yōu)點(diǎn) 執(zhí)行一個(gè)通道程序可以完成多批I/O操作。,7.2.4 通道控制方式,下列屬于“通道”特征的是 _。,負(fù)責(zé)數(shù)據(jù)輸入輸出工作,A,可以與CPU并行工作,B,比CPU工作速度快,C,一個(gè)通道可連接多個(gè)控制器,D,是一種軟件,E,提交,利用通道實(shí)現(xiàn)了( )之間數(shù)據(jù)的快速傳輸。,CPU和外設(shè),A,內(nèi)存和CPU,B,內(nèi)存和外設(shè),C,外設(shè)和外設(shè),D,提交,5、通道方式的數(shù)據(jù)傳送結(jié)構(gòu),6、DM

16、A和通道數(shù)據(jù)傳輸方式區(qū)別 (1)DMA:數(shù)據(jù)的傳輸方向、存放數(shù)據(jù)的內(nèi)存地址和傳送的數(shù)據(jù)塊長度由CPU控制; (2)通道方式:數(shù)據(jù)的傳輸方向、存放數(shù)據(jù)的內(nèi)存地址和傳送的數(shù)據(jù)塊長度由通道本身完成; (3)DMA控制器只能控制一臺(tái)DMA設(shè)備,而一個(gè)通道控制器可以控制多個(gè)通道設(shè)備。,7.2.4 通道控制方式,在下面的I/O控制方式中,需要CPU干預(yù)最少的方式是( )。,程序I/O方式,A,中斷驅(qū)動(dòng)I/O控制方式,B,直接存儲(chǔ)器訪問DMA控制方式,C,I/O通道控制方式,D,提交,為了實(shí)現(xiàn)CPU與外部設(shè)備間最大的并行性,應(yīng)采用( )。,中斷技術(shù),A,共享設(shè)備,B,通道設(shè)備,C,緩沖設(shè)備,D,提交,7.

17、通道分類 (1)選擇通道:可以連接多個(gè)外設(shè),而一次只能訪問其中一個(gè)外設(shè); (2)成組多路通道:可以并發(fā)訪問多個(gè)外設(shè),同時(shí)連接多個(gè)中速塊設(shè)備; (3)字節(jié)多路通道:多個(gè)字符設(shè)備,7.2.4 通道控制方式,7. 通道分類 (1) 字節(jié)多路通道 字節(jié)多路通道以字節(jié)為單位傳輸信息; 連接以字節(jié)為單位的低速I/O設(shè)備。如打印機(jī),終端; 可并發(fā)工作。,7.2.4 通道控制方式,字節(jié)多路通道的工作原理,字節(jié)多路通道的工作原理,7. 通道分類 (2) 選擇通道(不能并發(fā)) 工作特點(diǎn):選擇通道是以成組方式工作的,每次傳送一批數(shù)據(jù),傳送速度很高。選擇通道在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸

18、。 當(dāng)這臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺(tái)設(shè)備,執(zhí)行它的相應(yīng)的通道程序。,7.2.4 通道控制方式,7. 通道分類 (2) 選擇通道(不能并發(fā)),7.2.4 通道控制方式,7. 通道分類 (3)成組多路通道 工作特點(diǎn): 結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進(jìn)行分時(shí)并行操作的優(yōu)點(diǎn); 它先為一臺(tái)設(shè)備執(zhí)行一條通道指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令。,7.2.4 通道控制方式,8、通道硬件結(jié)構(gòu),7.2.4 通道控制方式,9、通道、控制器與外設(shè)關(guān)系 一個(gè)通道可連接多個(gè)控制器,一個(gè)控制器可連接多個(gè)設(shè)備,形成樹形交叉連接,7.2.4 通道控制方式,9、設(shè)備、控制器、通道、內(nèi)存之

19、間的關(guān)系 (1)單通道I/O系統(tǒng),7.2.4 通道控制方式,9、設(shè)備、控制器、通道、內(nèi)存之間的關(guān)系 (2)多通道I/O系統(tǒng),交叉連接,7.2.4 通道控制方式,10.通道控制方式數(shù)據(jù)輸入處理過程 (1)當(dāng)進(jìn)程要求設(shè)備輸入數(shù)據(jù)時(shí),CPU發(fā)Start指令指明I/O操作、設(shè)備號和對應(yīng)通道; (2)對應(yīng)通道接收到CPU發(fā)來的啟動(dòng)指令Start之后,把存放在內(nèi)存中的通道指令程序讀出,設(shè)置對應(yīng)設(shè)備的I/O控制器中的控制狀態(tài)寄存器;,7.2.4 通道控制方式,10.通道控制方式數(shù)據(jù)輸入處理過程 (3)設(shè)備根據(jù)通道指令的要求,把數(shù)據(jù)送往內(nèi)存中指定區(qū)域; (4)若數(shù)據(jù)傳送結(jié)束,I/O控制器通過中斷請求線發(fā)出中斷

20、信號請求CPU做中斷處理; (5)中斷處理結(jié)束后CPU返回被中斷進(jìn)程處繼續(xù)執(zhí)行。,7.2.4 通道控制方式,從CPU執(zhí)行的角度描述通道控制,下列()不是磁盤設(shè)備的特點(diǎn)。,傳輸速率較高,以數(shù)據(jù)塊為傳輸單位,A,一段時(shí)間內(nèi)只允許一個(gè)用戶(進(jìn)程)訪問,B,I/O控制方式常采用DMA方式,C,可以尋址,隨機(jī)地讀/寫任意數(shù)據(jù)塊,D,提交,7.3 中斷技術(shù),中斷的基本概念 中斷的分類和優(yōu)先級 軟中斷 中斷處理過程,7.3.1 中斷處理概念,1、中斷概念 指計(jì)算機(jī)在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的緊急處理事件,使得CPU暫時(shí)中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來

21、被中斷處繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行的過程。,7.3.1 中斷處理概念,2、專業(yè)名詞 (1)中斷源:引起中斷發(fā)生的事件; (2)中斷請求:中斷源向CPU發(fā)出的請求中斷處理信號; (3)中斷響應(yīng):CPU收到中斷請求后轉(zhuǎn)相應(yīng)的事件處理程序。,7.3.1 中斷處理概念,2、相關(guān)專業(yè)名詞 (4)禁止中斷:將CPU內(nèi)部的處理機(jī)狀態(tài)字PSW的中斷允許位清除,從而不允許CPU響應(yīng)中斷,所以又稱為關(guān)中斷; (5)開中斷:設(shè)置中斷允許位,或稱為打開中斷允許位,7.3.1 中斷處理概念,2、相關(guān)專業(yè)名詞 (6)中斷屏蔽:指在中斷請求產(chǎn)生后,系統(tǒng)用軟件方式有選擇地封閉部分中斷而允許其余部分的中斷仍能得到響應(yīng); 最高優(yōu)

22、先級的中斷不管計(jì)算機(jī)處理何種狀態(tài),必須能夠立即響應(yīng)的,例如電源中斷,機(jī)器必須及時(shí)響應(yīng),無法中斷。,7.3.2 中斷的分類和優(yōu)先級,3、中斷分類 (1)外中斷:所有外圍設(shè)備(除了CPU和內(nèi)存)產(chǎn)生的中斷; (2)內(nèi)中斷:由CPU和內(nèi)存產(chǎn)生的中斷。例如系統(tǒng)調(diào)用,4、外中斷和內(nèi)中斷區(qū)別 (1)內(nèi)中斷通常由處理機(jī)正在執(zhí)行的現(xiàn)行指令引起,而外中斷則是由與現(xiàn)行指令無關(guān)的中斷源引起; (2)內(nèi)中斷處理程序提供的服務(wù)為當(dāng)前進(jìn)程所用,而外中斷處理程序提供的服務(wù)則不是;,7.3.2 中斷的分類和優(yōu)先級,4、外中斷和內(nèi)中斷區(qū)別 (3)CPU在響應(yīng)完一條指令之后,下一條指令開始之前響應(yīng)外中斷,而在一條指令執(zhí)行中可以響

23、應(yīng)內(nèi)中斷。,7.3.2 中斷的分類和優(yōu)先級,7.3.2 中斷的分類和優(yōu)先級,5、中斷優(yōu)先級 (1)CPU的處理機(jī)狀態(tài)字PSW動(dòng)態(tài)設(shè)置優(yōu)先級; (2)中斷源請求能否得到響應(yīng)取決于和PSW的優(yōu)先級比較,高于則能做出響應(yīng)。,7.3.3 中斷處理過程,7.3.4 中斷處理具體過程,1、CPU檢查相應(yīng)中斷條件是否滿足; 2、如果CPU相應(yīng)中斷,則CPU關(guān)中斷,使其進(jìn)入不可再次響應(yīng)中斷的狀態(tài); 3、保存被中斷進(jìn)程現(xiàn)場;,7.3.4 中斷處理具體過程,4、分析中斷原因,調(diào)用中斷處理子程序; 5、執(zhí)行中斷處理子程序; 6、退出中斷,恢復(fù)被中斷進(jìn)程的現(xiàn)場或調(diào)度新進(jìn)程占據(jù)處理機(jī); 7、開中斷,CPU繼續(xù)執(zhí)行。,從

24、CPU處理角度描述中斷處理I/O請求,7.4 緩沖技術(shù)(重點(diǎn)),緩沖區(qū),CPU,外設(shè),引入緩沖目的:在CPU和外設(shè)之間設(shè)置緩沖區(qū),用于暫存CPU與外設(shè)之間交換的數(shù)據(jù),從而緩和CPU與外設(shè)速度不匹配的矛盾。,7.4.1 引言,1、緩沖區(qū)概念 是指在內(nèi)存或其它存儲(chǔ)區(qū)中開辟一塊存儲(chǔ)空間,用于緩沖CPU和外設(shè)待處理的數(shù)據(jù)。,2、緩沖技術(shù)功能 (1)匹配CPU或用戶應(yīng)用進(jìn)程與外設(shè)的不同處理速度; (2)減少對CPU的中斷次數(shù); (3)提高CPU和I/O設(shè)備之間以及各個(gè)I/O設(shè)備之間的處理并行性。,7.4.1 引言,3、緩沖區(qū)的位置 內(nèi)存、控制器存儲(chǔ)區(qū)和外設(shè)存儲(chǔ)區(qū)。 (1)硬件緩沖區(qū)。如I/O控制器中的數(shù)

25、據(jù)緩沖寄存器; (2)軟件緩沖區(qū)。在內(nèi)存畫出一個(gè)具有n個(gè)單元的專用緩沖區(qū)。,7.4.1 引言,4、緩沖區(qū)為進(jìn)程提供服務(wù)過程 (1)進(jìn)程在對某個(gè)設(shè)備提出I/O請求前,先請求分配一個(gè)緩沖區(qū),然在再在設(shè)備I/O請求隊(duì)列中排隊(duì); (2)當(dāng)設(shè)備為該進(jìn)程的I/O請求服務(wù)時(shí),設(shè)備并不需要進(jìn)程一定在主存中,因?yàn)橹幌蛟撨M(jìn)程的緩沖區(qū)中傳送數(shù)據(jù);,7.4.1 引言,4、緩沖區(qū)為進(jìn)程提供服務(wù)過程 (3)數(shù)據(jù)傳送完成后,中斷處理程序喚醒該進(jìn)程,將緩沖區(qū)中的數(shù)據(jù)讀入進(jìn)程在主存的地址空間中進(jìn)行處理。,7.4.1 引言,CPU輸出數(shù)據(jù)的速度遠(yuǎn)遠(yuǎn)超過打印機(jī)的打印速度,影響程序執(zhí)行速度,為解決這一問題,可以采用( )。,通道技術(shù)

26、,A,虛擬存儲(chǔ)器,B,并行技術(shù),C,緩沖技術(shù),D,提交,7.4.2 緩沖的種類,緩沖類型(根據(jù)大小劃分) (1)單緩沖(single buffer):一個(gè)緩沖區(qū),CPU和外設(shè)輪流使用,一方處理完之后接著等待對方處理。 (2)雙緩沖(double buffer):兩個(gè)緩沖區(qū),CPU和外設(shè)都可以連續(xù)處理而無需等待對方。要求CPU和外設(shè)的速度相近。,7.4.2 緩沖的種類,緩沖類型(根據(jù)大小劃分) (3)多緩沖(circular buffer):多個(gè)緩沖區(qū),CPU和外設(shè)的處理速度可以相差較大; (4)緩沖池:把多個(gè)緩沖區(qū)連接起來統(tǒng)一管理,該緩沖區(qū)既可以用于輸入也可用以輸出。,7.4.2 緩沖的種類,

27、1單緩沖(Single Buffer) (1)數(shù)據(jù)塊處理事件計(jì)算 假定從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū)的時(shí)間為T,將該緩沖區(qū)中的數(shù)據(jù)傳送到用戶區(qū)的時(shí)間為M,CPU對這一塊數(shù)據(jù)處理的時(shí)間為C。,7.4.2 緩沖的種類,單緩沖工作示意圖,7.4.2 緩沖的種類,1單緩沖(Single Buffer) (1)數(shù)據(jù)塊處理事件計(jì)算 由于T和C是可以并行工作的。當(dāng)TC時(shí),系統(tǒng)對每一塊數(shù)據(jù)的處理時(shí)間為M+T,反之則為M+C,故可把系統(tǒng)對每一塊數(shù)據(jù)的處理時(shí)間表示為Max(C,T)+M,最后一個(gè)數(shù)據(jù)塊除外。 n個(gè)數(shù)據(jù)塊所需時(shí)間: (n-1)*Max(C,T)+M+(T+M+C),7.4.2 緩沖的種類,2雙緩沖 (

28、1)工作特點(diǎn):在設(shè)備輸入時(shí),先將數(shù)據(jù)送入第一緩沖區(qū),裝滿后便轉(zhuǎn)向第二緩沖區(qū)。此時(shí)操作系統(tǒng)可以從第一緩沖區(qū)中移出數(shù)據(jù),并送入用戶進(jìn)程,接著由CPU對數(shù)據(jù)進(jìn)行處理。,7.4.2 緩沖的種類,7-12 雙緩沖工作示意圖,9.4.2 緩沖的種類,2雙緩沖(Double Buffer) (2)數(shù)據(jù)塊處理時(shí)間計(jì)算。 在雙緩沖時(shí),除了最后一個(gè)數(shù)據(jù)塊之外,系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間可以粗略地認(rèn)為是Max(C+M,T)。如果C+MT,則可使CPU不必等待設(shè)備輸入。 處理n批數(shù)據(jù)的總時(shí)間: (n-1)* Max(C+M,T)+(T+M+C),7.4.2 緩沖的種類,某文件占10個(gè)磁盤塊,現(xiàn)要把該文件磁盤塊逐個(gè)讀入主存

29、緩沖區(qū),并送用戶區(qū)進(jìn)行分析。假設(shè)一個(gè)緩沖區(qū)與一個(gè)磁盤塊大小相同,把一個(gè)磁盤塊讀入緩沖區(qū)的時(shí)間為100s,將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)的時(shí)間是50s,CPU對一塊數(shù)據(jù)進(jìn)行分析的時(shí)間為50s。在單緩沖區(qū)和雙緩沖區(qū)結(jié)構(gòu)下,讀入并分析該文件的時(shí)間分別是( )。,1500s、1000s,A,1550s、1100s,B,1550s、1550s,C,2000s、2000s,D,提交,1、緩沖區(qū)類型 (1)空閑緩沖區(qū); (2)裝滿輸入數(shù)據(jù)的緩沖區(qū); (3)裝滿輸出數(shù)據(jù)的緩沖區(qū)。,7.4.3 緩沖池管理(buffer pool),緩沖池是一種雙方向緩沖技術(shù),7.3.3 緩沖池管理(buffer pool),2、緩

30、沖區(qū)隊(duì)列類型 (1)空閑緩沖區(qū)隊(duì)列; (2) 輸入緩沖隊(duì)列; (3) 輸出緩沖隊(duì)列。,7.3.3 緩沖池管理(buffer pool),7.3.3 緩沖池管理(buffer pool),3、緩沖池操作類型 (1)設(shè)備輸入 (2)CPU讀入 (3)設(shè)備輸出 (4)CPU寫出,7.3.3 緩沖池管理(buffer pool),4、根據(jù)操作類型劃分緩沖隊(duì)列,7.3.3 緩沖池管理(buffer pool),4、根據(jù)操作類型劃分緩沖隊(duì)列 收容輸入緩沖隊(duì)列hin:收容設(shè)備輸入數(shù)據(jù) 提取輸入緩沖隊(duì)列sin:提取設(shè)備輸入數(shù)據(jù) 收容輸出緩沖隊(duì)列hout:收容CPU輸出數(shù)據(jù) 提取輸出緩沖隊(duì)列sout:提取CPU

31、輸出數(shù)據(jù),7.3.3 緩沖池管理(buffer pool),5Getbuf過程和Putbuf過程 (1)緩沖區(qū)入隊(duì)與出隊(duì)函數(shù) (1) Addbuf(type,number)函數(shù)。 用于將由參數(shù)number所指示的緩沖區(qū)掛在type隊(duì)列上 (2) Takebuf(type)函數(shù)。 用于從type所指示的隊(duì)列的隊(duì)首摘下一個(gè)緩沖區(qū)。,7.3.3 緩沖池管理(buffer pool),5Getbuf過程和Putbuf過程 (2)入隊(duì)與出隊(duì)同步與互斥信號量設(shè)置 為使進(jìn)程之間能互斥地訪問緩沖池隊(duì)列,為每一隊(duì)列設(shè)置一個(gè)互斥信號量S(type); 為保證進(jìn)程之間同步地使用緩沖區(qū),為每個(gè)緩沖隊(duì)列設(shè)置了一個(gè)資源信

32、號量RS(type)。,7.3.3 緩沖池管理(buffer pool),5Getbuf和Putbuf,6緩沖隊(duì)列的工作方式類型 收容輸入 提取輸入 收容輸出 提取輸出,7.3.3 緩沖池管理(buffer pool),圖7-15 緩沖隊(duì)列的工作方式,7.3.3 緩沖池管理(buffer pool),收容輸入(hin) 在輸入進(jìn)程需要輸入數(shù)據(jù)時(shí),便調(diào)用Getbuf(emq)過程,從空緩沖隊(duì)列emq的隊(duì)首摘下一空緩沖區(qū),把它作為收容輸入工作緩沖區(qū)hin;然后,把數(shù)據(jù)輸入其中,裝滿后再調(diào)用Putbuf(inq,hin)過程,將該緩沖區(qū)掛在輸入隊(duì)列inq上。,7.3.3 緩沖池管理(buffer p

33、ool),(2) 提取輸入 (sin) 當(dāng)計(jì)算進(jìn)程需要輸入數(shù)據(jù)時(shí),調(diào)用Getbuf(inq)過程,從輸入隊(duì)列inq的隊(duì)首取得一個(gè)緩沖區(qū),作為提取輸入工作緩沖區(qū)(sin),計(jì)算進(jìn)程從中提取數(shù)據(jù)。計(jì)算進(jìn)程用完該數(shù)據(jù)后,再調(diào)用Putbuf(emq,sin)過程,將該緩沖區(qū)掛到空緩沖隊(duì)列emq上。,7.3.3 緩沖池管理(buffer pool),(3) 收容輸出(hout) 當(dāng)計(jì)算進(jìn)程需要輸出時(shí),調(diào)用Getbuf(emq)過程從空緩沖隊(duì)列emq的隊(duì)首取得一個(gè)空緩沖區(qū),作為收容輸出工作緩沖區(qū)hout。當(dāng)其中裝滿輸出數(shù)據(jù)后,又調(diào)用Putbuf(outq,hout)過程,將該緩沖區(qū)掛在outq末尾。,7.

34、3.3 緩沖池管理(buffer pool),(4) 提取輸出 (sout) 由輸出進(jìn)程調(diào)用Getbuf(outq)過程,從輸出隊(duì)列的隊(duì)首取得一裝滿輸出數(shù)據(jù)的緩沖區(qū),作為提取輸出工作緩沖區(qū)sout。在數(shù)據(jù)提取完后,再調(diào)用Putbuf(emq,sout)過程,將該緩沖區(qū)掛在空緩沖隊(duì)列末尾。,7.3.3 緩沖池管理(buffer pool),7.5 設(shè)備分配,設(shè)備分配數(shù)據(jù)結(jié)構(gòu) 設(shè)備分配原則 設(shè)備分配方式 假脫機(jī)技術(shù),7.5.1 設(shè)備分配數(shù)據(jù)結(jié)構(gòu),設(shè)備控制表 系統(tǒng)設(shè)備表 控制器控制表 通道控制表,1、設(shè)備控制表(DCT, Device Control Table),(1)概念 每個(gè)設(shè)備一張,描述設(shè)備

35、特性和狀態(tài)。反映設(shè)備的特性、設(shè)備和控制器的連接情況。,1、設(shè)備控制表(DCT, Device Control Table),(2) 組成內(nèi)容 設(shè)備標(biāo)識(shí)符,用來區(qū)別不同設(shè)備; 設(shè)備類型。反映設(shè)備的特性; 設(shè)備地址或設(shè)備號; 設(shè)備狀態(tài)。指設(shè)備是出于工作狀態(tài)還是空閑; 等待隊(duì)列指針。等待使用該設(shè)備的進(jìn)程組成的隊(duì)列; I/O控制器指針。指向該設(shè)備相連接的I/O控制器。,2、系統(tǒng)設(shè)備表(System Device Table),(1)概念 系統(tǒng)內(nèi)一張,反映系統(tǒng)中設(shè)備資源的狀態(tài),記錄所有設(shè)備的狀態(tài)及其設(shè)備控制表的入口。 (2)組成內(nèi)容 DCT指針。指向有關(guān)設(shè)備的設(shè)備控制表 正在使用設(shè)備的進(jìn)程 設(shè)備類型和設(shè)

36、備標(biāo)識(shí)符,3、控制器控制表,每個(gè)設(shè)備控制器一張,描述I/O控制器的配置和狀態(tài)。如DMA控制器所占用的中斷號、DMA數(shù)據(jù)通道的分配。,4、通道控制表,每個(gè)通道一張,描述通道工作狀態(tài)。,5、各表間的關(guān)系,系統(tǒng)設(shè)備表,設(shè)備控制表(DCT),控制器控制表COCT,通道控制表CHCT,下列關(guān)于通道、設(shè)備、設(shè)備控制器三者之間的關(guān)系敘述中正確的是( )。,控制器和通道可以分別控制設(shè)備,A,控制器、通道和設(shè)備一起工作,B,通道控制設(shè)備控制器,設(shè)備控制器控制設(shè)備,C,設(shè)備控制器控制通道,通道控制設(shè)備,D,提交,7.5.2 設(shè)備分配原則,1、總體原則 (1)合理使用外設(shè)(公平和避免死鎖); (2) 提高設(shè)備利用率; (3) 應(yīng)用程序與設(shè)備無關(guān)。,2、與設(shè)備分配有關(guān)的設(shè)備屬性 獨(dú)享設(shè)備:打印機(jī)等; 共享設(shè)備:磁盤、網(wǎng)卡等;,7.5.2設(shè)備分配原則,7.5.3、 設(shè)備分配方式,(1)靜態(tài)分配 不會(huì)出現(xiàn)死鎖; 設(shè)備利用率不高。 (2)動(dòng)態(tài)分配 有利于提高設(shè)備利用率; 需要考慮死鎖問題。,(1)靜態(tài)分配 特點(diǎn):在用戶作業(yè)開始執(zhí)行之前,由系統(tǒng)一次分配該作業(yè)所要求的全部設(shè)備、控制器和通道。 優(yōu)勢:不會(huì)出現(xiàn)死鎖。 缺點(diǎn):設(shè)備利用率低。,7.5.3、 設(shè)備分配方式,(2)動(dòng)態(tài)分配 特點(diǎn):在進(jìn)程執(zhí)行過程中根據(jù)執(zhí)行需要進(jìn)行分配設(shè)備。 優(yōu)勢:有利于提高設(shè)備的利用率。 缺點(diǎn):容易造成死鎖。,7.5.3、 設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論