io系統(tǒng)的組成
????需要用于輸入湾碎、輸出和存儲(chǔ)信息的設(shè)備;
????需要相應(yīng)的設(shè)備控制器奠货;
????控制器與CPU連接的高速總線(xiàn)介褥;
????有的大中型計(jì)算機(jī)系統(tǒng),配置I/O通道递惋;
I/O系統(tǒng)的基本功能
????1)主要功能:
????????1.隱藏物理設(shè)備細(xì)節(jié)柔滔,方便用戶(hù)
? ? ? ? ? ?用戶(hù)使用抽象的I/O命令即可
????????2.實(shí)現(xiàn)設(shè)備無(wú)關(guān)性,方便用戶(hù)
? ? ? ? ? ?用戶(hù)可用抽象的邏輯設(shè)備名來(lái)使用設(shè)備萍虽,同時(shí)也提高了OS的可移植性和易適應(yīng)性睛廊。
????????3.提高處理機(jī)和設(shè)備的并行性,提高利用率:緩沖區(qū)管理
????????4.對(duì)I/O設(shè)備進(jìn)行控制:控制方式贩挣、設(shè)備分配喉前、設(shè)備處理
????????5.確保對(duì)設(shè)備正確共享:虛擬設(shè)備及設(shè)備獨(dú)立性等
????????6.錯(cuò)誤處理
I/O系統(tǒng)的層析結(jié)構(gòu)和模型
????層次結(jié)構(gòu):系統(tǒng)中的設(shè)備管理模塊分為若干層次
????層次間操作:下層為上層提供服務(wù),完成輸入輸出功能中的某些子功能王财,并屏蔽功能實(shí)現(xiàn)的細(xì)節(jié)卵迂。
I/O軟件系統(tǒng)的層次
.中斷處理程序:處于IO系統(tǒng)的底層,直接與硬件交互
.設(shè)備驅(qū)動(dòng)程序:
?????處于底層绒净,是進(jìn)程和控制器之間的通信程序
?????功能:將上層發(fā)來(lái)的抽象IO請(qǐng)求见咒,轉(zhuǎn)化為IO設(shè)備的具體命令和參數(shù),并把它裝入寄存器中
.設(shè)備獨(dú)立性軟件
I/O系統(tǒng)接口:塊設(shè)備接口挂疆,流設(shè)備接口改览,網(wǎng)絡(luò)通信接口
設(shè)備控制器
設(shè)備并不直接與CPU通信
計(jì)算機(jī)中的一個(gè)實(shí)體——“設(shè)備控制器”負(fù)責(zé)控制一個(gè)或多個(gè)I/O設(shè)備,以實(shí)現(xiàn)I/O設(shè)備和計(jì)算機(jī)之間的數(shù)據(jù)交換缤言。
控制器是CPU與I/O設(shè)備之間的接口宝当,作為中間人接收從CPU發(fā)來(lái)的命令,并去控制I/O設(shè)備工作胆萧,以使處理機(jī)脫離繁雜的設(shè)備控制事務(wù)庆揩。
常作成接口卡插入計(jì)算機(jī)
可編址俐东,不同類(lèi):控制一個(gè)設(shè)備時(shí)只有一個(gè)地址,若連接多個(gè)設(shè)備則含有多個(gè)設(shè)備地址订晌;管理的復(fù)雜性因設(shè)備而異虏辫,分為字符設(shè)備控制器、塊控制器
基本功能
1.接收和識(shí)別CPU命令(控制寄存器:存放命令和參數(shù))
2.標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)(狀態(tài)寄存器)
3.數(shù)據(jù)交換(數(shù)據(jù)寄存器)
4.地址識(shí)別(控制器識(shí)別設(shè)備地址锈拨、寄存器地址砌庄。地址譯碼器)
5.數(shù)據(jù)緩沖(協(xié)調(diào)I/O與CPU的速度差距)
6.差錯(cuò)控制
I/O邏輯
通過(guò)一組控制線(xiàn)與處理機(jī)交互
cpu要啟動(dòng)一個(gè)設(shè)備時(shí),將啟動(dòng)命令發(fā)送給控制器奕枢;
同時(shí)通過(guò)地址線(xiàn)把地址發(fā)送給控制器
控制器的I/O邏輯對(duì)收到的地址和命令進(jìn)行譯碼娄昆,再根據(jù)所譯出的命令選擇設(shè)備進(jìn)行控制。
實(shí)現(xiàn)CPU與設(shè)備控制器之間的通信(共有三類(lèi)信號(hào)線(xiàn))
數(shù)據(jù)線(xiàn):數(shù)據(jù)線(xiàn)通常與寄存器相連(數(shù)據(jù)寄存器缝彬,控制/狀態(tài)寄存器)
地址線(xiàn)
控制線(xiàn)
I/O通道
當(dāng)設(shè)置通道后稿黄,CPU只需要向通道發(fā)送一條I/O指令即可不在干預(yù)后續(xù)操作,通道形成通道程序跌造,執(zhí)行I/O操作,完成后向CPU發(fā)中斷信號(hào)族购。
主要目的:
建立更獨(dú)立(數(shù)據(jù)傳送的獨(dú)立壳贪,I/O操作的組織、管理及結(jié)束也盡量獨(dú)立)的I/O操作寝杖,解放CPU违施。
實(shí)際上I/O通道是一種特殊的處理機(jī)(指令類(lèi)型單一,只用于I/O操作瑟幕,通道沒(méi)有內(nèi)存磕蒲,他與CPU共享內(nèi)存)
通道類(lèi)型
根據(jù)其控制的外圍設(shè)備的不同類(lèi)型,信息交換方式也可分為:
字節(jié)多路通道只盹。數(shù)組選擇通道辣往。數(shù)組多路通道
瓶頸問(wèn)題:由于通道價(jià)格昂貴,致使數(shù)量較少使它成為I/O系統(tǒng)的瓶頸殖卑,進(jìn)而造成系統(tǒng)吞吐量的下降
字節(jié)多路通道
一個(gè)通道常通過(guò)多個(gè)子通道連接多個(gè)設(shè)備控制器
多個(gè)設(shè)備站削,通過(guò)非分配型子通道以字節(jié)為單位交叉輪流使用主通道傳輸自己的數(shù)據(jù)。