第五章設(shè)備管理8課時_第1頁
第五章設(shè)備管理8課時_第2頁
第五章設(shè)備管理8課時_第3頁
第五章設(shè)備管理8課時_第4頁
第五章設(shè)備管理8課時_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 操作系統(tǒng) 第五章 設(shè)備管理1 1第五章 設(shè)備管理5.1 輸入輸出管理概念5.2 數(shù)據(jù)傳送控制方式5.3 中斷技術(shù)5.4 緩沖技術(shù)5.5 設(shè)備分配5.6 I/O進程控制5.7 設(shè)備驅(qū)動程序5.8 磁盤的驅(qū)動調(diào)度 操作系統(tǒng) 第五章 設(shè)備管理2 25.1 輸入輸出管理概念一、設(shè)備管理的目的:1 1)合理地利用外部設(shè)備)合理地利用外部設(shè)備: :提高設(shè)備的并行性和均衡性提高設(shè)備的并行性和均衡性。2 2)方便用戶:)方便用戶:對各種不同的設(shè)備都使用同一界面。對各種不同的設(shè)備都使用同一界面。二、設(shè)備管理的功能 根據(jù)各類設(shè)備的特點確定相應(yīng)的分配策略。(根據(jù)各類設(shè)備的特點確定相應(yīng)的分配策略。(包括:包括:設(shè)備

2、分配策略,分配的方式,分配技術(shù)和選擇用戶的設(shè)備分配策略,分配的方式,分配技術(shù)和選擇用戶的算法算法。)。) 啟動設(shè)備完成實際的輸入輸出操作。啟動設(shè)備完成實際的輸入輸出操作。 向用戶提供統(tǒng)一、友好的使用界面。(設(shè)備獨立性)向用戶提供統(tǒng)一、友好的使用界面。(設(shè)備獨立性) 優(yōu)化設(shè)備的調(diào)度、提高設(shè)備的利用率。優(yōu)化設(shè)備的調(diào)度、提高設(shè)備的利用率。外部設(shè)備:除除CPUCPU、主存之外的其它設(shè)備。、主存之外的其它設(shè)備。 操作系統(tǒng) 第五章 設(shè)備管理3 3三、設(shè)備的分類 計算機的計算機的I/OI/O設(shè)備種類很多,結(jié)構(gòu)也較復(fù)雜,管理起設(shè)備種類很多,結(jié)構(gòu)也較復(fù)雜,管理起來較困難,為了管理上的方便。通常按不同的觀點從不來

3、較困難,為了管理上的方便。通常按不同的觀點從不同的角度對設(shè)備進行分類。同的角度對設(shè)備進行分類。1按所屬關(guān)系分類1 1)系統(tǒng)設(shè)備。系統(tǒng)設(shè)備。指在操作系統(tǒng)生成時已登記于系統(tǒng)中的指在操作系統(tǒng)生成時已登記于系統(tǒng)中的標(biāo)標(biāo)準(zhǔn)設(shè)備準(zhǔn)設(shè)備。如鍵盤、打印機、磁盤等。如鍵盤、打印機、磁盤等。2 2)用戶設(shè)備。用戶設(shè)備。指在系統(tǒng)生成時未登記于系統(tǒng)中的指在系統(tǒng)生成時未登記于系統(tǒng)中的非標(biāo)準(zhǔn)非標(biāo)準(zhǔn)設(shè)備設(shè)備。用戶必須用某種方式把這類設(shè)備交給系統(tǒng)統(tǒng)一管理,。用戶必須用某種方式把這類設(shè)備交給系統(tǒng)統(tǒng)一管理,如繪圖機、掃描儀等,如繪圖機、掃描儀等, 操作系統(tǒng) 第五章 設(shè)備管理4 42從資源分配角度分類1 1)獨占設(shè)備。獨占設(shè)備。指

4、在系統(tǒng)運行過程中,一經(jīng)分配給某一作業(yè),指在系統(tǒng)運行過程中,一經(jīng)分配給某一作業(yè),就在作業(yè)整個運行期間都為它獨占的設(shè)備,如就在作業(yè)整個運行期間都為它獨占的設(shè)備,如打印機、卡打印機、卡片輸入機片輸入機等。等。2 2)共享設(shè)備。共享設(shè)備。指允許若干個用戶同時共享使用的設(shè)備,如指允許若干個用戶同時共享使用的設(shè)備,如磁盤、磁帶磁盤、磁帶等。等。3 3)虛擬設(shè)備。虛擬設(shè)備。為提高設(shè)備的利用率,通過為提高設(shè)備的利用率,通過Spooling技術(shù)把技術(shù)把獨占設(shè)備改造為共享設(shè)備,用來模擬獨占設(shè)備的那部分共享獨占設(shè)備改造為共享設(shè)備,用來模擬獨占設(shè)備的那部分共享設(shè)備稱為設(shè)備稱為虛擬設(shè)備虛擬設(shè)備。 操作系統(tǒng) 第五章 設(shè)備

5、管理5 53從設(shè)備的使用特性分類1 1) 存儲設(shè)備。存儲設(shè)備。指計算機用來存儲信息的設(shè)備:如磁盤、指計算機用來存儲信息的設(shè)備:如磁盤、磁帶等。磁帶等。2 2) 輸入輸出設(shè)備。輸入輸出設(shè)備。包括輸入設(shè)備和輸出設(shè)備兩大類。包括輸入設(shè)備和輸出設(shè)備兩大類。輸入設(shè)備輸入設(shè)備:是將外部世界來的信息輸送給計算機,如鍵盤、:是將外部世界來的信息輸送給計算機,如鍵盤、鼠標(biāo)器、掃描儀等。鼠標(biāo)器、掃描儀等。輸出設(shè)備:輸出設(shè)備:是將計算機處理或加工好的信息輸出給外部世是將計算機處理或加工好的信息輸出給外部世界,如打印機、顯示器、繪圖機等。界,如打印機、顯示器、繪圖機等。3 3) 終端設(shè)備。終端設(shè)備。 操作系統(tǒng) 第五章

6、 設(shè)備管理6 64按信息交換方式分類1 1)塊設(shè)備。)塊設(shè)備。指計算機的主存和外設(shè)之間的信息交換是以塊指計算機的主存和外設(shè)之間的信息交換是以塊為單位進行的設(shè)備。一塊通常是為單位進行的設(shè)備。一塊通常是512512個字節(jié)或個字節(jié)或1K1K字節(jié),由于字節(jié),由于信息交換以塊為單位進行,所以這類設(shè)備有較高的存取速信息交換以塊為單位進行,所以這類設(shè)備有較高的存取速度;如度;如磁盤、磁帶磁盤、磁帶等。等。2 2)字符設(shè)備。)字符設(shè)備。指計算機的主存與設(shè)備之間的信息交換是以指計算機的主存與設(shè)備之間的信息交換是以字符為單位進行的設(shè)備,由于每次只能傳送一個字符的信息,字符為單位進行的設(shè)備,由于每次只能傳送一個字符

7、的信息,所以這類設(shè)備的速度較低,如所以這類設(shè)備的速度較低,如鍵盤、顯示器、打印機、卡片鍵盤、顯示器、打印機、卡片輸入機輸入機等。等。 操作系統(tǒng) 第五章 設(shè)備管理7 7 計算機系統(tǒng)的輸入輸出設(shè)備種類、型號、規(guī)格繁多,所計算機系統(tǒng)的輸入輸出設(shè)備種類、型號、規(guī)格繁多,所以必須屏蔽設(shè)備的物理特性,向用戶提供一個統(tǒng)一、簡便的以必須屏蔽設(shè)備的物理特性,向用戶提供一個統(tǒng)一、簡便的使用接口,實現(xiàn)所謂的與設(shè)備無關(guān)性(設(shè)備獨立性)。使用接口,實現(xiàn)所謂的與設(shè)備無關(guān)性(設(shè)備獨立性)。 所謂所謂方便方便,是指用戶能擺脫具體物理設(shè)備的繁瑣規(guī)定的,是指用戶能擺脫具體物理設(shè)備的繁瑣規(guī)定的束縛而方便靈活地使用設(shè)備。束縛而方便靈

