版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章設(shè)備管理第七章設(shè)備管理n概述概述nI/O軟件的組成軟件的組成nI/O硬件特點(diǎn)硬件特點(diǎn)n有關(guān)技術(shù)有關(guān)技術(shù)n設(shè)備處理設(shè)備處理n典型外部設(shè)備典型外部設(shè)備天馬行空官方博客:http:/ ;QQ:1318241189;QQ群:175569632一、概述一、概述1、I/O的特點(diǎn)的特點(diǎn)(1 1)I/OI/O性能經(jīng)常成為系統(tǒng)性能的瓶頸性能經(jīng)常成為系統(tǒng)性能的瓶頸nCPUCPU性能不等于系統(tǒng)性能性能不等于系統(tǒng)性能 響應(yīng)時(shí)間也是一個(gè)重要因素響應(yīng)時(shí)間也是一個(gè)重要因素nCPUCPU性能越高,與性能越高,與I/OI/O差距越大差距越大 彌補(bǔ):更多的進(jìn)程彌補(bǔ):更多的進(jìn)程n進(jìn)程切換多,系統(tǒng)開(kāi)銷(xiāo)大進(jìn)程切換多,系統(tǒng)開(kāi)銷(xiāo)大(
2、2 2)操作系統(tǒng)龐大復(fù)雜的原因之一是:資源)操作系統(tǒng)龐大復(fù)雜的原因之一是:資源多、雜,并發(fā),均來(lái)自多、雜,并發(fā),均來(lái)自I/OI/O 外設(shè)種類(lèi)繁多,結(jié)構(gòu)各異外設(shè)種類(lèi)繁多,結(jié)構(gòu)各異 輸入輸出數(shù)據(jù)信號(hào)類(lèi)型不同輸入輸出數(shù)據(jù)信號(hào)類(lèi)型不同 速度差異很大速度差異很大(3 3)理解)理解I/OI/O的工作過(guò)程與結(jié)構(gòu)是理解操作系的工作過(guò)程與結(jié)構(gòu)是理解操作系統(tǒng)的工作過(guò)程與結(jié)構(gòu)的關(guān)鍵統(tǒng)的工作過(guò)程與結(jié)構(gòu)的關(guān)鍵 I/OI/O技術(shù)很實(shí)用技術(shù)很實(shí)用(4 4)與其他功能聯(lián)系密切,特別是文件系統(tǒng))與其他功能聯(lián)系密切,特別是文件系統(tǒng)1、I/O的特點(diǎn)的特點(diǎn)(1 1)按使用特性分)按使用特性分 存儲(chǔ)型設(shè)備存儲(chǔ)型設(shè)備 輸入型設(shè)備(輸入
3、型設(shè)備(外設(shè)外設(shè)主機(jī)主機(jī)) 輸出型設(shè)備(主機(jī)輸出型設(shè)備(主機(jī)外設(shè))外設(shè)) 輸入輸出型設(shè)備(交互型設(shè)備)輸入輸出型設(shè)備(交互型設(shè)備)2、設(shè)備的分類(lèi)、設(shè)備的分類(lèi)(2 2)按數(shù)據(jù)組織分)按數(shù)據(jù)組織分 塊設(shè)備塊設(shè)備 以數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息以數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息 字符設(shè)備字符設(shè)備 以字符為單位存儲(chǔ)、傳輸信息以字符為單位存儲(chǔ)、傳輸信息(3 3)按外部設(shè)備的從屬關(guān)系分)按外部設(shè)備的從屬關(guān)系分 系統(tǒng)設(shè)備系統(tǒng)設(shè)備 指操作系統(tǒng)生成時(shí),登記在系統(tǒng)中的標(biāo)指操作系統(tǒng)生成時(shí),登記在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)備準(zhǔn)設(shè)備 (如終端、打印機(jī)、磁盤(pán)機(jī)等)(如終端、打印機(jī)、磁盤(pán)機(jī)等) 用戶(hù)設(shè)備用戶(hù)設(shè)備 指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中
4、的非指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中的非標(biāo)準(zhǔn)設(shè)備。對(duì)于這類(lèi)設(shè)備的處理程序由用標(biāo)準(zhǔn)設(shè)備。對(duì)于這類(lèi)設(shè)備的處理程序由用戶(hù)提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶(hù)提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶(hù)實(shí)施管理。戶(hù)實(shí)施管理。 (如(如A/DA/D,D/AD/A轉(zhuǎn)換器,轉(zhuǎn)換器,CADCAD所用專(zhuān)用設(shè)備)所用專(zhuān)用設(shè)備)(4 4)按資源分配角度分)按資源分配角度分 獨(dú)占設(shè)備獨(dú)占設(shè)備 在一段時(shí)間內(nèi)只能有一個(gè)進(jìn)程使用的設(shè)備,一在一段時(shí)間內(nèi)只能有一個(gè)進(jìn)程使用的設(shè)備,一般為低速般為低速I(mǎi)/OI/O設(shè)備(如打印機(jī),磁帶等)設(shè)備(如打印機(jī),磁帶等) 共享設(shè)備共享設(shè)備 在一段時(shí)間內(nèi)可有多個(gè)進(jìn)程共同使用的設(shè)備,在一段時(shí)間內(nèi)可有多個(gè)進(jìn)
5、程共同使用的設(shè)備,多個(gè)進(jìn)程以交叉的方式來(lái)使用設(shè)備,其資源利多個(gè)進(jìn)程以交叉的方式來(lái)使用設(shè)備,其資源利用率高(如硬盤(pán))用率高(如硬盤(pán))虛設(shè)備虛設(shè)備在一類(lèi)設(shè)備上模擬另一類(lèi)設(shè)備,常用共享在一類(lèi)設(shè)備上模擬另一類(lèi)設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱(chēng)為虛設(shè)備速設(shè)備,被模擬的設(shè)備稱(chēng)為虛設(shè)備 目的:將慢速的獨(dú)占設(shè)備改造成多個(gè)用戶(hù)可共目的:將慢速的獨(dú)占設(shè)備改造成多個(gè)用戶(hù)可共享的設(shè)備,提高設(shè)備的利用率享的設(shè)備,提高設(shè)備的利用率(實(shí)例:(實(shí)例:SPOOLingSPOOLing技術(shù),利用虛設(shè)備技術(shù)技術(shù),利用虛設(shè)備技術(shù) 用硬盤(pán)模擬輸入輸出設(shè)備)用硬盤(pán)模擬
6、輸入輸出設(shè)備)SPOOLingSPOOLing技術(shù)技術(shù) 為解決獨(dú)立設(shè)備數(shù)量少,速度慢,不能為解決獨(dú)立設(shè)備數(shù)量少,速度慢,不能滿(mǎn)足眾多進(jìn)程的要求,而且在進(jìn)程獨(dú)占設(shè)滿(mǎn)足眾多進(jìn)程的要求,而且在進(jìn)程獨(dú)占設(shè)備期間,設(shè)備利用率比較低而提出的一種備期間,設(shè)備利用率比較低而提出的一種設(shè)備管理技術(shù)設(shè)備管理技術(shù)(5 5)從程序使用角度分)從程序使用角度分 邏輯設(shè)備、物理設(shè)備邏輯設(shè)備、物理設(shè)備(6 6)按數(shù)據(jù)傳輸率分)按數(shù)據(jù)傳輸率分 高速設(shè)備、低速設(shè)備高速設(shè)備、低速設(shè)備(7 7)按接口分)按接口分 與用戶(hù)交流:顯示器,鍵盤(pán),鼠標(biāo),打與用戶(hù)交流:顯示器,鍵盤(pán),鼠標(biāo),打印機(jī)等印機(jī)等 與電子設(shè)備交流:磁盤(pán)、磁帶等與電子設(shè)
7、備交流:磁盤(pán)、磁帶等 通信:與遠(yuǎn)程設(shè)備通信:調(diào)制解調(diào)器通信:與遠(yuǎn)程設(shè)備通信:調(diào)制解調(diào)器各類(lèi)設(shè)備的差別:各類(lèi)設(shè)備的差別: 數(shù)據(jù)傳輸率數(shù)據(jù)傳輸率 應(yīng)用應(yīng)用 控制的復(fù)雜性控制的復(fù)雜性 傳輸單位傳輸單位 數(shù)據(jù)表示數(shù)據(jù)表示 出錯(cuò)條件出錯(cuò)條件(1 1)按照用戶(hù)的請(qǐng)求,控制設(shè)備的各種操)按照用戶(hù)的請(qǐng)求,控制設(shè)備的各種操作,完成作,完成I/OI/O設(shè)備與內(nèi)存之間的數(shù)據(jù)交換設(shè)備與內(nèi)存之間的數(shù)據(jù)交換(包括設(shè)備分配與回收;設(shè)備驅(qū)動(dòng)程序;(包括設(shè)備分配與回收;設(shè)備驅(qū)動(dòng)程序;設(shè)備中斷處理;緩沖區(qū)管理),最終完設(shè)備中斷處理;緩沖區(qū)管理),最終完成用戶(hù)的成用戶(hù)的I/OI/O請(qǐng)求請(qǐng)求3.3.設(shè)備管理的目標(biāo)和任務(wù)設(shè)備管理的目標(biāo)
8、和任務(wù)n設(shè)備分配與回收設(shè)備分配與回收 記錄設(shè)備的狀態(tài)記錄設(shè)備的狀態(tài) 根據(jù)用戶(hù)的請(qǐng)求和設(shè)備的類(lèi)型,采用一定根據(jù)用戶(hù)的請(qǐng)求和設(shè)備的類(lèi)型,采用一定的分配算法,選擇一條數(shù)據(jù)通路的分配算法,選擇一條數(shù)據(jù)通路 n建立統(tǒng)一的獨(dú)立于設(shè)備的接口建立統(tǒng)一的獨(dú)立于設(shè)備的接口n完成設(shè)備驅(qū)動(dòng)程序,實(shí)現(xiàn)真正的完成設(shè)備驅(qū)動(dòng)程序,實(shí)現(xiàn)真正的I/OI/O操作操作n處理外部設(shè)備的中斷處理處理外部設(shè)備的中斷處理n管理管理I/OI/O緩沖區(qū)緩沖區(qū)功能功能(2 2)向用戶(hù)提供使用外部設(shè)備的方便)向用戶(hù)提供使用外部設(shè)備的方便接口,使用戶(hù)擺脫繁瑣的編程負(fù)擔(dān)接口,使用戶(hù)擺脫繁瑣的編程負(fù)擔(dān)n 方便性方便性n 友好界面友好界面n 透明性透明性
9、邏輯設(shè)備與物理設(shè)備、屏蔽硬件細(xì)節(jié)邏輯設(shè)備與物理設(shè)備、屏蔽硬件細(xì)節(jié)(設(shè)備的物理細(xì)節(jié),錯(cuò)誤處理,不同(設(shè)備的物理細(xì)節(jié),錯(cuò)誤處理,不同I/OI/O的差異性)的差異性)(3)充分利用各種技術(shù)(通道,中斷,緩)充分利用各種技術(shù)(通道,中斷,緩沖等)提高沖等)提高CPU與設(shè)備、設(shè)備與設(shè)備之與設(shè)備、設(shè)備與設(shè)備之間的并行工作能力,充分利用資源,提間的并行工作能力,充分利用資源,提高資源利用率高資源利用率n 并行性并行性n 均衡性(使設(shè)備充分忙碌)均衡性(使設(shè)備充分忙碌)(4)保證在多道程序環(huán)境下,當(dāng)多個(gè))保證在多道程序環(huán)境下,當(dāng)多個(gè)進(jìn)程競(jìng)爭(zhēng)使用設(shè)備時(shí),按一定策略進(jìn)程競(jìng)爭(zhēng)使用設(shè)備時(shí),按一定策略分配和管理各種設(shè)備
10、,使系統(tǒng)能有分配和管理各種設(shè)備,使系統(tǒng)能有條不紊的工作條不紊的工作(5)保護(hù))保護(hù) 設(shè)備傳送或管理的數(shù)據(jù)應(yīng)該是安全的、設(shè)備傳送或管理的數(shù)據(jù)應(yīng)該是安全的、不被破壞的、保密的不被破壞的、保密的(6)與設(shè)備無(wú)關(guān)性(設(shè)備獨(dú)立性)與設(shè)備無(wú)關(guān)性(設(shè)備獨(dú)立性) 用戶(hù)在編制程序時(shí),使用邏輯設(shè)備名,由用戶(hù)在編制程序時(shí),使用邏輯設(shè)備名,由系統(tǒng)實(shí)現(xiàn)從邏輯設(shè)備到物理設(shè)備(實(shí)際系統(tǒng)實(shí)現(xiàn)從邏輯設(shè)備到物理設(shè)備(實(shí)際設(shè)備)的轉(zhuǎn)換設(shè)備)的轉(zhuǎn)換 用戶(hù)能獨(dú)立于具體物理設(shè)備而方便的使用用戶(hù)能獨(dú)立于具體物理設(shè)備而方便的使用設(shè)備設(shè)備 用戶(hù)申請(qǐng)使用設(shè)備時(shí),只需要指定設(shè)備類(lèi)用戶(hù)申請(qǐng)使用設(shè)備時(shí),只需要指定設(shè)備類(lèi)型,而無(wú)須指定具體物理設(shè)備,系統(tǒng)
11、根型,而無(wú)須指定具體物理設(shè)備,系統(tǒng)根據(jù)當(dāng)前的請(qǐng)求,及設(shè)備分配的情況,在據(jù)當(dāng)前的請(qǐng)求,及設(shè)備分配的情況,在相同類(lèi)別設(shè)備中,選擇一個(gè)空閑設(shè)備,相同類(lèi)別設(shè)備中,選擇一個(gè)空閑設(shè)備,并將其分配給一個(gè)申請(qǐng)進(jìn)程并將其分配給一個(gè)申請(qǐng)進(jìn)程統(tǒng)一性:統(tǒng)一性: 對(duì)不同的設(shè)備采取統(tǒng)一的操作方式,在對(duì)不同的設(shè)備采取統(tǒng)一的操作方式,在用戶(hù)程序中使用的是邏輯設(shè)備用戶(hù)程序中使用的是邏輯設(shè)備優(yōu)點(diǎn):優(yōu)點(diǎn): n設(shè)備忙碌或設(shè)備故障時(shí),用戶(hù)不必修改設(shè)備忙碌或設(shè)備故障時(shí),用戶(hù)不必修改程序程序n改善了系統(tǒng)的可適應(yīng)性和可擴(kuò)展性改善了系統(tǒng)的可適應(yīng)性和可擴(kuò)展性 IO軟件的基本思想是按分層的思想構(gòu)成,軟件的基本思想是按分層的思想構(gòu)成,較低層軟件要使
12、較高層軟件獨(dú)立于硬件較低層軟件要使較高層軟件獨(dú)立于硬件的特性,較高層軟件則要向用戶(hù)提供一的特性,較高層軟件則要向用戶(hù)提供一個(gè)友好的、清晰的、簡(jiǎn)單的、功能更強(qiáng)個(gè)友好的、清晰的、簡(jiǎn)單的、功能更強(qiáng)的接口的接口二、二、I/OI/O軟件的組成軟件的組成 在設(shè)計(jì)在設(shè)計(jì)I IO O軟件時(shí)的一個(gè)關(guān)鍵概念是設(shè)備軟件時(shí)的一個(gè)關(guān)鍵概念是設(shè)備獨(dú)立性。用戶(hù)在編寫(xiě)使用軟盤(pán)或硬盤(pán)上獨(dú)立性。用戶(hù)在編寫(xiě)使用軟盤(pán)或硬盤(pán)上文件的程序時(shí),無(wú)需為不同的設(shè)備類(lèi)型文件的程序時(shí),無(wú)需為不同的設(shè)備類(lèi)型而修改程序就可以使用而修改程序就可以使用 與設(shè)備獨(dú)立性密切相關(guān)的是統(tǒng)一命名這與設(shè)備獨(dú)立性密切相關(guān)的是統(tǒng)一命名這一目標(biāo)。一個(gè)文件或一個(gè)設(shè)備的名字只
13、一目標(biāo)。一個(gè)文件或一個(gè)設(shè)備的名字只應(yīng)是一個(gè)簡(jiǎn)單的字符串或一個(gè)整數(shù),不應(yīng)是一個(gè)簡(jiǎn)單的字符串或一個(gè)整數(shù),不應(yīng)依賴(lài)于設(shè)備應(yīng)依賴(lài)于設(shè)備1. I1. IO O軟件的目標(biāo)軟件的目標(biāo) 出錯(cuò)處理是出錯(cuò)處理是I IO O軟件的另一個(gè)目標(biāo)。一般來(lái)軟件的另一個(gè)目標(biāo)。一般來(lái)說(shuō),數(shù)據(jù)傳輸中的錯(cuò)誤應(yīng)盡可能地在接近硬說(shuō),數(shù)據(jù)傳輸中的錯(cuò)誤應(yīng)盡可能地在接近硬件層上處理件層上處理 最后一個(gè)問(wèn)題是可共享設(shè)備和獨(dú)占設(shè)備的處最后一個(gè)問(wèn)題是可共享設(shè)備和獨(dú)占設(shè)備的處理問(wèn)題理問(wèn)題2.2.中斷處理程序中斷處理程序 每個(gè)進(jìn)程在啟動(dòng)一個(gè)每個(gè)進(jìn)程在啟動(dòng)一個(gè)I IO O操作后阻塞操作后阻塞 直到直到I IO O操作完成并產(chǎn)生一個(gè)中斷操作完成并產(chǎn)生一個(gè)
14、中斷 由操作系統(tǒng)接管由操作系統(tǒng)接管CPUCPU后喚醒該進(jìn)程為止后喚醒該進(jìn)程為止3.3.設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序 與設(shè)備密切相關(guān)的代碼放在設(shè)備驅(qū)動(dòng)程序中,與設(shè)備密切相關(guān)的代碼放在設(shè)備驅(qū)動(dòng)程序中,每個(gè)設(shè)備驅(qū)動(dòng)程序處理一種設(shè)備類(lèi)型每個(gè)設(shè)備驅(qū)動(dòng)程序處理一種設(shè)備類(lèi)型 每一個(gè)控制器都設(shè)有一個(gè)或多個(gè)設(shè)備寄存器,每一個(gè)控制器都設(shè)有一個(gè)或多個(gè)設(shè)備寄存器,用來(lái)存放向設(shè)備發(fā)送的命令和參數(shù)。設(shè)備驅(qū)用來(lái)存放向設(shè)備發(fā)送的命令和參數(shù)。設(shè)備驅(qū)動(dòng)程序負(fù)責(zé)釋放這些命令,并監(jiān)督它們正確動(dòng)程序負(fù)責(zé)釋放這些命令,并監(jiān)督它們正確執(zhí)行執(zhí)行 一般,設(shè)備驅(qū)動(dòng)程序的任務(wù)是接收來(lái)自與設(shè)一般,設(shè)備驅(qū)動(dòng)程序的任務(wù)是接收來(lái)自與設(shè)備無(wú)關(guān)的上層軟件的抽象請(qǐng)
15、求,并執(zhí)行這個(gè)備無(wú)關(guān)的上層軟件的抽象請(qǐng)求,并執(zhí)行這個(gè)請(qǐng)求請(qǐng)求 在設(shè)備驅(qū)動(dòng)程序的進(jìn)程釋放一條或多條命令在設(shè)備驅(qū)動(dòng)程序的進(jìn)程釋放一條或多條命令后,系統(tǒng)有兩種處理方式,多數(shù)情況下,執(zhí)后,系統(tǒng)有兩種處理方式,多數(shù)情況下,執(zhí)行設(shè)備驅(qū)動(dòng)程序的進(jìn)程必須等待命令完成,行設(shè)備驅(qū)動(dòng)程序的進(jìn)程必須等待命令完成,這樣,在命令開(kāi)始執(zhí)行后,它阻塞自已,直這樣,在命令開(kāi)始執(zhí)行后,它阻塞自已,直到中斷處理時(shí)將它解除阻塞為止。而在其它到中斷處理時(shí)將它解除阻塞為止。而在其它情況下,命令執(zhí)行不必延遲就很快完成情況下,命令執(zhí)行不必延遲就很快完成 4.4.設(shè)備獨(dú)立的軟件設(shè)備獨(dú)立的軟件 雖然雖然I IO O軟件中一部分是設(shè)備專(zhuān)用的,但大
16、軟件中一部分是設(shè)備專(zhuān)用的,但大部分軟件是與設(shè)備無(wú)關(guān)的。設(shè)備驅(qū)動(dòng)程序與部分軟件是與設(shè)備無(wú)關(guān)的。設(shè)備驅(qū)動(dòng)程序與設(shè)備獨(dú)立軟件之間的確切界限是依賴(lài)于具體設(shè)備獨(dú)立軟件之間的確切界限是依賴(lài)于具體系統(tǒng)的系統(tǒng)的 1. 1.獨(dú)立于設(shè)備的軟件的基本任務(wù)是實(shí)現(xiàn)所有獨(dú)立于設(shè)備的軟件的基本任務(wù)是實(shí)現(xiàn)所有設(shè)備都需要的功能,并且向用戶(hù)級(jí)軟件提供設(shè)備都需要的功能,并且向用戶(hù)級(jí)軟件提供一個(gè)統(tǒng)一的接口一個(gè)統(tǒng)一的接口 2.2.如何給文件和設(shè)備這樣的對(duì)象命名是操作如何給文件和設(shè)備這樣的對(duì)象命名是操作系統(tǒng)中的一個(gè)主要課題。獨(dú)立于設(shè)備的軟件系統(tǒng)中的一個(gè)主要課題。獨(dú)立于設(shè)備的軟件負(fù)責(zé)把設(shè)備的符號(hào)名映射到正確的設(shè)備驅(qū)動(dòng)負(fù)責(zé)把設(shè)備的符號(hào)名映射
17、到正確的設(shè)備驅(qū)動(dòng)上上 3.3.設(shè)備保護(hù)設(shè)備保護(hù) 系統(tǒng)如何防止無(wú)權(quán)存取設(shè)備的用戶(hù)存取設(shè)備系統(tǒng)如何防止無(wú)權(quán)存取設(shè)備的用戶(hù)存取設(shè)備呢?呢? 4. 4.不同的磁盤(pán)可以采用不同的扇區(qū)尺寸。向不同的磁盤(pán)可以采用不同的扇區(qū)尺寸。向較高層軟件掩蓋這一事實(shí)并提供大小統(tǒng)一的較高層軟件掩蓋這一事實(shí)并提供大小統(tǒng)一的塊尺寸,這正是設(shè)備獨(dú)立軟件的一個(gè)任務(wù)。塊尺寸,這正是設(shè)備獨(dú)立軟件的一個(gè)任務(wù)。它可將若干扇區(qū)合成一個(gè)邏輯塊。這樣,較它可將若干扇區(qū)合成一個(gè)邏輯塊。這樣,較高層的軟件只與抽象設(shè)備打交道,獨(dú)立于物高層的軟件只與抽象設(shè)備打交道,獨(dú)立于物理扇區(qū)的尺寸而使用等長(zhǎng)的邏輯塊理扇區(qū)的尺寸而使用等長(zhǎng)的邏輯塊 5.5.緩沖技術(shù)緩
18、沖技術(shù) 6.6.設(shè)備分配設(shè)備分配 7.7.出錯(cuò)處理出錯(cuò)處理 5.5.用戶(hù)空間的用戶(hù)空間的I IO O軟件軟件 盡管大部分盡管大部分I IO O軟件都包含在操作系統(tǒng)中,軟件都包含在操作系統(tǒng)中,但仍有一小部分是由與用戶(hù)程序連接在一起但仍有一小部分是由與用戶(hù)程序連接在一起的庫(kù)過(guò)程,甚至完全由運(yùn)行于核外的程序構(gòu)的庫(kù)過(guò)程,甚至完全由運(yùn)行于核外的程序構(gòu)成。系統(tǒng)調(diào)用,包括成。系統(tǒng)調(diào)用,包括I IO O系統(tǒng)調(diào)用,通常由系統(tǒng)調(diào)用,通常由庫(kù)過(guò)程實(shí)現(xiàn)庫(kù)過(guò)程實(shí)現(xiàn) 這些過(guò)程所做的工作只是將系統(tǒng)調(diào)用時(shí)所用這些過(guò)程所做的工作只是將系統(tǒng)調(diào)用時(shí)所用的參數(shù)放在合適的位置,由其它的的參數(shù)放在合適的位置,由其它的I IO O過(guò)程過(guò)程
19、實(shí)際實(shí)現(xiàn)真正的操作實(shí)際實(shí)現(xiàn)真正的操作(1 1)用戶(hù)進(jìn)程層執(zhí)行輸入輸出系統(tǒng)調(diào)用,對(duì))用戶(hù)進(jìn)程層執(zhí)行輸入輸出系統(tǒng)調(diào)用,對(duì)I IO O數(shù)據(jù)進(jìn)行格式化,為假脫機(jī)輸入輸出數(shù)據(jù)進(jìn)行格式化,為假脫機(jī)輸入輸出作準(zhǔn)備作準(zhǔn)備(2 2)獨(dú)立于設(shè)備的軟件實(shí)現(xiàn)設(shè)備的命名、設(shè))獨(dú)立于設(shè)備的軟件實(shí)現(xiàn)設(shè)備的命名、設(shè)備的保護(hù)、成塊處理、緩沖技術(shù)和設(shè)備分配備的保護(hù)、成塊處理、緩沖技術(shù)和設(shè)備分配(3 3)設(shè)備驅(qū)動(dòng)程序設(shè)置設(shè)備寄存器、檢查設(shè))設(shè)備驅(qū)動(dòng)程序設(shè)置設(shè)備寄存器、檢查設(shè)備的執(zhí)行狀態(tài)備的執(zhí)行狀態(tài)(4 4)中斷處理程序負(fù)責(zé))中斷處理程序負(fù)責(zé)I IO O完成時(shí),喚醒設(shè)完成時(shí),喚醒設(shè)備驅(qū)動(dòng)程序進(jìn)程,進(jìn)行中斷處理備驅(qū)動(dòng)程序進(jìn)程,進(jìn)行中斷
20、處理(5 5)硬件層實(shí)現(xiàn)物理)硬件層實(shí)現(xiàn)物理I IO O的操作的操作1.1.設(shè)備組成設(shè)備組成 I IO O設(shè)備一般由機(jī)械和電子兩部分組成設(shè)備一般由機(jī)械和電子兩部分組成 把這兩部分分開(kāi)處理,以提供更加模塊化,把這兩部分分開(kāi)處理,以提供更加模塊化,更加通用的設(shè)計(jì)更加通用的設(shè)計(jì)三、三、I/OI/O硬件特點(diǎn)硬件特點(diǎn) (1 1)物理設(shè)備)物理設(shè)備 機(jī)械部分是設(shè)備本身(物理裝置)機(jī)械部分是設(shè)備本身(物理裝置)(2 2)設(shè)備控制器)設(shè)備控制器 電子部分叫做設(shè)備控制器或適配器。電子部分叫做設(shè)備控制器或適配器。 在小型和微型機(jī)中,它常采用印刷電路卡在小型和微型機(jī)中,它常采用印刷電路卡插入計(jì)算機(jī)中(接口)插入計(jì)算
21、機(jī)中(接口) 完成設(shè)備與主機(jī)間的連接和通訊完成設(shè)備與主機(jī)間的連接和通訊 控制器卡上通常有一個(gè)插座,通過(guò)電纜與設(shè)控制器卡上通常有一個(gè)插座,通過(guò)電纜與設(shè)備相連備相連 控制器和設(shè)備之間的接口是一個(gè)標(biāo)準(zhǔn)接口,控制器和設(shè)備之間的接口是一個(gè)標(biāo)準(zhǔn)接口,它符合它符合ANSIANSI、IEEEIEEE或或ISOISO這樣的國(guó)際標(biāo)準(zhǔn)這樣的國(guó)際標(biāo)準(zhǔn)CPU外部設(shè)備控控制制邏邏輯輯電電路路控制寄存器控制寄存器狀態(tài)寄存器狀態(tài)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器I/OI/O設(shè)備特點(diǎn):設(shè)備特點(diǎn):(1 1)操作異步性)操作異步性(2 2)設(shè)備自治性)設(shè)備自治性(3 3)接口通用性)接口通用性 關(guān)注點(diǎn):對(duì)該硬件如何進(jìn)行程序設(shè)計(jì),不考慮設(shè)備
22、關(guān)注點(diǎn):對(duì)該硬件如何進(jìn)行程序設(shè)計(jì),不考慮設(shè)備內(nèi)部如何工作內(nèi)部如何工作 程序員:軟件接口程序員:軟件接口 即硬件所接受的命令,它所完成的功能,報(bào)回的錯(cuò)即硬件所接受的命令,它所完成的功能,報(bào)回的錯(cuò)誤誤2.2.設(shè)備接口設(shè)備接口 一個(gè)一個(gè)I/OI/O過(guò)程由四步組成:過(guò)程由四步組成: 準(zhǔn)備準(zhǔn)備 啟動(dòng)啟動(dòng) 測(cè)試和等待測(cè)試和等待 結(jié)果檢查和錯(cuò)誤處理結(jié)果檢查和錯(cuò)誤處理 通過(guò)對(duì)設(shè)備接口寄存器組的讀寫(xiě)完成通過(guò)對(duì)設(shè)備接口寄存器組的讀寫(xiě)完成 設(shè)備接口復(fù)雜繁瑣設(shè)備接口復(fù)雜繁瑣 操作系統(tǒng)將命令寫(xiě)入控制器寄存器中,以實(shí)操作系統(tǒng)將命令寫(xiě)入控制器寄存器中,以實(shí)現(xiàn)輸入輸出現(xiàn)輸入輸出 例如:例如:IBM PCIBM PC的軟盤(pán)控制
23、器可接收的軟盤(pán)控制器可接收1515條命令,條命令,READREAD、WRITEWRITE、FORMATFORMAT、SEEKSEEK、RECALIBRATERECALIBRATE,命令可以帶參數(shù)。它們被一起送入控制器的命令可以帶參數(shù)。它們被一起送入控制器的寄存器中寄存器中 當(dāng)控制器接受一條命令后,可獨(dú)立于當(dāng)控制器接受一條命令后,可獨(dú)立于CPUCPU完成完成指定操作,指定操作,CPUCPU可以轉(zhuǎn)去執(zhí)行其它運(yùn)算。命可以轉(zhuǎn)去執(zhí)行其它運(yùn)算。命令完成時(shí),控制器產(chǎn)生一個(gè)中斷,令完成時(shí),控制器產(chǎn)生一個(gè)中斷,CPUCPU響應(yīng)響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。中斷,控制轉(zhuǎn)給操作系統(tǒng)。CPUCPU通過(guò)讀控制通過(guò)讀控制器
24、寄存器中的信息,獲得操作結(jié)果和設(shè)備狀器寄存器中的信息,獲得操作結(jié)果和設(shè)備狀態(tài)態(tài) 控制器與設(shè)備之間的接口常常是一個(gè)低級(jí)控制器與設(shè)備之間的接口常常是一個(gè)低級(jí)接口。例如磁盤(pán),可以按每個(gè)磁道接口。例如磁盤(pán),可以按每個(gè)磁道8 8扇區(qū),扇區(qū),每個(gè)扇區(qū)每個(gè)扇區(qū)512512個(gè)字節(jié)進(jìn)行格式化。然而,個(gè)字節(jié)進(jìn)行格式化。然而,實(shí)際從驅(qū)動(dòng)器出來(lái)的卻是一連串的位流,實(shí)際從驅(qū)動(dòng)器出來(lái)的卻是一連串的位流,以一個(gè)頭標(biāo)(以一個(gè)頭標(biāo)(preamblepreamble)開(kāi)始,然后是一)開(kāi)始,然后是一個(gè)扇區(qū)的個(gè)扇區(qū)的40964096位(位(5125128 8),最后是檢查),最后是檢查和或錯(cuò)誤校驗(yàn)碼(和或錯(cuò)誤校驗(yàn)碼(ErrorCEr
25、rorC一一C C:ECCECC)。)。頭標(biāo)是在對(duì)磁盤(pán)格式化時(shí)寫(xiě)上的,它包括頭標(biāo)是在對(duì)磁盤(pán)格式化時(shí)寫(xiě)上的,它包括柱面和扇區(qū)數(shù),扇區(qū)的大小和類(lèi)似的一些柱面和扇區(qū)數(shù),扇區(qū)的大小和類(lèi)似的一些數(shù)據(jù)數(shù)據(jù) 控制器的任務(wù)是把串行的位流轉(zhuǎn)換為字節(jié)控制器的任務(wù)是把串行的位流轉(zhuǎn)換為字節(jié)塊,并進(jìn)行必要的錯(cuò)誤修正。首先,控塊,并進(jìn)行必要的錯(cuò)誤修正。首先,控制器按位進(jìn)行組裝,然后存入控制器內(nèi)制器按位進(jìn)行組裝,然后存入控制器內(nèi)部的緩沖區(qū)中形成以字節(jié)為單位的塊。部的緩沖區(qū)中形成以字節(jié)為單位的塊。在對(duì)塊驗(yàn)證檢查和并證明無(wú)錯(cuò)誤時(shí),再在對(duì)塊驗(yàn)證檢查和并證明無(wú)錯(cuò)誤時(shí),再將它復(fù)制到主存中將它復(fù)制到主存中3.3.設(shè)備連接模式設(shè)備連接模
26、式 指指I/OI/O設(shè)備與設(shè)備與CPUCPU之間的連接方式,亦即將設(shè)之間的連接方式,亦即將設(shè)備連接到一個(gè)計(jì)算機(jī)系統(tǒng)上的方式備連接到一個(gè)計(jì)算機(jī)系統(tǒng)上的方式 在一個(gè)確定的連接模式下,從在一個(gè)確定的連接模式下,從I/OI/O設(shè)備到設(shè)備到CPUCPU間的所有連接成分構(gòu)成了一條間的所有連接成分構(gòu)成了一條I/OI/O路徑(路徑(I/OI/O鏈)鏈)設(shè)備與主機(jī)間最基本的連接方式設(shè)備與主機(jī)間最基本的連接方式 四個(gè)要素:四個(gè)要素: 設(shè)備接口形式設(shè)備接口形式 I/OI/O指令形式指令形式 I/OI/O地址空間分配及譯碼地址空間分配及譯碼 連線(xiàn)問(wèn)題連線(xiàn)問(wèn)題(1)(1)設(shè)備接口形式設(shè)備接口形式 * * 端口地址譯碼端
27、口地址譯碼 * * 按照主機(jī)與設(shè)備的約定格式和過(guò)程接受或按照主機(jī)與設(shè)備的約定格式和過(guò)程接受或發(fā)送數(shù)據(jù)和信號(hào)發(fā)送數(shù)據(jù)和信號(hào) 計(jì)算機(jī)計(jì)算機(jī) 設(shè)備設(shè)備 設(shè)備設(shè)備 計(jì)算機(jī)計(jì)算機(jī) * * 將計(jì)算機(jī)的數(shù)字信號(hào)轉(zhuǎn)換為機(jī)械部分能識(shí)將計(jì)算機(jī)的數(shù)字信號(hào)轉(zhuǎn)換為機(jī)械部分能識(shí)別的模擬信號(hào),或反過(guò)來(lái)別的模擬信號(hào),或反過(guò)來(lái) * * 實(shí)現(xiàn)一些諸如設(shè)備內(nèi)部硬件緩沖存儲(chǔ)、數(shù)實(shí)現(xiàn)一些諸如設(shè)備內(nèi)部硬件緩沖存儲(chǔ)、數(shù)據(jù)加工的提高性能或增強(qiáng)功能的任務(wù)據(jù)加工的提高性能或增強(qiáng)功能的任務(wù)(2)(2)端口編址方法端口編址方法 接口電路中:多個(gè)寄存器接口電路中:多個(gè)寄存器 一個(gè)寄存器有唯一的一個(gè)地址,每個(gè)地一個(gè)寄存器有唯一的一個(gè)地址,每個(gè)地址為址為
28、I/OI/O端口,該地址稱(chēng)為端口,該地址稱(chēng)為I/OI/O端口地址。端口地址。 I/OI/O指令形式與指令形式與I/OI/O地址是相互關(guān)聯(lián)的,地址是相互關(guān)聯(lián)的,主要有兩種形式:主要有兩種形式: 內(nèi)存映像編址(內(nèi)存映像內(nèi)存映像編址(內(nèi)存映像I/OI/O模式)模式) I/OI/O獨(dú)立編址(獨(dú)立編址(I/OI/O專(zhuān)用指令)專(zhuān)用指令)I/O獨(dú)立編址獨(dú)立編址n分配給系統(tǒng)中所有端口的地址空間是完全獨(dú)立的,分配給系統(tǒng)中所有端口的地址空間是完全獨(dú)立的,與內(nèi)存的地址空間沒(méi)有關(guān)系與內(nèi)存的地址空間沒(méi)有關(guān)系n主機(jī)使用專(zhuān)門(mén)的主機(jī)使用專(zhuān)門(mén)的I/O指令對(duì)端口進(jìn)行操作指令對(duì)端口進(jìn)行操作n優(yōu)點(diǎn)優(yōu)點(diǎn)n外部設(shè)備不占用內(nèi)存的地址空間外
29、部設(shè)備不占用內(nèi)存的地址空間n程序設(shè)計(jì)時(shí),易于區(qū)分是對(duì)內(nèi)存操作還是對(duì)程序設(shè)計(jì)時(shí),易于區(qū)分是對(duì)內(nèi)存操作還是對(duì)I/O端口操作端口操作n缺點(diǎn):缺點(diǎn):對(duì)對(duì)I/O端口操作的指令類(lèi)型少,操作不靈活端口操作的指令類(lèi)型少,操作不靈活n例子:例子:8086/8088,分配給,分配給I/O端口的地址空間端口的地址空間64K,0000H0FFFFH,只能用,只能用IN和和OUT指令對(duì)其進(jìn)行指令對(duì)其進(jìn)行讀寫(xiě)操作讀寫(xiě)操作存儲(chǔ)映像編址存儲(chǔ)映像編址n分配給系統(tǒng)中所有端口的地址空間與內(nèi)存的地分配給系統(tǒng)中所有端口的地址空間與內(nèi)存的地址空間統(tǒng)一編址址空間統(tǒng)一編址n主機(jī)把主機(jī)把I/O端口看作一個(gè)存儲(chǔ)單元,對(duì)端口看作一個(gè)存儲(chǔ)單元,對(duì)I
30、/O的讀的讀寫(xiě)操作等同于對(duì)存儲(chǔ)器的操作寫(xiě)操作等同于對(duì)存儲(chǔ)器的操作n優(yōu)點(diǎn)優(yōu)點(diǎn)n凡是可對(duì)存儲(chǔ)器操作的指令都可對(duì)凡是可對(duì)存儲(chǔ)器操作的指令都可對(duì)I/O端口端口操作操作n不需要專(zhuān)門(mén)的不需要專(zhuān)門(mén)的I/O指令指令nI/O端口可占有較大的地址空間端口可占有較大的地址空間n缺點(diǎn):占用內(nèi)存空間缺點(diǎn):占用內(nèi)存空間 設(shè)備完成技術(shù):系統(tǒng)如何知道設(shè)備的一次設(shè)備完成技術(shù):系統(tǒng)如何知道設(shè)備的一次I/OI/O操作是否完成?操作是否完成? 對(duì)對(duì)CPUCPU編程的編程的I/OI/O技術(shù):技術(shù):CPUCPU必須親自完成必須親自完成I/OI/O的啟動(dòng)與完成的處理,親自執(zhí)行所有的啟動(dòng)與完成的處理,親自執(zhí)行所有數(shù)據(jù)在內(nèi)存和設(shè)備之間的實(shí)際物
31、理傳送數(shù)據(jù)在內(nèi)存和設(shè)備之間的實(shí)際物理傳送4.4.要考慮的幾個(gè)問(wèn)題要考慮的幾個(gè)問(wèn)題 一次一次I/O I/O 傳送過(guò)程:傳送過(guò)程: 準(zhǔn)備準(zhǔn)備傳送傳送后處理后處理例:一個(gè)打印機(jī)有兩個(gè)例:一個(gè)打印機(jī)有兩個(gè)I/OI/O設(shè)備寄存器設(shè)備寄存器 狀態(tài)寄存器狀態(tài)寄存器 數(shù)據(jù)寄存器數(shù)據(jù)寄存器設(shè)備完成技術(shù)設(shè)備完成技術(shù)設(shè)備的一次操作是否完成?設(shè)備的一次操作是否完成? 測(cè)試設(shè)備的一個(gè)硬件信號(hào)測(cè)試設(shè)備的一個(gè)硬件信號(hào)幾種測(cè)試模式:幾種測(cè)試模式:(1 1)I/OI/O測(cè)試指令測(cè)試指令(2 2)中斷技術(shù))中斷技術(shù)使使CPUCPU利用率盡可能不被利用率盡可能不被I/OI/O降低降低 使使CPUCPU盡可能擺脫盡可能擺脫I/OI/
32、On 提高提高I/OI/O本身的絕對(duì)速度本身的絕對(duì)速度n 減少或緩解速度差距減少或緩解速度差距 n 使使CPUCPU不等待不等待I/O I/O 進(jìn)一步改善進(jìn)一步改善提高設(shè)備利用率提高設(shè)備利用率在設(shè)備與主機(jī)的硬連接上,引入總線(xiàn),節(jié)在設(shè)備與主機(jī)的硬連接上,引入總線(xiàn),節(jié)省連線(xiàn)并提供配置擴(kuò)充與改變時(shí)的靈活性;省連線(xiàn)并提供配置擴(kuò)充與改變時(shí)的靈活性;引入控制器,擴(kuò)大設(shè)備與主機(jī)間的相互適引入控制器,擴(kuò)大設(shè)備與主機(jī)間的相互適用范圍用范圍小結(jié):控制器與設(shè)備的分離,循環(huán)測(cè)試到小結(jié):控制器與設(shè)備的分離,循環(huán)測(cè)試到中斷,對(duì)中斷,對(duì)CPUCPU編程式的編程式的I/OI/O到到DMADMA,聯(lián)機(jī),聯(lián)機(jī)I/OI/O到假脫機(jī)
33、到假脫機(jī)四、設(shè)備有關(guān)技術(shù)四、設(shè)備有關(guān)技術(shù)1.Spooling1.Spooling(虛擬設(shè)備)技術(shù)(虛擬設(shè)備)技術(shù) 一個(gè)虛擬設(shè)備一個(gè)虛擬設(shè)備 一個(gè)資源轉(zhuǎn)換技術(shù)一個(gè)資源轉(zhuǎn)換技術(shù)(用空間,如輸入,輸出等換?。ㄓ每臻g,如輸入,輸出等換取CPUCPU時(shí)間)時(shí)間)解決問(wèn)題:解決問(wèn)題: 在進(jìn)程所需物理設(shè)備不存在或被占用時(shí)使用在進(jìn)程所需物理設(shè)備不存在或被占用時(shí)使用該設(shè)備該設(shè)備假若進(jìn)程打開(kāi)打印機(jī)特殊文件后幾小時(shí)內(nèi)無(wú)所事事,假若進(jìn)程打開(kāi)打印機(jī)特殊文件后幾小時(shí)內(nèi)無(wú)所事事,其他進(jìn)程什么都打印不了!其他進(jìn)程什么都打印不了!解決方案:解決方案:n創(chuàng)建值班(精靈)進(jìn)程(創(chuàng)建值班(精靈)進(jìn)程(daemondaemon)、)、
34、SPOOLingSPOOLing目錄目錄n進(jìn)程首先生成要打印的文件,放入進(jìn)程首先生成要打印的文件,放入SPOOLingSPOOLing目錄目錄n值班進(jìn)程:唯一獲準(zhǔn)使用打印機(jī)特殊文件的進(jìn)程值班進(jìn)程:唯一獲準(zhǔn)使用打印機(jī)特殊文件的進(jìn)程 用以打印用以打印SPOOLingSPOOLing目錄里的文件目錄里的文件n通過(guò)禁止對(duì)特殊文件的直接使用、提高了使用效率通過(guò)禁止對(duì)特殊文件的直接使用、提高了使用效率打印機(jī)的打印機(jī)的SPOOLingSPOOLing值班進(jìn)程值班進(jìn)程網(wǎng)絡(luò)的網(wǎng)絡(luò)的SPOOLingSPOOLing值班進(jìn)程值班進(jìn)程SPOOLingSPOOLing技術(shù)今天仍被廣泛使用技術(shù)今天仍被廣泛使用n網(wǎng)絡(luò)文件傳
35、送網(wǎng)絡(luò)文件傳送 先把文件送到網(wǎng)絡(luò)先把文件送到網(wǎng)絡(luò)SPOOLingSPOOLing目錄,然后網(wǎng)絡(luò)值班進(jìn)目錄,然后網(wǎng)絡(luò)值班進(jìn)程把它取出并傳遞到目標(biāo)地址程把它取出并傳遞到目標(biāo)地址nInternetInternet電子郵件系統(tǒng)電子郵件系統(tǒng) 為了寄郵,調(diào)用電子郵件程序?yàn)榱思泥],調(diào)用電子郵件程序 待發(fā)信存在待發(fā)信存在SPOOLingSPOOLing中供以后傳輸中供以后傳輸n注意:注意:SPOOLingSPOOLing只提高設(shè)備利用率,縮短用戶(hù)程序執(zhí)只提高設(shè)備利用率,縮短用戶(hù)程序執(zhí)行時(shí)間,并不提高行時(shí)間,并不提高CPUCPU利用率利用率(1)定義:通道是獨(dú)立于定義:通道是獨(dú)立于CPUCPU的專(zhuān)門(mén)的專(zhuān)門(mén)負(fù)責(zé)數(shù)
36、據(jù)輸入負(fù)責(zé)數(shù)據(jù)輸入/ /輸出傳輸工作的處理輸出傳輸工作的處理機(jī),對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,代機(jī),對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,代替替CPUCPU對(duì)輸入對(duì)輸入/ /輸出操作進(jìn)行控制,輸出操作進(jìn)行控制,從而使輸入,輸出操作可與從而使輸入,輸出操作可與CPUCPU并行并行操作。操作。 可以執(zhí)行通道程序可以執(zhí)行通道程序2.通道技術(shù)通道技術(shù)(2)引入通道的目的)引入通道的目的 為了使為了使CPU從從I/O事務(wù)中解脫出來(lái),同時(shí)事務(wù)中解脫出來(lái),同時(shí)為了提高為了提高CPU與設(shè)備,設(shè)備與設(shè)備之間與設(shè)備,設(shè)備與設(shè)備之間的并行工作能力的并行工作能力n字節(jié)多路通道字節(jié)多路通道 字節(jié)多路通道以字節(jié)為單位傳輸信息,它可以字節(jié)多路
37、通道以字節(jié)為單位傳輸信息,它可以分時(shí)地執(zhí)行多個(gè)通道程序。當(dāng)一個(gè)通道程序控分時(shí)地執(zhí)行多個(gè)通道程序。當(dāng)一個(gè)通道程序控制某臺(tái)設(shè)備傳送一個(gè)字節(jié)后,通道硬件就控制制某臺(tái)設(shè)備傳送一個(gè)字節(jié)后,通道硬件就控制轉(zhuǎn)去執(zhí)行另一個(gè)通道程序,控制另一臺(tái)設(shè)備傳轉(zhuǎn)去執(zhí)行另一個(gè)通道程序,控制另一臺(tái)設(shè)備傳送信息送信息 主要連接以字節(jié)為單位的低速主要連接以字節(jié)為單位的低速I(mǎi)/OI/O設(shè)備。如打設(shè)備。如打印機(jī),終端。印機(jī),終端。 以字節(jié)為單位交叉?zhèn)鬏?,?dāng)一臺(tái)傳送一個(gè)字節(jié)以字節(jié)為單位交叉?zhèn)鬏?,?dāng)一臺(tái)傳送一個(gè)字節(jié)后,立即轉(zhuǎn)去為另一臺(tái)傳送字節(jié)后,立即轉(zhuǎn)去為另一臺(tái)傳送字節(jié)(3)分類(lèi))分類(lèi)n選擇通道選擇通道 選擇通道是以成組方式工作的,即每
38、次傳送選擇通道是以成組方式工作的,即每次傳送一批數(shù)據(jù),故傳送速度很高。選擇通道在一一批數(shù)據(jù),故傳送速度很高。選擇通道在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸 當(dāng)這臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道當(dāng)這臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺(tái)設(shè)備,執(zhí)行它的相應(yīng)的通道程連接的另一臺(tái)設(shè)備,執(zhí)行它的相應(yīng)的通道程序序 主要連接磁盤(pán),磁帶等高速主要連接磁盤(pán),磁帶等高速I(mǎi)/OI/O設(shè)備設(shè)備選擇通道選擇通道n成組多路通道成組多路通道 它結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進(jìn)它結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進(jìn)行分時(shí)并
39、行操作的優(yōu)點(diǎn)。它先為一臺(tái)設(shè)備執(zhí)行一條行分時(shí)并行操作的優(yōu)點(diǎn)。它先為一臺(tái)設(shè)備執(zhí)行一條通道指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令通道指令 主要連接高速設(shè)備主要連接高速設(shè)備 這樣,對(duì)于連接多臺(tái)磁盤(pán)機(jī)的數(shù)組多路通道,它可這樣,對(duì)于連接多臺(tái)磁盤(pán)機(jī)的數(shù)組多路通道,它可以啟動(dòng)它們同時(shí)執(zhí)行移臂定位操作,然后,按序交以啟動(dòng)它們同時(shí)執(zhí)行移臂定位操作,然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對(duì)通叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對(duì)通道程序采用多道程序設(shè)計(jì)的硬件實(shí)現(xiàn)道程序采用多道程序設(shè)計(jì)的硬件實(shí)現(xiàn)(4)硬件連接結(jié)構(gòu))硬件連接結(jié)構(gòu) 通道:通道:執(zhí)行通
40、道程序,向控制器發(fā)出命令,并執(zhí)行通道程序,向控制器發(fā)出命令,并具有向具有向CPUCPU發(fā)中斷信號(hào)的功能。發(fā)中斷信號(hào)的功能。 一旦一旦CPUCPU發(fā)出發(fā)出指令,啟動(dòng)通道,則通道獨(dú)立于指令,啟動(dòng)通道,則通道獨(dú)立于CPUCPU工作。一工作。一個(gè)通道可連接多個(gè)控制器,一個(gè)控制器可連接個(gè)通道可連接多個(gè)控制器,一個(gè)控制器可連接多個(gè)設(shè)備,形成樹(shù)形交叉連接多個(gè)設(shè)備,形成樹(shù)形交叉連接 主要目的是啟動(dòng)外設(shè)時(shí):主要目的是啟動(dòng)外設(shè)時(shí):提高了控制器效率提高了控制器效率提高可靠性提高可靠性提高并行度提高并行度交叉連接交叉連接(5)通道工作原理通道工作原理 通道相當(dāng)于一個(gè)功能簡(jiǎn)單的處理機(jī),包含通道相當(dāng)于一個(gè)功能簡(jiǎn)單的處理機(jī)
41、,包含通道指令(空操作,讀操作,寫(xiě)操作,通道指令(空操作,讀操作,寫(xiě)操作,控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指令編寫(xiě)的通道程序令編寫(xiě)的通道程序n通道運(yùn)算控制部件通道運(yùn)算控制部件通道地址字通道地址字 CAW: 記錄通道程序在內(nèi)存中的地址記錄通道程序在內(nèi)存中的地址通道命令字通道命令字 CCW: 保存正在執(zhí)行的通道指令保存正在執(zhí)行的通道指令通道狀態(tài)字通道狀態(tài)字 CSW: 存放通道執(zhí)行后的返回結(jié)果存放通道執(zhí)行后的返回結(jié)果通道數(shù)據(jù)字通道數(shù)據(jù)字 CDW:存放傳輸數(shù)據(jù):存放傳輸數(shù)據(jù) 通道和通道和CPU共用內(nèi)存,通過(guò)周期竊取方式取得共用內(nèi)存,通過(guò)周期竊取方式取得n通道命令及格式
42、通道命令及格式 用于用于I/OI/O操作的命令主要有兩種:操作的命令主要有兩種: I/OI/O指令:?jiǎn)?dòng)通道程序指令:?jiǎn)?dòng)通道程序 通道命令:對(duì)通道命令:對(duì)I/OI/O操作進(jìn)行控制操作進(jìn)行控制 讀、反讀、寫(xiě)、測(cè)試設(shè)備狀態(tài)的數(shù)據(jù)傳讀、反讀、寫(xiě)、測(cè)試設(shè)備狀態(tài)的數(shù)據(jù)傳輸命令、用于設(shè)備控制的命令(磁帶反輸命令、用于設(shè)備控制的命令(磁帶反繞、換頁(yè))、實(shí)現(xiàn)通道程序內(nèi)部控制的繞、換頁(yè))、實(shí)現(xiàn)通道程序內(nèi)部控制的轉(zhuǎn)移命令轉(zhuǎn)移命令 命令格式一般包括:操作碼、數(shù)據(jù)傳輸命令格式一般包括:操作碼、數(shù)據(jù)傳輸內(nèi)存地址、特征位、計(jì)數(shù)器內(nèi)存地址、特征位、計(jì)數(shù)器 編制一個(gè)通道程序,從磁帶機(jī)上讀入編制一個(gè)通道程序,從磁帶機(jī)上讀入2
43、00200字節(jié)的信息,送入內(nèi)存(字節(jié)的信息,送入內(nèi)存(10001000)16 16 開(kāi)始開(kāi)始的單元。的單元。 通道命令碼:通道命令碼:“07”07”反繞反繞 “02”02”讀讀 CCW1 X “07” CCW1 X “07” * * X “40” 1 X “40” 1; CCW2 X “02” 1000 X “00” 200CCW2 X “02” 1000 X “00” 200;n工作原理工作原理 CPUCPU:執(zhí)行用戶(hù)程序,當(dāng)遇到:執(zhí)行用戶(hù)程序,當(dāng)遇到I/OI/O請(qǐng)求時(shí),請(qǐng)求時(shí),可根據(jù)該請(qǐng)求生成通道程序放入內(nèi)存可根據(jù)該請(qǐng)求生成通道程序放入內(nèi)存(也可事先編好放入內(nèi)存),并將該通(也可事先編好放
44、入內(nèi)存),并將該通道程序的首地址放入道程序的首地址放入CAWCAW中;之后執(zhí)行中;之后執(zhí)行“啟動(dòng)啟動(dòng)I/O”I/O”指令,啟動(dòng)通道工作指令,啟動(dòng)通道工作 通道:接收到通道:接收到“啟動(dòng)啟動(dòng)I/O”I/O”指令后,從指令后,從CAWCAW中取出通道程序的首地址,并根據(jù)首地中取出通道程序的首地址,并根據(jù)首地址取出第一條指令放入址取出第一條指令放入CCWCCW中,同時(shí)向中,同時(shí)向CPUCPU發(fā)回答信號(hào),使發(fā)回答信號(hào),使CPUCPU可繼續(xù)執(zhí)行其他可繼續(xù)執(zhí)行其他程序,而通道則開(kāi)始執(zhí)行通道程序,完程序,而通道則開(kāi)始執(zhí)行通道程序,完成傳輸工作成傳輸工作(通道程序完成實(shí)際(通道程序完成實(shí)際I/OI/O,啟動(dòng),
45、啟動(dòng)I/OI/O設(shè)備,設(shè)備,執(zhí)行完畢后執(zhí)行完畢后, ,如果還有下一條指令,則繼如果還有下一條指令,則繼續(xù)執(zhí)行續(xù)執(zhí)行, , 否則表示傳輸完成)否則表示傳輸完成) 當(dāng)通道傳輸完成最后一條指令時(shí),向當(dāng)通道傳輸完成最后一條指令時(shí),向CPU發(fā)發(fā)I/O中斷,并且通道停止工作。中斷,并且通道停止工作。CPU接收中斷信號(hào),從接收中斷信號(hào),從CSW中取得有關(guān)中取得有關(guān)信息,決定下一步做什么信息,決定下一步做什么通道的發(fā)展通道的發(fā)展n新的通道思想綜合了許多新的技術(shù)新的通道思想綜合了許多新的技術(shù)n在個(gè)人計(jì)算機(jī)中,芯片組中專(zhuān)門(mén)在個(gè)人計(jì)算機(jī)中,芯片組中專(zhuān)門(mén)I/O處理的芯片,稱(chēng)為處理的芯片,稱(chēng)為IOP(IO Proces
46、sor),發(fā)揮通道的作用),發(fā)揮通道的作用nIBM 390 中,沿用了輸入輸出通道概念中,沿用了輸入輸出通道概念 IBM于于1998年推出光纖通道技術(shù)(稱(chēng)為年推出光纖通道技術(shù)(稱(chēng)為FICON),可),可通過(guò)通過(guò) FICON 連接多達(dá)連接多達(dá)127個(gè)大容量個(gè)大容量I/O設(shè)備。傳輸速度設(shè)備。傳輸速度是是333MHzs,未來(lái)將達(dá)到,未來(lái)將達(dá)到1GHzs。 光纖通道技術(shù)具有數(shù)據(jù)傳輸速率高、傳輸距離遠(yuǎn),可簡(jiǎn)光纖通道技術(shù)具有數(shù)據(jù)傳輸速率高、傳輸距離遠(yuǎn),可簡(jiǎn)化大型存儲(chǔ)系統(tǒng)設(shè)計(jì)的優(yōu)點(diǎn)化大型存儲(chǔ)系統(tǒng)設(shè)計(jì)的優(yōu)點(diǎn) 在大容量高速存儲(chǔ),如大型數(shù)據(jù)庫(kù)、多媒體、數(shù)字影在大容量高速存儲(chǔ),如大型數(shù)據(jù)庫(kù)、多媒體、數(shù)字影像等應(yīng)用領(lǐng)
47、域,有廣泛前景像等應(yīng)用領(lǐng)域,有廣泛前景3.DMA技術(shù)技術(shù) 數(shù)據(jù)在內(nèi)存與數(shù)據(jù)在內(nèi)存與I/OI/O設(shè)備間的直接成塊傳送設(shè)備間的直接成塊傳送 CPUCPU在開(kāi)始時(shí)向設(shè)備發(fā)在開(kāi)始時(shí)向設(shè)備發(fā)“傳送一塊傳送一塊”命令,命令,結(jié)束時(shí)進(jìn)行相應(yīng)處理,實(shí)際操作由結(jié)束時(shí)進(jìn)行相應(yīng)處理,實(shí)際操作由DMADMA硬件硬件直接完成直接完成 DMADMA能夠通過(guò)系統(tǒng)總線(xiàn)代替能夠通過(guò)系統(tǒng)總線(xiàn)代替CPUCPU管理數(shù)據(jù)的存管理數(shù)據(jù)的存入或取出入或取出n 當(dāng)當(dāng)CPUCPU不需要系統(tǒng)總線(xiàn)時(shí)可以使用總線(xiàn)不需要系統(tǒng)總線(xiàn)時(shí)可以使用總線(xiàn)n DMADMA可以強(qiáng)迫可以強(qiáng)迫CPUCPU暫時(shí)延遲其他操作,獲暫時(shí)延遲其他操作,獲取一個(gè)總線(xiàn)周期(周期竊?。?/p>
48、取一個(gè)總線(xiàn)周期(周期竊?。〥MA方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別n中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿(mǎn)后,發(fā)中斷中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿(mǎn)后,發(fā)中斷請(qǐng)求,請(qǐng)求,CPU進(jìn)行中斷處理進(jìn)行中斷處理 DMA方式則是在所要求傳送的數(shù)據(jù)塊全部方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求傳送結(jié)束時(shí)要求CPU進(jìn)行中斷處理進(jìn)行中斷處理 大大減少了大大減少了CPU進(jìn)行中斷處理的次數(shù)進(jìn)行中斷處理的次數(shù)n中斷方式的數(shù)據(jù)傳送是由中斷方式的數(shù)據(jù)傳送是由CPU控制完成的控制完成的 而而DMA方式則是在方式則是在DMA控制器的控制下不控制器的控制下不經(jīng)過(guò)經(jīng)過(guò)CPU控制完成的控制完成的 不用不用DMADMA時(shí),磁盤(pán)如何讀:
49、時(shí),磁盤(pán)如何讀: 首先,控制器從磁盤(pán)驅(qū)動(dòng)器串行地一位一位地首先,控制器從磁盤(pán)驅(qū)動(dòng)器串行地一位一位地讀一個(gè)塊,直到將整塊信息放入控制器的內(nèi)部讀一個(gè)塊,直到將整塊信息放入控制器的內(nèi)部緩沖區(qū)中緩沖區(qū)中 其次,它做和校驗(yàn)計(jì)算,以核實(shí)沒(méi)有讀錯(cuò)誤發(fā)其次,它做和校驗(yàn)計(jì)算,以核實(shí)沒(méi)有讀錯(cuò)誤發(fā)生生 然后控制器產(chǎn)生一個(gè)中斷。然后控制器產(chǎn)生一個(gè)中斷。CPUCPU響應(yīng)中斷,控響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。當(dāng)操作系統(tǒng)開(kāi)始運(yùn)行時(shí),它制轉(zhuǎn)給操作系統(tǒng)。當(dāng)操作系統(tǒng)開(kāi)始運(yùn)行時(shí),它重復(fù)地從控制器緩沖區(qū)中一次一個(gè)字節(jié)或一個(gè)重復(fù)地從控制器緩沖區(qū)中一次一個(gè)字節(jié)或一個(gè)字地讀這個(gè)磁盤(pán)塊的信息,并將其送入內(nèi)存中字地讀這個(gè)磁盤(pán)塊的信息,并將其送入
50、內(nèi)存中 采用采用DMADMA方式時(shí),允許方式時(shí),允許DMADMA控制器接管地址控制器接管地址線(xiàn)的控制權(quán),直接控制線(xiàn)的控制權(quán),直接控制DMADMA控制器與內(nèi)存控制器與內(nèi)存的數(shù)據(jù)交換。從而使磁盤(pán)設(shè)備與儲(chǔ)器之的數(shù)據(jù)交換。從而使磁盤(pán)設(shè)備與儲(chǔ)器之間的數(shù)據(jù)傳送不需要間的數(shù)據(jù)傳送不需要CPUCPU介入,因而減輕介入,因而減輕了了CPUCPU負(fù)擔(dān)負(fù)擔(dān) 當(dāng)采用當(dāng)采用DMADMA時(shí),除向控制器提供要讀塊的時(shí),除向控制器提供要讀塊的磁盤(pán)地址外,還要向控制器提供兩個(gè)信磁盤(pán)地址外,還要向控制器提供兩個(gè)信息:要讀塊送往內(nèi)存的起始地址和要傳息:要讀塊送往內(nèi)存的起始地址和要傳送的字節(jié)數(shù)送的字節(jié)數(shù) 當(dāng)當(dāng)DMADMA硬件控制磁盤(pán)
51、與存儲(chǔ)器之間進(jìn)行信息交換硬件控制磁盤(pán)與存儲(chǔ)器之間進(jìn)行信息交換時(shí),每當(dāng)磁盤(pán)把一個(gè)數(shù)據(jù)讀入控制器的數(shù)據(jù)緩時(shí),每當(dāng)磁盤(pán)把一個(gè)數(shù)據(jù)讀入控制器的數(shù)據(jù)緩沖區(qū)時(shí),沖區(qū)時(shí),DMADMA控制器取代控制器取代CPUCPU,接管地址總線(xiàn)的,接管地址總線(xiàn)的控制權(quán),并按照控制權(quán),并按照DMADMA控制器中的存儲(chǔ)器地址寄控制器中的存儲(chǔ)器地址寄存器內(nèi)容把數(shù)據(jù)送入相應(yīng)的內(nèi)存單元中。然后,存器內(nèi)容把數(shù)據(jù)送入相應(yīng)的內(nèi)存單元中。然后,DMADMA硬件自動(dòng)地把傳送字節(jié)計(jì)數(shù)器減硬件自動(dòng)地把傳送字節(jié)計(jì)數(shù)器減1 1,把存儲(chǔ),把存儲(chǔ)器地址寄存器加器地址寄存器加1 1,并恢復(fù),并恢復(fù)CPUCPU對(duì)內(nèi)存的控制權(quán),對(duì)內(nèi)存的控制權(quán),DMADMA控制
52、器對(duì)每一個(gè)傳送的數(shù)據(jù)重復(fù)上述過(guò)程,控制器對(duì)每一個(gè)傳送的數(shù)據(jù)重復(fù)上述過(guò)程,直到傳送字節(jié)計(jì)數(shù)器為直到傳送字節(jié)計(jì)數(shù)器為“0”0”時(shí),向時(shí),向CPUCPU產(chǎn)生一產(chǎn)生一個(gè)中斷信號(hào)。當(dāng)操作系統(tǒng)接管個(gè)中斷信號(hào)。當(dāng)操作系統(tǒng)接管CPUCPU控制權(quán)時(shí),控制權(quán)時(shí),再無(wú)需做塊復(fù)制的工作了再無(wú)需做塊復(fù)制的工作了控制器按照指定存儲(chǔ)器地址,把第一個(gè)字節(jié)送入主存控制器按照指定存儲(chǔ)器地址,把第一個(gè)字節(jié)送入主存然后,按指定字節(jié)數(shù)進(jìn)行數(shù)據(jù)傳送然后,按指定字節(jié)數(shù)進(jìn)行數(shù)據(jù)傳送每當(dāng)傳送一個(gè)字節(jié)后,字節(jié)計(jì)數(shù)器值減每當(dāng)傳送一個(gè)字節(jié)后,字節(jié)計(jì)數(shù)器值減1 1,直到字節(jié)計(jì)數(shù)器等于,直到字節(jié)計(jì)數(shù)器等于0 0此時(shí),控制器引發(fā)中斷,通知操作系統(tǒng),操作完
53、成此時(shí),控制器引發(fā)中斷,通知操作系統(tǒng),操作完成CPUCPU提供提供被讀取塊磁盤(pán)地址被讀取塊磁盤(pán)地址目標(biāo)存儲(chǔ)地址目標(biāo)存儲(chǔ)地址待讀取字節(jié)數(shù)待讀取字節(jié)數(shù)整塊數(shù)據(jù)讀進(jìn)緩沖區(qū)整塊數(shù)據(jù)讀進(jìn)緩沖區(qū)核準(zhǔn)校驗(yàn)核準(zhǔn)校驗(yàn)DMADMA工作示例工作示例(以硬盤(pán)為例)(以硬盤(pán)為例) 存放輸入數(shù)據(jù)的內(nèi)存起始地址、要傳送的字節(jié)數(shù)存放輸入數(shù)據(jù)的內(nèi)存起始地址、要傳送的字節(jié)數(shù) 送入送入DMADMA控制器的內(nèi)存地址寄存器和傳送字節(jié)計(jì)數(shù)器控制器的內(nèi)存地址寄存器和傳送字節(jié)計(jì)數(shù)器 中斷允許位和啟動(dòng)位置成中斷允許位和啟動(dòng)位置成1 1,啟動(dòng)設(shè)備,啟動(dòng)設(shè)備n 發(fā)出傳輸要求的進(jìn)程進(jìn)入等待狀態(tài)發(fā)出傳輸要求的進(jìn)程進(jìn)入等待狀態(tài)n 執(zhí)行指令被暫時(shí)掛起,進(jìn)
54、程調(diào)度其他進(jìn)程占據(jù)執(zhí)行指令被暫時(shí)掛起,進(jìn)程調(diào)度其他進(jìn)程占據(jù)CPUCPUn 輸入設(shè)備不斷竊取輸入設(shè)備不斷竊取CPUCPU工作周期,數(shù)據(jù)不斷寫(xiě)入內(nèi)存工作周期,數(shù)據(jù)不斷寫(xiě)入內(nèi)存n 傳送完畢,發(fā)出中斷信號(hào)傳送完畢,發(fā)出中斷信號(hào)n CPUCPU接到中斷信號(hào)轉(zhuǎn)入中斷處理程序處理接到中斷信號(hào)轉(zhuǎn)入中斷處理程序處理n 中斷處理結(jié)束,中斷處理結(jié)束,CPUCPU返回原進(jìn)程或切換到新的進(jìn)程返回原進(jìn)程或切換到新的進(jìn)程DMA工作原理工作原理竊取總線(xiàn)控制權(quán)竊取總線(xiàn)控制權(quán)CPU向控制器發(fā)出啟動(dòng)向控制器發(fā)出啟動(dòng)DMA通知和有關(guān)參數(shù)通知和有關(guān)參數(shù)控制器向內(nèi)存發(fā)出詢(xún)問(wèn)請(qǐng)求控制器向內(nèi)存發(fā)出詢(xún)問(wèn)請(qǐng)求訪問(wèn)內(nèi)存(讀、寫(xiě))訪問(wèn)內(nèi)存(讀、寫(xiě))
55、計(jì)數(shù)器減計(jì)數(shù)器減1結(jié)束否結(jié)束否發(fā)中斷發(fā)中斷NYDMA的實(shí)現(xiàn)流程的實(shí)現(xiàn)流程(1 1)緩沖技術(shù)的引入)緩沖技術(shù)的引入 凡是數(shù)據(jù)到達(dá)和離去速度不匹配的地方均凡是數(shù)據(jù)到達(dá)和離去速度不匹配的地方均可采用緩沖技術(shù)。可采用緩沖技術(shù)。 在操作系統(tǒng)中采用緩沖是為了實(shí)現(xiàn)數(shù)據(jù)的在操作系統(tǒng)中采用緩沖是為了實(shí)現(xiàn)數(shù)據(jù)的I/OI/O操作,以緩解操作,以緩解CPUCPU與外部設(shè)備之間速與外部設(shè)備之間速度不匹配的矛盾,提高資源利用率度不匹配的矛盾,提高資源利用率n減少了減少了I/OI/O設(shè)備對(duì)處理器的中斷請(qǐng)求次數(shù)設(shè)備對(duì)處理器的中斷請(qǐng)求次數(shù)n簡(jiǎn)化了中斷機(jī)制簡(jiǎn)化了中斷機(jī)制n節(jié)省了系統(tǒng)開(kāi)銷(xiāo)節(jié)省了系統(tǒng)開(kāi)銷(xiāo)4. 緩沖技術(shù)緩沖技術(shù)(2)緩
56、沖區(qū)設(shè)置)緩沖區(qū)設(shè)置 硬緩沖:硬緩沖:在設(shè)備中設(shè)置緩沖區(qū),由硬件實(shí)現(xiàn)在設(shè)備中設(shè)置緩沖區(qū),由硬件實(shí)現(xiàn) 軟緩沖:軟緩沖:在內(nèi)存中開(kāi)辟一個(gè)空間,用作緩沖區(qū)在內(nèi)存中開(kāi)辟一個(gè)空間,用作緩沖區(qū)(3)緩沖區(qū)管理)緩沖區(qū)管理 單緩沖單緩沖 雙緩沖雙緩沖 緩沖池:緩沖池: 多個(gè)緩沖區(qū)連接起來(lái)統(tǒng)一管理,常采用多多個(gè)緩沖區(qū)連接起來(lái)統(tǒng)一管理,常采用多緩沖管理緩沖管理(4)例子)例子 終端輸入軟件中的鍵盤(pán)驅(qū)動(dòng)程序終端輸入軟件中的鍵盤(pán)驅(qū)動(dòng)程序 任務(wù)之一:收集字符任務(wù)之一:收集字符 兩種常見(jiàn)的字符緩沖方法:兩種常見(jiàn)的字符緩沖方法:n公共緩沖池(驅(qū)動(dòng)程序中)公共緩沖池(驅(qū)動(dòng)程序中)n終端數(shù)據(jù)結(jié)構(gòu)緩沖終端數(shù)據(jù)結(jié)構(gòu)緩沖終端終端數(shù)
57、據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)公共公共緩沖池緩沖池終端終端0123終端終端數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)終端終端01終端終端0的緩沖區(qū)的緩沖區(qū)終端終端1的緩沖區(qū)的緩沖區(qū)公共緩沖池公共緩沖池 終端固定緩沖區(qū)終端固定緩沖區(qū)新一代計(jì)算機(jī)出現(xiàn),帶來(lái)了總線(xiàn)技術(shù)的更新新一代計(jì)算機(jī)出現(xiàn),帶來(lái)了總線(xiàn)技術(shù)的更新(1)總線(xiàn))總線(xiàn)的基本概念:的基本概念: 在計(jì)算機(jī)系統(tǒng)內(nèi)各種子系統(tǒng)在計(jì)算機(jī)系統(tǒng)內(nèi)各種子系統(tǒng) 如如CPUCPU、內(nèi)存、內(nèi)存、I/OI/O設(shè)備等之間設(shè)備等之間 構(gòu)建公用的信號(hào)或數(shù)據(jù)傳輸通道構(gòu)建公用的信號(hào)或數(shù)據(jù)傳輸通道 這種可共享連接的傳輸通道稱(chēng)為總線(xiàn)這種可共享連接的傳輸通道稱(chēng)為總線(xiàn)5. 總線(xiàn)技術(shù)總線(xiàn)技術(shù)總線(xiàn)的分類(lèi)總線(xiàn)的分類(lèi)CPU-內(nèi)存總線(xiàn)
58、內(nèi)存總線(xiàn)I/O總線(xiàn)總線(xiàn)數(shù)據(jù)總線(xiàn)數(shù)據(jù)總線(xiàn)地址總線(xiàn)地址總線(xiàn)控制總線(xiàn)控制總線(xiàn)(非本課程范圍)(非本課程范圍)(2)總線(xiàn)的分類(lèi))總線(xiàn)的分類(lèi)微型計(jì)算機(jī)微型計(jì)算機(jī)總線(xiàn)的種類(lèi)和發(fā)展總線(xiàn)的種類(lèi)和發(fā)展PCXT總線(xiàn)總線(xiàn)ISA總線(xiàn)總線(xiàn)MCA總線(xiàn)總線(xiàn)EISA總線(xiàn)總線(xiàn)VESA總線(xiàn)總線(xiàn) PCI總線(xiàn)總線(xiàn)USB總線(xiàn)總線(xiàn).(?)(?)(過(guò)時(shí)過(guò)時(shí))1394總線(xiàn)總線(xiàn)SCSI總線(xiàn)總線(xiàn)USB(Universal Serial Bus)通用串行總線(xiàn),是一種連接)通用串行總線(xiàn),是一種連接I/O串行設(shè)備的技術(shù)標(biāo)準(zhǔn)串行設(shè)備的技術(shù)標(biāo)準(zhǔn)n沖破了計(jì)算機(jī)技術(shù)發(fā)展的兩個(gè)歷史局限性:沖破了計(jì)算機(jī)技術(shù)發(fā)展的兩個(gè)歷史局限性: (1)由于)由于I/O設(shè)備的接口
59、標(biāo)準(zhǔn)的不一致和有限的接口設(shè)備的接口標(biāo)準(zhǔn)的不一致和有限的接口數(shù)量已無(wú)法滿(mǎn)足各種應(yīng)用迫切需要數(shù)量已無(wú)法滿(mǎn)足各種應(yīng)用迫切需要 (2)傳統(tǒng)的)傳統(tǒng)的I/O設(shè)備的接口無(wú)法滿(mǎn)足實(shí)時(shí)數(shù)據(jù)傳輸與設(shè)備的接口無(wú)法滿(mǎn)足實(shí)時(shí)數(shù)據(jù)傳輸與多媒體應(yīng)用的需求多媒體應(yīng)用的需求nUSB以以WDM(Windows Driver Model)模型為基礎(chǔ),)模型為基礎(chǔ),WDM包含一套通用的包含一套通用的I/O服務(wù)和二進(jìn)制兼容的設(shè)備驅(qū)服務(wù)和二進(jìn)制兼容的設(shè)備驅(qū)動(dòng)程序動(dòng)程序 6. USB技術(shù)技術(shù)nUSB支持同步數(shù)據(jù)傳輸方式和異步數(shù)據(jù)傳輸方支持同步數(shù)據(jù)傳輸方式和異步數(shù)據(jù)傳輸方式,其數(shù)據(jù)傳輸率有低速式,其數(shù)據(jù)傳輸率有低速15Mbps和全速和全速
60、12Mbps兩種,比標(biāo)準(zhǔn)串口快兩種,比標(biāo)準(zhǔn)串口快100倍,比標(biāo)準(zhǔn)并倍,比標(biāo)準(zhǔn)并口快口快10倍倍nUSB可以主動(dòng)為外部設(shè)備提供電源,允許外部可以主動(dòng)為外部設(shè)備提供電源,允許外部設(shè)備快速連接,具有即插即用的功能設(shè)備快速連接,具有即插即用的功能n允許外部設(shè)備的熱插拔允許外部設(shè)備的熱插拔USB的結(jié)構(gòu)的結(jié)構(gòu)n控制器:控制器主要負(fù)責(zé)執(zhí)行由控制器驅(qū)動(dòng)程序發(fā)出控制器:控制器主要負(fù)責(zé)執(zhí)行由控制器驅(qū)動(dòng)程序發(fā)出的命令的命令n控制器驅(qū)動(dòng)程序:控制器驅(qū)動(dòng)程序在控制器與控制器驅(qū)動(dòng)程序:控制器驅(qū)動(dòng)程序在控制器與USB設(shè)設(shè)備之間建立通信信道備之間建立通信信道nUSB芯片驅(qū)動(dòng)程序:芯片驅(qū)動(dòng)程序:USB芯片驅(qū)動(dòng)程序提供了對(duì)芯片驅(qū)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度商業(yè)廚房承包合同范本4篇
- 二手房購(gòu)房定金合同模板(2024版)
- 2025版?zhèn)€人民間借款合同書(shū)范本:個(gè)人鄉(xiāng)村旅游貸款合作協(xié)議4篇
- 2025年度高溫高壓儲(chǔ)油罐定制加工合同4篇
- 2025年度大米出口貿(mào)易代理與保險(xiǎn)服務(wù)合同范本4篇
- 二零二五年度AI論文智能輔助生成與學(xué)術(shù)規(guī)范培訓(xùn)合同2篇
- 二零二五年度文化藝術(shù)品拍賣(mài)合同樣本4篇
- 二零二五年度出借咨詢(xún)與金融信用評(píng)級(jí)服務(wù)協(xié)議正本3篇
- 二零二四年度新能源項(xiàng)目工程技術(shù)服務(wù)合同范本3篇
- 2025年度綠色生態(tài)場(chǎng)鋪位租賃與環(huán)保產(chǎn)品推廣合同4篇
- GB/T 45120-2024道路車(chē)輛48 V供電電壓電氣要求及試驗(yàn)
- 財(cái)務(wù)報(bào)銷(xiāo)流程培訓(xùn)課程
- 24年追覓在線(xiàn)測(cè)評(píng)28題及答案
- 春節(jié)慰問(wèn)困難職工方案春節(jié)慰問(wèn)困難職工活動(dòng)
- 2024年全國(guó)職業(yè)院校技能大賽高職組(藥學(xué)技能賽項(xiàng))考試題庫(kù)(含答案)
- 2024至2030年中國(guó)氫氧化鈣行業(yè)市場(chǎng)全景調(diào)查及發(fā)展趨勢(shì)分析報(bào)告
- 魚(yú)菜共生課件
- 《陸上風(fēng)電場(chǎng)工程概算定額》NBT 31010-2019
- 初中物理八年級(jí)下冊(cè)《動(dòng)能和勢(shì)能》教學(xué)課件
- 心肌梗死診療指南
- 原油脫硫技術(shù)
評(píng)論
0/150
提交評(píng)論