8、活地使用設(shè)備。 所謂所謂統(tǒng)一統(tǒng)一,是指對各種不同的設(shè)備都使用同一界面。例是指對各種不同的設(shè)備都使用同一界面。例如,在如,在UNIXUNIX系統(tǒng)中從各種輸入設(shè)備輸入信息都使用系統(tǒng)調(diào)用系統(tǒng)中從各種輸入設(shè)備輸入信息都使用系統(tǒng)調(diào)用read,read,向各種輸出設(shè)備傳送信息都使用系統(tǒng)調(diào)用向各種輸出設(shè)備傳送信息都使用系統(tǒng)調(diào)用write.write.四、設(shè)備獨立性(設(shè)備無關(guān)性)邏輯設(shè)備名:邏輯設(shè)備名:用戶自己指定的設(shè)備名(設(shè)備類用戶自己指定的設(shè)備名(設(shè)備類相對號)。相對號)。物理設(shè)備名物理設(shè)備名:系統(tǒng)提供的設(shè)備標(biāo)準(zhǔn)名稱(絕對號)。:系統(tǒng)提供的設(shè)備標(biāo)準(zhǔn)名稱(絕對號)。( (一一) )設(shè)備獨立性:設(shè)備獨立性:用

9、戶在編制程序時使用的設(shè)備與實際使用戶在編制程序時使用的設(shè)備與實際使用的設(shè)備無關(guān),用戶程序中使用的是邏輯設(shè)備。用的設(shè)備無關(guān),用戶程序中使用的是邏輯設(shè)備。 操作系統(tǒng) 第五章 設(shè)備管理8 81 1、一個程序應(yīng)該獨立于分配給它的某種類型的具體設(shè)備。、一個程序應(yīng)該獨立于分配給它的某種類型的具體設(shè)備。 1 1)保護程序不會因為某一臺物理設(shè)備發(fā)生故障或已分)保護程序不會因為某一臺物理設(shè)備發(fā)生故障或已分配給其它程序而失效;配給其它程序而失效; 2 2)使操作系統(tǒng)根據(jù)當(dāng)時總的設(shè)備配置情況自由地分配)使操作系統(tǒng)根據(jù)當(dāng)時總的設(shè)備配置情況自由地分配適當(dāng)類型的設(shè)備。適當(dāng)類型的設(shè)備。2 2、一個程序應(yīng)該盡可能與它所使用的

10、、一個程序應(yīng)該盡可能與它所使用的I/OI/O設(shè)備類型無關(guān)。設(shè)備類型無關(guān)。 指在指在I/OI/O信息時,可以從不同類型的設(shè)備上信息時,可以從不同類型的設(shè)備上I/OI/O,若要改,若要改變設(shè)備的類型,程序只需做很少的修改。變設(shè)備的類型,程序只需做很少的修改。(二)設(shè)備獨立性的類型:邏輯設(shè)備名邏輯設(shè)備名物理設(shè)備名物理設(shè)備名設(shè)備管理設(shè)備管理 操作系統(tǒng) 第五章 設(shè)備管理9 9(三)設(shè)備管理分為兩層:1 1)輸入輸出控制系統(tǒng))輸入輸出控制系統(tǒng) 它與用戶相互交互,完成設(shè)備的分配、調(diào)度并向程它與用戶相互交互,完成設(shè)備的分配、調(diào)度并向程序員提供一個統(tǒng)一的編程接口,實現(xiàn)了邏輯設(shè)備向物理設(shè)序員提供一個統(tǒng)一的編程接口

11、,實現(xiàn)了邏輯設(shè)備向物理設(shè)備的轉(zhuǎn)換。備的轉(zhuǎn)換。2 2)設(shè)備驅(qū)動程序)設(shè)備驅(qū)動程序 它直接與設(shè)備打交道,控制設(shè)備控制器,完成具體它直接與設(shè)備打交道,控制設(shè)備控制器,完成具體的輸入輸出。的輸入輸出。 實現(xiàn)設(shè)備無關(guān)性的一個好辦法就是采用分層思想,逐實現(xiàn)設(shè)備無關(guān)性的一個好辦法就是采用分層思想,逐層抽象。層抽象。 操作系統(tǒng) 第五章 設(shè)備管理1010( (四四) )設(shè)備組成設(shè)備組成 I IO O設(shè)備一般由設(shè)備一般由機械機械和和電子電子兩部分組兩部分組成,成, 把這兩部分分開處理,以提供更加模把這兩部分分開處理,以提供更加模塊化、更加通用的設(shè)計。塊化、更加通用的設(shè)計。機械部分是設(shè)備本身(物理裝置)機械部分是設(shè)

12、備本身(物理裝置)電子部分是設(shè)備控制器或適配器電子部分是設(shè)備控制器或適配器 在小型和微型機中,它常采用印刷電路在小型和微型機中,它常采用印刷電路卡插入計算機中(接口)的方式,卡插入計算機中(接口)的方式,完成設(shè)完成設(shè)備與主機間的連接和通訊。備與主機間的連接和通訊。 操作系統(tǒng) 第五章 設(shè)備管理1111設(shè)備通過設(shè)備通過設(shè)備控制器設(shè)備控制器與與CPUCPU進行通信。進行通信。設(shè)備中含有與設(shè)備控制器間的接口,它通設(shè)備中含有與設(shè)備控制器間的接口,它通常是一個標(biāo)準(zhǔn)接口,符合常是一個標(biāo)準(zhǔn)接口,符合ANSIANSI、IEEEIEEE或或ISOISO等國際標(biāo)準(zhǔn)。接口包含三種類型的信號線:等國際標(biāo)準(zhǔn)。接口包含三種

13、類型的信號線:數(shù)據(jù)信號線、控制信號線、狀態(tài)信號線。數(shù)據(jù)信號線、控制信號線、狀態(tài)信號線。CPU外部設(shè)備控控制制邏邏輯輯電電路路控制寄存器控制寄存器狀態(tài)寄存器狀態(tài)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器設(shè)備控制器與處理機和外設(shè)的關(guān)系設(shè)備控制器與處理機和外設(shè)的關(guān)系 操作系統(tǒng) 第五章 設(shè)備管理1212( (五五) )設(shè)備控制器設(shè)備控制器1 1、設(shè)備控制器的設(shè)備控制器的組成組成1 1)控制器與處理機間的接口)控制器與處理機間的接口 包含:數(shù)據(jù)線、地址線和控制線。包含:數(shù)據(jù)線、地址線和控制線。2 2)控制器與設(shè)備間的接口)控制器與設(shè)備間的接口 一個控制器可以連接一個或多個設(shè)備,于是相應(yīng)包含一個或多一個控制器可以連接一個

14、或多個設(shè)備,于是相應(yīng)包含一個或多個設(shè)備接口,一個接口連接一臺設(shè)備。個設(shè)備接口,一個接口連接一臺設(shè)備??刂破髋c設(shè)備之間的接口常常是一個低級的串行接口。例如磁控制器與設(shè)備之間的接口常常是一個低級的串行接口。例如磁盤,可以按每個磁道盤,可以按每個磁道8 8扇區(qū),每個扇區(qū)扇區(qū),每個扇區(qū)512512個字節(jié)進行格式化。個字節(jié)進行格式化。然而,實際從驅(qū)動器出來的卻是一連串的位流,以一個頭標(biāo)然而,實際從驅(qū)動器出來的卻是一連串的位流,以一個頭標(biāo)(preamblepreamble)開始,然后是一個扇區(qū)的)開始,然后是一個扇區(qū)的40964096位(位(5125128 8),最),最后是檢查和或錯誤校驗碼(后是檢查和

15、或錯誤校驗碼(ErrorCErrorC一一C C:ECCECC)。頭標(biāo)是在對)。頭標(biāo)是在對磁盤格式化時寫上的,它包括柱面和扇區(qū)數(shù),扇區(qū)的大小和類磁盤格式化時寫上的,它包括柱面和扇區(qū)數(shù),扇區(qū)的大小和類似的一些數(shù)據(jù)。似的一些數(shù)據(jù)。3 3)I/OI/O邏輯電路邏輯電路 對對CPUCPU發(fā)來的發(fā)來的I/OI/O命令進行譯碼。命令進行譯碼。 操作系統(tǒng) 第五章 設(shè)備管理13132 2、設(shè)備控制器的功能、設(shè)備控制器的功能1 1)接收和識別命令)接收和識別命令2 2)數(shù)據(jù)交換)數(shù)據(jù)交換3 3)標(biāo)識和報告設(shè)備的狀態(tài))標(biāo)識和報告設(shè)備的狀態(tài)4 4)地址識別)地址識別5 5)數(shù)據(jù)緩沖)數(shù)據(jù)緩沖6 6)差錯控制)差錯控

16、制 操作系統(tǒng) 第五章 設(shè)備管理14143、設(shè)備控制器如何工作、設(shè)備控制器如何工作操作系統(tǒng)將命令寫入控制器寄存器中,以實現(xiàn)輸入輸出操作系統(tǒng)將命令寫入控制器寄存器中,以實現(xiàn)輸入輸出 例如:例如:IBM PCIBM PC的軟盤控制器可接收的軟盤控制器可接收1515條命令,條命令,READREAD、WRITEWRITE、FORMATFORMAT、SEEKSEEK、RECALIBRATERECALIBRATE,命令可以帶參數(shù)。,命令可以帶參數(shù)。它們被一起送入控制器的寄存器中。它們被一起送入控制器的寄存器中??刂破鹘邮芤粭l命令后,可獨立于控制器接受一條命令后,可獨立于CPUCPU完成指定操作,完成指定操作

17、,CPUCPU可以轉(zhuǎn)去執(zhí)行其它運算。命令完成時,控制器產(chǎn)生一個中可以轉(zhuǎn)去執(zhí)行其它運算。命令完成時,控制器產(chǎn)生一個中斷,斷,CPUCPU響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。CPUCPU通過讀控制器通過讀控制器寄存器中的信息,獲得操作結(jié)果和設(shè)備狀態(tài)。寄存器中的信息,獲得操作結(jié)果和設(shè)備狀態(tài)??刂破餍枰褟脑O(shè)備接口接收到的控制器需要把從設(shè)備接口接收到的串行位流轉(zhuǎn)換為字節(jié),串行位流轉(zhuǎn)換為字節(jié),并進行必要的錯誤修正。首先,控制器按位進行組裝,然并進行必要的錯誤修正。首先,控制器按位進行組裝,然后存入控制器內(nèi)部的緩沖區(qū)中形成以字節(jié)為單位的塊。在后存入控制器內(nèi)部的緩沖區(qū)中形成以字節(jié)為單位的

18、塊。在對塊驗證檢查和并證明無錯誤時,再將它復(fù)制到主存中。對塊驗證檢查和并證明無錯誤時,再將它復(fù)制到主存中。 操作系統(tǒng) 第五章 設(shè)備管理1515設(shè)備設(shè)備數(shù)據(jù)率數(shù)據(jù)率鍵盤鍵盤10B/s鼠標(biāo)鼠標(biāo)100B/s56k調(diào)制解調(diào)器調(diào)制解調(diào)器7kB/s掃描儀掃描儀400kB/s數(shù)字便攜式攝相機數(shù)字便攜式攝相機3.5MB/s802.11g無線網(wǎng)絡(luò)無線網(wǎng)絡(luò)6.75MB/s52倍速倍速CD_ROM7.8MB/s快速以太網(wǎng)快速以太網(wǎng)12.5MB/s袖珍閃存卡袖珍閃存卡40MB/s火線(火線(IEEE1394)50MB/sUSB2.060MB/sSONET網(wǎng)絡(luò)網(wǎng)絡(luò)78MB/sUltra 2磁盤磁盤80MB/s千兆以太網(wǎng)

19、千兆以太網(wǎng)125MB/s磁盤驅(qū)動器磁盤驅(qū)動器300MB/s磁帶磁帶320MB/s總線總線528MB/s某些典型的設(shè)備、網(wǎng)絡(luò)和總線的數(shù)據(jù)率某些典型的設(shè)備、網(wǎng)絡(luò)和總線的數(shù)據(jù)率 操作系統(tǒng) 第五章 設(shè)備管理16164 4、內(nèi)存映射、內(nèi)存映射I/OI/O每個控制器有幾個寄存器用來與每個控制器有幾個寄存器用來與CPUCPU進行通信。進行通信??刂破髦械募拇嫫饕卜Q為控制器中的寄存器也稱為“I/OI/O端口端口”,通常包括:控制,通常包括:控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器三大類,而且一個外設(shè)寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器三大類,而且一個外設(shè)的寄存器通常被連續(xù)地編址。除了控制寄存器以外,許多的寄存器通常被連續(xù)

20、地編址。除了控制寄存器以外,許多設(shè)備還有一個操作系統(tǒng)可以讀寫的設(shè)備還有一個操作系統(tǒng)可以讀寫的數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)。例如在屏。例如在屏幕上顯示像素的常規(guī)方法是使用一個視頻幕上顯示像素的常規(guī)方法是使用一個視頻RAM,RAM,這一這一RAMRAM就是就是一個數(shù)據(jù)緩沖區(qū),可供程序或操作系統(tǒng)寫入數(shù)據(jù)。一個數(shù)據(jù)緩沖區(qū),可供程序或操作系統(tǒng)寫入數(shù)據(jù)。通過通過寫入寫入這些寄存器,操作系統(tǒng)可以命令設(shè)備發(fā)送數(shù)據(jù)、這些寄存器,操作系統(tǒng)可以命令設(shè)備發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、開啟或關(guān)閉。接收數(shù)據(jù)、開啟或關(guān)閉。通過通過讀取讀取這些寄存器,操作系統(tǒng)可以了解設(shè)備的狀態(tài),是這些寄存器,操作系統(tǒng)可以了解設(shè)備的狀態(tài),是否準(zhǔn)備好接收一個新的

21、命令等。否準(zhǔn)備好接收一個新的命令等。 操作系統(tǒng) 第五章 設(shè)備管理1717問題:問題:CPU如何與設(shè)備的控制寄存器和數(shù)如何與設(shè)備的控制寄存器和數(shù)據(jù)緩沖區(qū)進行通信?據(jù)緩沖區(qū)進行通信?存在兩種可選的方法。存在兩種可選的方法。 CPUCPU對外設(shè)對外設(shè)I/OI/O端口物理地址的編址方式有兩種:一種是端口物理地址的編址方式有兩種:一種是I/OI/O映射方式映射方式(I/OI/Omappedmapped),另一種是內(nèi)存映射方式(),另一種是內(nèi)存映射方式(MemoryMemorymappedmapped)。而具體)。而具體采用哪一種則取決于采用哪一種則取決于CPUCPU的體系結(jié)構(gòu)。的體系結(jié)構(gòu)。 第一種方法:

22、第一種方法:每個控制寄存器分配一個每個控制寄存器分配一個I/OI/O端口號端口號(一個一個8位或位或16位的整位的整數(shù)數(shù)),所有所有I/OI/O端口號形成端口號形成I/OI/O端口空間端口空間(I/O port space),(I/O port space),并且受到保護使并且受到保護使得普通的用戶程序不能對其進行訪問(只有操作系統(tǒng)可以訪問),使用一得普通的用戶程序不能對其進行訪問(只有操作系統(tǒng)可以訪問),使用一條特殊的條特殊的I/OI/O指令。指令。例如例如IN REG ,PORT; CPUIN REG ,PORT; CPU可以讀取控制寄存器可以讀取控制寄存器PORTPORT的內(nèi)容并將結(jié)果存

23、入到的內(nèi)容并將結(jié)果存入到CPUCPU寄存器寄存器REGREG中。中。 操作系統(tǒng) 第五章 設(shè)備管理1818 操作系統(tǒng) 第五章 設(shè)備管理1919類似地使用類似地使用OUT PORTOUT PORT,REGREG; CPUCPU可以將可以將REGREG的內(nèi)容寫入到控制寄的內(nèi)容寫入到控制寄存器中。存器中。大多數(shù)早期計算機,包括幾乎所有大型機,如大多數(shù)早期計算機,包括幾乎所有大型機,如IBMIBM系列機系列機及其所有后續(xù)機型,都以這種方式工作。及其所有后續(xù)機型,都以這種方式工作。在這一方案中,內(nèi)存地址空間和在這一方案中,內(nèi)存地址空間和I IO O地址空間是不同的,如上圖地址空間是不同的,如上圖所示。指令

24、所示。指令I(lǐng)NIN,和,和MOVMOVR R,是完全不同的。,是完全不同的。第二種方法:第二種方法:它將所有控制寄存器映射到內(nèi)存空間中,如上圖所它將所有控制寄存器映射到內(nèi)存空間中,如上圖所示,每個控制寄存器被分配唯一的一個內(nèi)存地址,并且不會有內(nèi)示,每個控制寄存器被分配唯一的一個內(nèi)存地址,并且不會有內(nèi)存被分配這一地址。這樣的系統(tǒng)內(nèi)存映射存被分配這一地址。這樣的系統(tǒng)內(nèi)存映射I/OI/O( MemoryMemorymapped mapped I/O I/O )。通常分配給控制寄存器的地址位于地址空間的頂端。這)。通常分配給控制寄存器的地址位于地址空間的頂端。這種方案被引入種方案被引入另外還有一種混合

25、方案,如上圖所示,這一方案具有內(nèi)存映射另外還有一種混合方案,如上圖所示,這一方案具有內(nèi)存映射I/OI/O的數(shù)據(jù)緩沖區(qū),控制器具有單獨的的數(shù)據(jù)緩沖區(qū),控制器具有單獨的I/OI/O端口。端口。PentiunPentiun處理器處理器使用的就是這一體系結(jié)構(gòu)。使用的就是這一體系結(jié)構(gòu)。這兩種方法也可以看作是兩種尋址控制器的方案。這兩種方法也可以看作是兩種尋址控制器的方案。 操作系統(tǒng) 第五章 設(shè)備管理2020內(nèi)存映射內(nèi)存映射I/OI/O的優(yōu)點和缺點的優(yōu)點和缺點優(yōu)點:優(yōu)點:w對于內(nèi)存映射對于內(nèi)存映射I/OI/O, I/OI/O設(shè)備驅(qū)動程序可以完全用設(shè)備驅(qū)動程序可以完全用C C語言編寫。語言編寫。如果不使用內(nèi)

26、存映射如果不使用內(nèi)存映射I/OI/O,就要用到某些匯編代碼。,就要用到某些匯編代碼。w對于內(nèi)存映射對于內(nèi)存映射I/OI/O,不需要特殊的保護機制來阻止用戶進程執(zhí)行,不需要特殊的保護機制來阻止用戶進程執(zhí)行I/OI/O操作。操作。w對于內(nèi)存映射對于內(nèi)存映射I/OI/O,可以引用內(nèi)存的每一條指令也可以引用控制,可以引用內(nèi)存的每一條指令也可以引用控制寄存器。寄存器。缺點:缺點:對于一個設(shè)備控制器進行高速緩存可能是災(zāi)難性的。在存在高對于一個設(shè)備控制器進行高速緩存可能是災(zāi)難性的。在存在高速緩存的情況下考慮下面給出的匯編代碼循環(huán):速緩存的情況下考慮下面給出的匯編代碼循環(huán):loop test port_4 /

27、loop test port_4 /檢測端口檢測端口4 4是否為是否為0 0 beq ready / beq ready /如果為如果為0 0,轉(zhuǎn)向,轉(zhuǎn)向readyready branch loop / branch loop /否則繼續(xù)測試否則繼續(xù)測試 ready:ready:第一次引用第一次引用port-4port-4將導(dǎo)致它被高速緩存,隨后的引用將只從高將導(dǎo)致它被高速緩存,隨后的引用將只從高速緩存中取值并且再不會查詢設(shè)備。之后當(dāng)設(shè)備最終變?yōu)榫途w速緩存中取值并且再不會查詢設(shè)備。之后當(dāng)設(shè)備最終變?yōu)榫途w時軟件將沒有辦法發(fā)現(xiàn)這一點。結(jié)果,循環(huán)將永遠進行下去。時軟件將沒有辦法發(fā)現(xiàn)這一點。結(jié)果,循環(huán)

28、將永遠進行下去。如果只存在一個地址空間,那么所有的內(nèi)存模塊和所有的如果只存在一個地址空間,那么所有的內(nèi)存模塊和所有的I/OI/O設(shè)設(shè)備都必須檢查所有的內(nèi)存引用,以便了解由誰做出響應(yīng)。備都必須檢查所有的內(nèi)存引用,以便了解由誰做出響應(yīng)。 操作系統(tǒng) 第五章 設(shè)備管理21215.2 數(shù)據(jù)傳輸控制方式一、IO控制方式1 1)循環(huán)測試)循環(huán)測試I/OI/O方式;方式;2 2)I/OI/O中斷方式;中斷方式;3 3)DMADMA方式;方式;4 4)通道方式。)通道方式。設(shè)備(I/O)控制器: 是是CPUCPU與與I/OI/O設(shè)備之間的接口,設(shè)備不直接與設(shè)備之間的接口,設(shè)備不直接與CPUCPU進行通進行通信,

29、設(shè)備控制器接收從信,設(shè)備控制器接收從CPUCPU發(fā)來的命令,去控制發(fā)來的命令,去控制I/OI/O設(shè)備工設(shè)備工作,包括狀態(tài)寄存器和數(shù)據(jù)緩沖寄存器。作,包括狀態(tài)寄存器和數(shù)據(jù)緩沖寄存器。 操作系統(tǒng) 第五章 設(shè)備管理2222 CPU CPU與外設(shè)的活動本質(zhì)上是異步的,為了實現(xiàn)與外設(shè)的活動本質(zhì)上是異步的,為了實現(xiàn)CPUCPU與外設(shè)與外設(shè)間的信息傳送,間的信息傳送,CPUCPU必須重復(fù)測試外設(shè)的狀態(tài);僅當(dāng)外設(shè)是必須重復(fù)測試外設(shè)的狀態(tài);僅當(dāng)外設(shè)是處在準(zhǔn)備好的狀態(tài)時,處在準(zhǔn)備好的狀態(tài)時,CPUCPU才能與外設(shè)交換信息。才能與外設(shè)交換信息。問題:問題:1 1)CPUCPU的大量時間消耗在等待輸入輸出的循環(huán)檢測上

30、,使的大量時間消耗在等待輸入輸出的循環(huán)檢測上,使CPUCPU與外設(shè)串行工作,嚴(yán)重影響了與外設(shè)串行工作,嚴(yán)重影響了CPUCPU的使用效率;的使用效率;2 2)外設(shè)的使用也不合理)外設(shè)的使用也不合理( (諸外設(shè)不能并行工作諸外設(shè)不能并行工作) );3 3)無法支持多道程序并發(fā)執(zhí)行,整個系統(tǒng)效率很低。)無法支持多道程序并發(fā)執(zhí)行,整個系統(tǒng)效率很低。 在早期計算機或現(xiàn)代一些簡單的微型計算機系統(tǒng)中采在早期計算機或現(xiàn)代一些簡單的微型計算機系統(tǒng)中采用循環(huán)測試傳送方式。循環(huán)測試傳送是一種用用循環(huán)測試傳送方式。循環(huán)測試傳送是一種用程序直接控程序直接控制制I IO O操作的方式操作的方式。1. 循環(huán)測試I/O方式;

31、 操作系統(tǒng) 第五章 設(shè)備管理2323用戶直接編寫用戶直接編寫I/O指令程序控制輸入輸出指令程序控制輸入輸出。要保持要保持CPU與外設(shè)同步(由于速度差距)與外設(shè)同步(由于速度差距).循環(huán)測試循環(huán)測試I/OI/O方式下方式下CPUCPU向設(shè)備輸出數(shù)據(jù)大致過程如下:向設(shè)備輸出數(shù)據(jù)大致過程如下: 控制器得到控制器得到“命令就緒命令就緒”置置“busy”busy”位位 控制器清除控制器清除“命令就緒命令就緒”位與位與“busy”busy”位。位。 至此完成一個字節(jié)輸至此完成一個字節(jié)輸出,循環(huán)上述的過程出,循環(huán)上述的過程完成多個字節(jié)的輸出完成多個字節(jié)的輸出CPUCPU置控制器置控制器“啟動啟動”位位測狀態(tài)

32、寄存器測狀態(tài)寄存器“忙忙”?CPUCPU置控制器置控制器“寫寫”位;位;寫入一個字節(jié)數(shù)據(jù);寫入一個字節(jié)數(shù)據(jù);CPUCPU置上置上“命令就緒命令就緒”位;位;控制器是控制器是“寫命令寫命令”?從數(shù)據(jù)輸出寄存器讀出一從數(shù)據(jù)輸出寄存器讀出一個字節(jié),送設(shè)備輸出個字節(jié),送設(shè)備輸出忙忙寫寫讀讀下下一一步步下下一一步步下下一一步步下下一一步步下下一一步步下下一一步步 操作系統(tǒng) 第五章 設(shè)備管理24242. IO中斷方式; 引入中斷技術(shù)后,每當(dāng)設(shè)備完成引入中斷技術(shù)后,每當(dāng)設(shè)備完成I IO O操作時,便向操作時,便向CPUCPU發(fā)出中斷請求信號,通知發(fā)出中斷請求信號,通知CPUCPU進行進行I/OI/O中斷處理

33、。中斷處理。 這樣,這樣,CPUCPU一旦啟動一旦啟動1 1O O設(shè)備后便可執(zhí)行其它程序,僅設(shè)備后便可執(zhí)行其它程序,僅在收到在收到I IO O中斷請求時才執(zhí)行其中斷服務(wù)程序,進行中斷請求時才執(zhí)行其中斷服務(wù)程序,進行I IO O處理。處理。 例如例如, ,行式打印機每打印一行約需行式打印機每打印一行約需60ms,60ms,在循環(huán)測試傳在循環(huán)測試傳送方式中,大約有送方式中,大約有59.99ms CPU59.99ms CPU都處于循環(huán)測試中,在程序都處于循環(huán)測試中,在程序中斷中斷I IO O方式中,方式中,CPUCPU僅用僅用0.1ms0.1ms時間處理打印機的中斷服時間處理打印機的中斷服務(wù)程序。其

34、余的務(wù)程序。其余的59.9ms59.9ms可以處理其它任務(wù)??梢蕴幚砥渌蝿?wù)。 操作系統(tǒng) 第五章 設(shè)備管理2525I IO O中斷方式中斷方式基本工作過程:基本工作過程:n CPU CPU執(zhí)行設(shè)備驅(qū)動程序,向控制器發(fā)啟動指令。執(zhí)行設(shè)備驅(qū)動程序,向控制器發(fā)啟動指令。n 控制器按照控制器按照I/OI/O指令要求,啟動并控制指令要求,啟動并控制I/OI/O設(shè)備工設(shè)備工作。作。CPUCPU與外設(shè)是并行操作的與外設(shè)是并行操作的。 n 輸入就緒輸入就緒/ /輸出完成,輸出完成,控制器向控制器向CPUCPU發(fā)中斷信號發(fā)中斷信號。 n 中斷處理程序完成后退出中斷,恢復(fù)現(xiàn)場,將控中斷處理程序完成后退出中斷,恢復(fù)

35、現(xiàn)場,將控制轉(zhuǎn)回被打斷的執(zhí)行位置。制轉(zhuǎn)回被打斷的執(zhí)行位置。 操作系統(tǒng) 第五章 設(shè)備管理2626CPU CPU 執(zhí)行設(shè)備驅(qū)執(zhí)行設(shè)備驅(qū)動程序向控制器動程序向控制器發(fā)出發(fā)出啟動命令啟動命令外設(shè)外設(shè)控控制制器器I/O完成中斷完成中斷中斷處理中斷處理CPU響應(yīng)中斷程序執(zhí)行:程序執(zhí)行:程序請求程序請求I/OI/O繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序下下一一步步下下一一步步結(jié)束結(jié)束 操作系統(tǒng) 第五章 設(shè)備管理2727優(yōu)點:優(yōu)點:1 1)程序中斷傳送方式改善了)程序中斷傳送方式改善了CPUCPU的利用率;的利用率;2 2)使)使CPUCPU與外設(shè)并行操作。與外設(shè)并行操作。缺點:缺點: 采用中斷驅(qū)動

36、采用中斷驅(qū)動I IO O方式時,每傳送一個數(shù)據(jù)方式時,每傳送一個數(shù)據(jù)CPUCPU都要都要做一次中斷處理,每次中斷處理都要保護做一次中斷處理,每次中斷處理都要保護CPUCPU現(xiàn)場,處理現(xiàn)場,處理結(jié)束時又要恢復(fù)結(jié)束時又要恢復(fù)CPUCPU現(xiàn)場,若管理的現(xiàn)場,若管理的I/OI/O設(shè)備較多,設(shè)備較多,CPUCPU會會陷入這些陷入這些I/OI/O中斷處理中,無法進行其他工作。中斷處理中,無法進行其他工作。 操作系統(tǒng) 第五章 設(shè)備管理28283. DMA傳送方式(直接內(nèi)存存取) 為了進一步減少為了進一步減少CPUCPU對對I IO O的干預(yù)而引入了直接存儲器的干預(yù)而引入了直接存儲器訪問方式。訪問方式。設(shè)備設(shè)

37、備主存主存直接傳送直接傳送不用不用CPUCPU干涉干涉 I/O I/O控制器增添了控制器增添了DMADMA控制機構(gòu),在控制機構(gòu),在DMADMA控制器控制下,控制器控制下,外設(shè)直接與內(nèi)存交換成批數(shù)據(jù)而不用外設(shè)直接與內(nèi)存交換成批數(shù)據(jù)而不用CPUCPU干預(yù)。干預(yù)。 為了實現(xiàn)控制器與主機之間成批數(shù)據(jù)的直接交換,必為了實現(xiàn)控制器與主機之間成批數(shù)據(jù)的直接交換,必須在須在DMADMA控制器中設(shè)置四類寄存器:控制器中設(shè)置四類寄存器:(1)(1)命令狀態(tài)寄存器命令狀態(tài)寄存器CRCR;(2)(2)數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器DR;DR;(3)(3)內(nèi)存地址寄存器內(nèi)存地址寄存器MAR;MAR;(4)(4)數(shù)據(jù)計數(shù)器

38、數(shù)據(jù)計數(shù)器DCDC。 操作系統(tǒng) 第五章 設(shè)備管理2929以從磁盤讀入數(shù)據(jù)為例說明以從磁盤讀入數(shù)據(jù)為例說明DMADMA方式的工作流程:方式的工作流程:1 1)當(dāng))當(dāng)CPUCPU要從磁盤讀入一數(shù)據(jù)塊時,便向磁盤控制器發(fā)送要從磁盤讀入一數(shù)據(jù)塊時,便向磁盤控制器發(fā)送一條讀命令,該命令被送入命令寄存器一條讀命令,該命令被送入命令寄存器CR;CR;2 2)同時發(fā)送本次要將數(shù)據(jù)讀入內(nèi)存的起始地址到)同時發(fā)送本次要將數(shù)據(jù)讀入內(nèi)存的起始地址到MARMAR中中; ;3 3)本次要讀的數(shù)據(jù)的字節(jié))本次要讀的數(shù)據(jù)的字節(jié)( (符符) )數(shù)送至數(shù)送至DRDR中中; ;4 4)將磁盤源地址直接送至)將磁盤源地址直接送至DM

39、ADMA控制器的控制器的I/OI/O控制邏輯上;控制邏輯上;5 5)然后啟動)然后啟動DMADMA控制器進行數(shù)據(jù)傳送??刂破鬟M行數(shù)據(jù)傳送。 以后以后,CPU,CPU便可去處理其他任務(wù)。此后的整個數(shù)據(jù)傳送便便可去處理其他任務(wù)。此后的整個數(shù)據(jù)傳送便由由DMADMA控制器進行控制??刂破鬟M行控制。 操作系統(tǒng) 第五章 設(shè)備管理3030 DMA工作過程工作過程 地址緩沖區(qū)緩沖區(qū)字節(jié)數(shù)控制CPUDMA控制器控制器磁盤磁盤控制器控制器內(nèi)存內(nèi)存磁盤磁盤DMADMA控制器數(shù)據(jù)傳輸控制器數(shù)據(jù)傳輸CPU將一個命令塊 (數(shù)據(jù)源地址、目標(biāo)地址和傳送字節(jié)數(shù))寫入內(nèi)存; 再將命令塊地址寫入DMA控制器的寄存器中。下下一一步

40、步啟動磁盤控制器,將其數(shù)據(jù)送入內(nèi)部緩沖區(qū)準(zhǔn)備傳輸,CPU處理其它任務(wù)DMA控制器通過總線向磁盤控制器發(fā)送讀(盤)請求磁盤控制器執(zhí)行從內(nèi)部緩沖區(qū)到指定內(nèi)存數(shù)據(jù)傳送。當(dāng)數(shù)據(jù)寫入內(nèi)存后,磁盤控制器通過總線向DMA控制器發(fā)一個回答信號。DMA 將內(nèi)存地址增1,計數(shù)器減1后值0,則重復(fù),直到計數(shù)值=0時,DMADMA向向CPUCPU發(fā)發(fā)一個中斷信號一個中斷信號, 此次傳輸完成結(jié)束結(jié)束 操作系統(tǒng) 第五章 設(shè)備管理3131 采用采用DMADMA方式時,不僅允許方式時,不僅允許CPUCPU控制地址線,進行控制地址線,進行CPUCPU與主存貯器的數(shù)據(jù)交換,而且允許與主存貯器的數(shù)據(jù)交換,而且允許DMADMA控制器

41、接管地址線的控制器接管地址線的控制權(quán),直接控制控制權(quán),直接控制DMADMA控制器與主存的數(shù)據(jù)交換??刂破髋c主存的數(shù)據(jù)交換。 當(dāng)當(dāng)DMADMA硬件控制磁盤與存貯器之間進行信息交換時,每硬件控制磁盤與存貯器之間進行信息交換時,每當(dāng)磁盤把一個數(shù)據(jù)讀入控制器的數(shù)據(jù)緩沖區(qū)時,當(dāng)磁盤把一個數(shù)據(jù)讀入控制器的數(shù)據(jù)緩沖區(qū)時,DMADMA控制器控制器取代取代CPU,CPU,接管地址總線的控制權(quán),并按照接管地址總線的控制權(quán),并按照DMADMA控制器中的存控制器中的存貯器地址寄存器內(nèi)容貯器地址寄存器內(nèi)容, ,把數(shù)據(jù)送入相應(yīng)的存貯器單元中。然把數(shù)據(jù)送入相應(yīng)的存貯器單元中。然后,后,DMADMA硬件自動地把傳送的字節(jié)計數(shù)

42、器減硬件自動地把傳送的字節(jié)計數(shù)器減1 1,把地址寄存,把地址寄存器加器加1 1,并恢復(fù),并恢復(fù)CPUCPU對主存貯器的控制權(quán),對主存貯器的控制權(quán),DMADMA控制器對每一控制器對每一個傳送的數(shù)據(jù)重復(fù)上述過程,直到傳送字節(jié)計數(shù)器為個傳送的數(shù)據(jù)重復(fù)上述過程,直到傳送字節(jié)計數(shù)器為“0”0”時,向時,向CPUCPU產(chǎn)生一個中斷信號。產(chǎn)生一個中斷信號。 操作系統(tǒng) 第五章 設(shè)備管理3232DMA方式的問題:1 1)DMADMA方式仍存在一定的局限性,如數(shù)據(jù)傳送的方向、存方式仍存在一定的局限性,如數(shù)據(jù)傳送的方向、存放數(shù)據(jù)的內(nèi)存始址、傳送數(shù)據(jù)的長度都需要放數(shù)據(jù)的內(nèi)存始址、傳送數(shù)據(jù)的長度都需要CPUCPU控制;

43、控制;2 2)每臺設(shè)備都需要配置一個)每臺設(shè)備都需要配置一個DMADMA控制器,當(dāng)設(shè)備較多時,控制器,當(dāng)設(shè)備較多時,成本太高。成本太高。DMA方式的特點: 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊;所傳送的數(shù)據(jù)是從設(shè)備數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊;所傳送的數(shù)據(jù)是從設(shè)備直接進入內(nèi)存的直接進入內(nèi)存的, ,或者相反,僅在傳送一個或多個數(shù)據(jù)塊的或者相反,僅在傳送一個或多個數(shù)據(jù)塊的開始或結(jié)束時才需開始或結(jié)束時才需CPUCPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的??刂葡峦瓿傻摹?DMADMA方式較之中斷驅(qū)動方式,又是成百倍地減少了方式較之中斷驅(qū)動方式,又是成百倍地減少了CPUCPU

44、對對I IO O的干預(yù),進一步提高了的干預(yù),進一步提高了CPUCPU與與I/OI/O設(shè)備的并行程度。設(shè)備的并行程度。 操作系統(tǒng) 第五章 設(shè)備管理3333通道:通道:專門負責(zé)專門負責(zé)I IO O控制的處理機??刂频奶幚頇C。它接收它接收CPU的委托,獨的委托,獨立地執(zhí)行自己的通道程序,管理和控制輸入輸出操作,實現(xiàn)立地執(zhí)行自己的通道程序,管理和控制輸入輸出操作,實現(xiàn)主存貯器與外圍設(shè)備之間的成批數(shù)據(jù)傳送。主存貯器與外圍設(shè)備之間的成批數(shù)據(jù)傳送。 在大中型和高檔小型計算機系統(tǒng)中,大多采用通道技術(shù)。在大中型和高檔小型計算機系統(tǒng)中,大多采用通道技術(shù)。通道有自己的簡單指令系統(tǒng),數(shù)據(jù)傳送指令和設(shè)備控制指令通道有自

45、己的簡單指令系統(tǒng),數(shù)據(jù)傳送指令和設(shè)備控制指令等。通道執(zhí)行的程序稱為等。通道執(zhí)行的程序稱為通道程序通道程序。 與與DMADMA方式相比,通道有更強的方式相比,通道有更強的I IO O處理能力。處理能力。4. 通道方式 當(dāng)當(dāng)CPUCPU委托的委托的I IO O任務(wù)完成后,通道發(fā)出中斷信號,請任務(wù)完成后,通道發(fā)出中斷信號,請求求CPUCPU處理。使處理。使CPUCPU擺脫了繁瑣的輸入輸出控制工作,提高了擺脫了繁瑣的輸入輸出控制工作,提高了CPUCPU與外圍設(shè)備工作的并行程度。多通道之間可實現(xiàn)并行操與外圍設(shè)備工作的并行程度。多通道之間可實現(xiàn)并行操作,各通道控制的外圍設(shè)備也實現(xiàn)了并行操作,從而提高整作,

46、各通道控制的外圍設(shè)備也實現(xiàn)了并行操作,從而提高整個系統(tǒng)的處理效率。個系統(tǒng)的處理效率。 操作系統(tǒng) 第五章 設(shè)備管理3434 按照信息的交換方式和控制設(shè)備的種類,通道可以分為三種類型:1)字節(jié)多路通道 字節(jié)多路通道以字節(jié)為單位傳輸信息,它可以以字節(jié)字節(jié)多路通道以字節(jié)為單位傳輸信息,它可以以字節(jié)交叉方式執(zhí)行多個通道程序。當(dāng)一個通道程序控制某臺設(shè)交叉方式執(zhí)行多個通道程序。當(dāng)一個通道程序控制某臺設(shè)備傳送一個字節(jié)后,通道硬件就控制轉(zhuǎn)去執(zhí)行另一個通道備傳送一個字節(jié)后,通道硬件就控制轉(zhuǎn)去執(zhí)行另一個通道程序,控制另一臺設(shè)備傳送信息。程序,控制另一臺設(shè)備傳送信息。 字節(jié)多路通道主要用來連接大量慢速的字符設(shè)備字節(jié)多

47、路通道主要用來連接大量慢速的字符設(shè)備,如,如紙帶輸入出機,卡片輸入出機、打印機、終端等等。紙帶輸入出機,卡片輸入出機、打印機、終端等等。在在IBM370IBM370系統(tǒng)中,這樣的通道可連接系統(tǒng)中,這樣的通道可連接256256臺設(shè)備。臺設(shè)備。 操作系統(tǒng) 第五章 設(shè)備管理3535 操作系統(tǒng) 第五章 設(shè)備管理36362)選擇通道 選擇通道每次選擇一臺設(shè)備,執(zhí)行一個通道程序,傳選擇通道每次選擇一臺設(shè)備,執(zhí)行一個通道程序,傳送一批數(shù)據(jù),當(dāng)這臺設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道送一批數(shù)據(jù),當(dāng)這臺設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺設(shè)備,執(zhí)行它的相應(yīng)的通道程序。選擇通道連接的另一臺設(shè)備,執(zhí)行它的相應(yīng)的

48、通道程序。選擇通道在一段時間內(nèi)只允許一臺設(shè)備進行數(shù)據(jù)傳輸,傳送速度很在一段時間內(nèi)只允許一臺設(shè)備進行數(shù)據(jù)傳輸,傳送速度很高,但在設(shè)備傳輸未完成之前,由它獨占通道。由于選擇高,但在設(shè)備傳輸未完成之前,由它獨占通道。由于選擇通道能控制設(shè)備高速連續(xù)地傳送一批數(shù)據(jù),因此通道能控制設(shè)備高速連續(xù)地傳送一批數(shù)據(jù),因此常用它連常用它連接高速的塊設(shè)備接高速的塊設(shè)備。如磁盤、磁鼓等。如磁盤、磁鼓等。 操作系統(tǒng) 第五章 設(shè)備管理3737 操作系統(tǒng) 第五章 設(shè)備管理3838 3成組多路通道 成組多路通道結(jié)合了選擇通道傳送速度高和字節(jié)多路成組多路通道結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進行并行操作的優(yōu)點,采用分時輪轉(zhuǎn)

49、同時控制多臺通道能進行并行操作的優(yōu)點,采用分時輪轉(zhuǎn)同時控制多臺設(shè)備。它先為一臺設(shè)備執(zhí)行一條通道指令然后自動轉(zhuǎn)接,設(shè)備。它先為一臺設(shè)備執(zhí)行一條通道指令然后自動轉(zhuǎn)接,為另一臺設(shè)備執(zhí)行一條通道指令。因此為另一臺設(shè)備執(zhí)行一條通道指令。因此常用它連接中速的常用它連接中速的塊設(shè)備塊設(shè)備。如磁帶等。如磁帶等。 操作系統(tǒng) 第五章 設(shè)備管理3939字節(jié)多路通道字節(jié)多路通道數(shù)組選擇通道數(shù)組選擇通道數(shù)組多路通道數(shù)組多路通道輸入機處理機處理機內(nèi)存內(nèi)存打印機磁盤磁帶控制線數(shù)據(jù)線三種類型通道與內(nèi)存和設(shè)備之間連接形式圖三種類型通道與內(nèi)存和設(shè)備之間連接形式圖 操作系統(tǒng) 第五章 設(shè)備管理4040主存主存CPUCPU 字節(jié)字節(jié)多

50、路通道多路通道 選擇選擇 通道通道 成組成組多路通道多路通道CPUCPU總線總線磁盤磁盤磁帶磁帶I/OI/O控制控制I/OI/O控制控制I/OI/O控制控制I/OI/O控制控制I/OI/O控制控制I/OI/O控制控制I/OI/O控制控制I/OI/O控制控制I/OI/O控制控制 采用通道方式的計算機系統(tǒng)結(jié)構(gòu)采用通道方式的計算機系統(tǒng)結(jié)構(gòu) 操作系統(tǒng) 第五章 設(shè)備管理4141用戶程序通道通道外設(shè)外設(shè)內(nèi)存數(shù)據(jù)區(qū)中斷處中斷處理程序理程序管理程序通道程序返回通道通道I/OI/O主要過程示意圖主要過程示意圖取通道指令入口入口參數(shù)參數(shù)設(shè)備類設(shè)備類設(shè)備號設(shè)備號數(shù)據(jù)長度數(shù)據(jù)長度主存地址主存地址結(jié)束指令構(gòu)造通構(gòu)造通道

51、程序道程序I/O完成中斷完成中斷I/O中斷響應(yīng)中斷響應(yīng)I/O中斷返回中斷返回訪管訪管陷入下下一一步步啟動啟動I/O結(jié)束結(jié)束置通道地址字 通道工作過程通道工作過程 操作系統(tǒng) 第五章 設(shè)備管理42421.1.中斷:中斷:一進程占有處理機執(zhí)行期間系統(tǒng)發(fā)生各種事件需要一進程占有處理機執(zhí)行期間系統(tǒng)發(fā)生各種事件需要處理機來處理,從而使得處理機暫停當(dāng)前進程的執(zhí)行而轉(zhuǎn)去處理機來處理,從而使得處理機暫停當(dāng)前進程的執(zhí)行而轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序,待事件處理完畢后再返回原來被執(zhí)行相應(yīng)的中斷處理程序,待事件處理完畢后再返回原來被中斷處繼續(xù)執(zhí)行的過程。中斷處繼續(xù)執(zhí)行的過程。5.3 中斷技術(shù)一、中斷的基本概念2.2.中

52、斷源:中斷源:引起中斷發(fā)生的事件。引起中斷發(fā)生的事件。3.3.中斷請求:中斷請求:中斷源向處理機發(fā)出的請求中斷處理的信號。中斷源向處理機發(fā)出的請求中斷處理的信號。4.4.中斷處理程序中斷處理程序:對中斷事件進行相應(yīng)處理的操作系統(tǒng)程序。:對中斷事件進行相應(yīng)處理的操作系統(tǒng)程序。 操作系統(tǒng) 第五章 設(shè)備管理43431.1.強迫性中斷事件(非運行進程所期望的)強迫性中斷事件(非運行進程所期望的)二、中斷事件的類型2.2.自愿性中斷事件(運行進程所要求的)自愿性中斷事件(運行進程所要求的)硬件故障中斷(電源掉電、讀硬件故障中斷(電源掉電、讀/ /寫錯等)寫錯等)程序性中斷(數(shù)據(jù)溢出、訪問溢出等)程序性中

53、斷(數(shù)據(jù)溢出、訪問溢出等)外部中斷(鍵盤輸入命令)外部中斷(鍵盤輸入命令)輸入輸出中斷(外部設(shè)備故障)輸入輸出中斷(外部設(shè)備故障)訪管中斷(執(zhí)行一條訪管中斷(執(zhí)行一條“訪管指令訪管指令”請求系統(tǒng)調(diào)用)。請求系統(tǒng)調(diào)用)。 操作系統(tǒng) 第五章 設(shè)備管理4444 中斷碼存入中斷碼存入PSWPSW寄存器的中斷碼位寄存器的中斷碼位 將舊將舊PSW PSW 將新將新PSWPSW保存到主存保存到主存 送到送到PSWPSW寄存器。寄存器。 CPU CPU收到中斷請求后轉(zhuǎn)相應(yīng)的中斷處理程序的過程稱為收到中斷請求后轉(zhuǎn)相應(yīng)的中斷處理程序的過程稱為中斷響應(yīng)。中斷響應(yīng)。三、中斷響應(yīng) PSW寄存器寄存器1.1.保存被中斷進

54、保存被中斷進程的現(xiàn)場程的現(xiàn)場2.2.執(zhí)行中斷處理執(zhí)行中斷處理程序程序 四、中斷處理過程 應(yīng)用應(yīng)用 程序程序 交換交換PSWPSW 執(zhí)行中斷執(zhí)行中斷 處理程序處理程序 PSW PSW寄存器寄存器CPU 1. 1. 發(fā)現(xiàn)和識別中斷事件發(fā)現(xiàn)和識別中斷事件: :硬件設(shè)有中斷裝置發(fā)現(xiàn)和識硬件設(shè)有中斷裝置發(fā)現(xiàn)和識別中斷事件。別中斷事件。2. 2. 交換交換PSWPSW 操作系統(tǒng) 第五章 設(shè)備管理4545五、中斷處理的原則硬件故障中斷硬件故障中斷輸出事件的性質(zhì)。輸出事件的性質(zhì)。程序性中斷程序性中斷輸出進程名,程序斷點,事件性質(zhì)。輸出進程名,程序斷點,事件性質(zhì)。外部中斷外部中斷接收外部請求后轉(zhuǎn)例行子程序。接收

55、外部請求后轉(zhuǎn)例行子程序。 正常情況,釋放等待進程。正常情況,釋放等待進程。輸入輸出中斷輸入輸出中斷 異常情況,告知出錯信息。異常情況,告知出錯信息。訪管中斷訪管中斷根據(jù)訪管指令中的功能號轉(zhuǎn)對應(yīng)的系統(tǒng)調(diào)用。根據(jù)訪管指令中的功能號轉(zhuǎn)對應(yīng)的系統(tǒng)調(diào)用。 操作系統(tǒng) 第五章 設(shè)備管理4646中斷優(yōu)先級順序:中斷優(yōu)先級順序: 硬件故障中斷自愿性中斷程序性中斷外部中斷硬件故障中斷自愿性中斷程序性中斷外部中斷輸入輸出中斷輸入輸出中斷。七、中斷屏蔽 中斷請求產(chǎn)生之后,系統(tǒng)用軟件的方法有選擇地封鎖中斷請求產(chǎn)生之后,系統(tǒng)用軟件的方法有選擇地封鎖部分中斷而響應(yīng)其余中斷。部分中斷而響應(yīng)其余中斷。六、中斷優(yōu)先級 當(dāng)多個中斷

56、事件同時發(fā)生時,中斷裝置按預(yù)先定好的順當(dāng)多個中斷事件同時發(fā)生時,中斷裝置按預(yù)先定好的順序響應(yīng)同時出現(xiàn)的中斷事件,這個預(yù)先定好的順序稱為中斷序響應(yīng)同時出現(xiàn)的中斷事件,這個預(yù)先定好的順序稱為中斷優(yōu)先級。優(yōu)先級。 操作系統(tǒng) 第五章 設(shè)備管理47475.4 緩沖技術(shù)一、概述引入緩沖技術(shù)的目的:引入緩沖技術(shù)的目的:1 1)改善)改善CPUCPU與外圍設(shè)備之間速度不匹配的矛盾;與外圍設(shè)備之間速度不匹配的矛盾;2 2)減少中斷減少中斷CPU的次數(shù),放寬的次數(shù),放寬CPU對中斷的響應(yīng)時間。對中斷的響應(yīng)時間。3 3)減少占用通道的時間,使通道的瓶頸現(xiàn)象得以緩和,從減少占用通道的時間,使通道的瓶頸現(xiàn)象得以緩和,從

57、而顯著提高而顯著提高CPU、通道、通道、I/O設(shè)備間的并行操作程度。設(shè)備間的并行操作程度。緩沖技術(shù)是利用緩沖技術(shù)是利用空間空間來換取來換取時間時間,加快系統(tǒng),加快系統(tǒng)I/O數(shù)據(jù)處理數(shù)據(jù)處理速度。緩沖區(qū)大小的設(shè)置和設(shè)備的類型有關(guān)速度。緩沖區(qū)大小的設(shè)置和設(shè)備的類型有關(guān): 塊設(shè)備塊設(shè)備的緩沖區(qū)的大小應(yīng)為塊的大??;的緩沖區(qū)的大小應(yīng)為塊的大??; 字符設(shè)備字符設(shè)備的緩沖區(qū)大小一般以一行大小設(shè)置。的緩沖區(qū)大小一般以一行大小設(shè)置。 操作系統(tǒng) 第五章 設(shè)備管理48481bit/100s8位緩沖中斷通知CPUCPU響應(yīng)取走處理遠地通信的緩沖處理遠地通信的緩沖處理1bit/100s1位緩沖中斷通知CPUCPU響應(yīng)取

58、走處理端口(1位緩沖)(8位緩沖)下下一一步步結(jié)束結(jié)束沒有這沒有這8 8位寄存位寄存器器, CPU, CPU響應(yīng)中響應(yīng)中斷的時間是多少斷的時間是多少? ? 操作系統(tǒng) 第五章 設(shè)備管理4949 當(dāng)一個進程執(zhí)行寫操作輸出數(shù)據(jù)時,先向系統(tǒng)申請一個主存區(qū)當(dāng)一個進程執(zhí)行寫操作輸出數(shù)據(jù)時,先向系統(tǒng)申請一個主存區(qū)域域緩沖區(qū),然后,將數(shù)據(jù)高速送到緩沖區(qū)。若為順序?qū)懻埱?,緩沖區(qū),然后,將數(shù)據(jù)高速送到緩沖區(qū)。若為順序?qū)懻埱?,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被裝滿為止。此后,進程可以繼則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被裝滿為止。此后,進程可以繼續(xù)它的計算,同時,系統(tǒng)將緩沖區(qū)內(nèi)容寫到續(xù)它的計算,同時,系統(tǒng)將緩沖區(qū)內(nèi)容寫到

59、I IO O設(shè)備上。設(shè)備上。 在輸出數(shù)據(jù)時,只有在系統(tǒng)還來不及騰空緩沖區(qū)之前,進程又在輸出數(shù)據(jù)時,只有在系統(tǒng)還來不及騰空緩沖區(qū)之前,進程又欲輸出信息時,它才需要等待;在輸入數(shù)據(jù)時,僅當(dāng)緩沖區(qū)空而進欲輸出信息時,它才需要等待;在輸入數(shù)據(jù)時,僅當(dāng)緩沖區(qū)空而進程又要從中讀取數(shù)據(jù)時,它才被迫等待。其它時間可以進一步提高程又要從中讀取數(shù)據(jù)時,它才被迫等待。其它時間可以進一步提高CPUCPU和和I IO O設(shè)備的并行性,以及設(shè)備的并行性,以及I IO O設(shè)備和設(shè)備和I IO O設(shè)備之間的并行性,設(shè)備之間的并行性,從而,提高整個系統(tǒng)的效率。從而,提高整個系統(tǒng)的效率。緩沖技術(shù)實現(xiàn)的基本思想:緩沖技術(shù)實現(xiàn)的基本

60、思想: 操作系統(tǒng) 第五章 設(shè)備管理5050u 進程讀取數(shù)據(jù)塊時,若已在緩沖區(qū)就立刻讀取,不阻塞進程讀取數(shù)據(jù)塊時,若已在緩沖區(qū)就立刻讀取,不阻塞進程。當(dāng)緩沖區(qū)空時才阻塞進程,啟動磁帶或磁盤數(shù)據(jù)塊進程。當(dāng)緩沖區(qū)空時才阻塞進程,啟動磁帶或磁盤數(shù)據(jù)塊讀入,這就是所謂的提前讀。讀入,這就是所謂的提前讀。u 當(dāng)進程輸出數(shù)據(jù)塊到磁帶或磁盤時,只需寫入緩沖區(qū),當(dāng)進程輸出數(shù)據(jù)塊到磁帶或磁盤時,只需寫入緩沖區(qū),直到緩沖區(qū)滿之后才開始啟動磁帶或磁盤。既減少了輸出直到緩沖區(qū)滿之后才開始啟動磁帶或磁盤。既減少了輸出操作和中斷次數(shù),又提高了傳輸速度。利用緩沖區(qū)實現(xiàn)的操作和中斷次數(shù),又提高了傳輸速度。利用緩沖區(qū)實現(xiàn)的這種功

溫馨提示

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

評論

0/150

提交評論