第5章 設(shè)備管理.ppt_第1頁
第5章 設(shè)備管理.ppt_第2頁
第5章 設(shè)備管理.ppt_第3頁
第5章 設(shè)備管理.ppt_第4頁
第5章 設(shè)備管理.ppt_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2020/7/31,1,5章設(shè)備管理,5.1 I/O系統(tǒng)的功能,型號和介面5.2 I/O設(shè)備和設(shè)備控制器5.3中斷機構(gòu)和中斷處理程序5.4設(shè)備驅(qū)動程序5.5設(shè)備獨立I/O軟件5.6用戶層I/O軟件5.7緩沖區(qū)管理5.8磁盤存儲5.1 I/O2,與設(shè)備無關(guān):邏輯設(shè)備名稱/dev/printer;增加新的設(shè)備驅(qū)動程序3,提高處理器和I/O設(shè)備利用率:處理器和I/O設(shè)備并行運行,2020/7/31,2,I/O系統(tǒng)基本功能,4,I/O設(shè)備控制:I/O設(shè)備控制驅(qū)動程序目前,控制I/O設(shè)備的茄子方法有四種。即,使用輪詢的可編程I/o方法。使用中斷可編程I/O方法;直接內(nèi)存訪問方法I/O通道方法。5、確保設(shè)

2、備的正確共享:獨占設(shè)備(例如打印機)、孔劉設(shè)備(例如磁盤)6、錯誤處理:大多數(shù)設(shè)備包含更多的機器和傳記部分,在運行時發(fā)生錯誤和故障的可能性很高。2020/7/31,3,5 . 1 . 2 I/O I/O軟件層,2020/7/31,4,I/O系統(tǒng)中各種模塊之間的分層視圖,2020/7/父系統(tǒng)包括文件系統(tǒng)、虛擬存儲系統(tǒng)和用戶進程。底部連接器:軟件/硬件(RW/HW)界面連接中斷處理程序和各種設(shè)備控制器,如CD-ROM控制器、硬盤控制器、鍵盤控制器、打印機控制器和網(wǎng)絡(luò)控制器。2020/7/31,6,父介面:I/o系統(tǒng)介面、塊設(shè)備介面數(shù)據(jù)訪問和傳輸塊單元設(shè)備(如磁盤)。設(shè)備具有高傳輸速率、可尋址性,I

3、/O使用DMA方法。流式設(shè)備接口也稱為字符設(shè)備(數(shù)據(jù)訪問和傳輸字符單元)接口。字符設(shè)備不能尋址,只能按順序讀取,通常為字符設(shè)備設(shè)置一個字符緩沖區(qū)。用戶程序輸入或輸出文字的方法是使用get和put操作。界面提供in-control命令以統(tǒng)一處理各種流設(shè)備。流設(shè)備大多數(shù)是獨占設(shè)備,必須以互斥的方式向牙齒接口提供open和close操作。網(wǎng)絡(luò)通信介面、2020/7/31,7、I/O系統(tǒng)的分層,中斷處理程序位于I/O系統(tǒng)的最低層,與硬件直接交互。首先保存中斷流程CPU環(huán)境,將其移動到相應(yīng)的處理程序,完成后恢復(fù)現(xiàn)場。設(shè)備驅(qū)動程序是進程和設(shè)備控制器之間的通信程序。將上層發(fā)送的抽象I/O請求轉(zhuǎn)換為有關(guān)I/O

4、設(shè)備的特定命令和參數(shù)信息,并將其加載到設(shè)備控制器的命令和參數(shù)寄存器中。與設(shè)備無關(guān)的軟件I/O軟件獨立于具體使用的物理設(shè)備運行。包括設(shè)備命名、設(shè)備分配、數(shù)據(jù)緩沖區(qū)、數(shù)據(jù)高速緩沖區(qū)等。2020/7/31,8,2020/7/31,9,5.2 I/O設(shè)備和設(shè)備控制器,I/O設(shè)備控制器I/O通道總線系統(tǒng),I/O系統(tǒng)用于數(shù)據(jù)輸入、輸出和數(shù)據(jù)存儲,2020/7/塊設(shè)備(可尋址)、字符設(shè)備(不可尋址)按設(shè)備的孔劉屬性(僅(即臨界資源)、孔劉(需要可尋址和隨機訪問,如磁盤)、虛擬設(shè)備、鍵盤、鼠標(biāo)和語言)分類,電子組件稱為設(shè)備控制器。CPU和設(shè)備之間的接口。,基本功能:1,接收和識別命令需要控制器控制控制寄存器、

5、接收的命令和參數(shù)存檔和解碼,設(shè)備控制器控制一個或多個I/O設(shè)備以執(zhí)行設(shè)備和電腦之間的數(shù)據(jù)交換。2020/7/31,12,基本功能(繼續(xù)):2,數(shù)據(jù)更換寄存器實現(xiàn)CPU和控制器,控制器與設(shè)備之間的數(shù)據(jù)更換3,識別和報告設(shè)備狀態(tài)控制器的狀態(tài)寄存器日志記錄設(shè)備狀態(tài)CPU識別4,地址識別地址解碼器每個設(shè)備都有地址。5、解決數(shù)據(jù)緩沖區(qū)I/O設(shè)備和CPU、內(nèi)存速度不匹配的矛盾6、錯誤控制控制器和I/O設(shè)備傳送的數(shù)據(jù)的錯誤檢測、2020/7/31,13、設(shè)備控制器配置:設(shè)備控制器和處理器之間的接口包括數(shù)據(jù)線、地址線、控制線設(shè)備控制器和設(shè)備之間的介面每個接口上的數(shù)據(jù)、7/31,13設(shè)備與控制器之間的數(shù)據(jù)信號控

6、制信號線:控制器向設(shè)備發(fā)送控制信號時的路徑狀態(tài)信號線:通過發(fā)送指示設(shè)備當(dāng)前狀態(tài)的信號I/O邏輯,實現(xiàn)設(shè)備的控制CPU利用率,負責(zé)命令解碼和地址解碼。2020/7/31、14、2020/7/31、15、5.2.3、I/O通道、通道是用于I/O處理的專用處理器,用于控制內(nèi)存和外圍設(shè)備的直接數(shù)據(jù)交換。目的:設(shè)置獨立的I/O操作,CPU向通道發(fā)送I/O命令,通道運行通道程序,完成I/O,然后向CPU發(fā)送中斷信號。通道與一般處理器不同。命令類型是單一的,只能執(zhí)行I/O命令。通道沒有自己的內(nèi)存,通道程序放在主內(nèi)存中。2020/7/31,16,通道類型字節(jié)多路復(fù)用通道:每個子通道連接I/O設(shè)備,并使用多路復(fù)

7、用通過時間片旋轉(zhuǎn)共享主通道的字節(jié)交叉操作通道。陣列選擇通道:字節(jié)多路復(fù)用不適合高速設(shè)備連接。連接多個高速設(shè)備,可以單獨使用,在一段時間內(nèi)只能運行一個通道程序。組(塊)傳輸陣列多路復(fù)用通道:陣列選擇通道“高波特率”和字節(jié)多路復(fù)用通道“分時并行操作”的優(yōu)點數(shù)據(jù)傳輸可能需要按陣列連接多個高速外圍設(shè)備,2020/7/31,17,“瓶頸”問題通道資源有限,系統(tǒng)可能需要同時啟動。22ISA和EISA總線ISA:1984年;帶寬:8位16位;最大傳輸速率:216Mbps可連接12個設(shè)備。EISA:1989年,帶寬:32位,最大波特率:32Mbps,可連接12臺設(shè)備。2020/7/31,20,定義本地總線:多

8、媒體卡、高速LAN網(wǎng)卡、高性能圖形板等直接連接到ISA總線,通過本地總線控制器直接連接到CPU總線(高速CPU總線)。VESA總線:32位總線帶寬,最大傳輸速率:132Mbps,可連接24個設(shè)備,控制器中無緩沖:PCI總線:支持64位系統(tǒng),最大傳輸速率:500Mbps,支持10茄子外圍設(shè)備,復(fù)雜的管理層,管理層具有數(shù)據(jù)緩沖、5.3 CPU對中斷機構(gòu)和中斷處理程序、中斷和切入中斷:I/O設(shè)備發(fā)送的中斷信號的響應(yīng)。中斷是由外部設(shè)備引起的,因此也稱為外中斷。切入:由CPU內(nèi)部事件(例如非法命令、地址溢出等)引起的中斷稱為內(nèi)部中斷或陷阱。,2020/7/31,21,中斷矢量和中斷優(yōu)先級,中斷矢量=(中

9、斷編號,中斷處理程序的入口地址)指定與每個設(shè)備的中斷請求相對應(yīng)的中斷編號,為中斷矢量表中表條目的每個設(shè)備放置相應(yīng)的中斷處理程序,將程序的入口地址放置在中斷中,中斷優(yōu)先級為每個中斷信號源設(shè)置不同的優(yōu)先級。鍵盤終端的中斷請求沒有打印機那么緊急,打印機中斷請求也沒有磁盤那么緊急。2020/7/31,22,如何處理各種中斷源,如果系統(tǒng)在打印機中斷處理過程中收到高優(yōu)先級磁盤中斷信號:所有中斷屏蔽(禁止)中斷屏蔽,中斷完成后按順序處理新中斷。嵌套中斷優(yōu)先級高的中斷請求可以搶占正在運行的優(yōu)先級低的中斷處理器,類似于基于優(yōu)先級的搶占過程調(diào)度。2020/7/31,23,2020/7/31,24,5.3.2中斷處

10、理程序,中斷處理程序的主要任務(wù):執(zhí)行進程上下文中的切換、測試中斷信號源處理、讀取設(shè)備狀態(tài)、修改進程狀態(tài)等請求I/O操作時,進程暫停。設(shè)備控制器向CPU發(fā)送中斷請求,直到設(shè)備完成I/O操作。在CPU響應(yīng)后切換到中斷處理程序。中斷處理程序執(zhí)行適當(dāng)?shù)奶幚?,并在處理后解除進程的阻塞狀態(tài)。2020/7/31,25,喚醒被阻止的車手(節(jié)目)進程,將中斷進程的CPU環(huán)境切換到相應(yīng)的設(shè)備處理程序,恢復(fù)中斷進程的現(xiàn)場以進行中斷處理。中斷處理程序的處理過程分為以下幾個步驟:2020/7/31,26主要任務(wù):接收父軟件(如READ、Write等)發(fā)送的抽象要求(如Read、Write等),然后將其轉(zhuǎn)換為設(shè)備控制器以

11、開始運行設(shè)備。同時,還負責(zé)上層軟件傳輸設(shè)備控制器發(fā)出的信號。2020/7/31,27,2020/7/31,28,1,設(shè)備驅(qū)動程序功能將轉(zhuǎn)換為與設(shè)備無關(guān)的軟件命令和參數(shù)接收,以及特定要求。(磁盤號-磁盤、磁道號、扇區(qū)號)驗證用戶I/O請求的合法性,了解設(shè)備狀態(tài),發(fā)出參數(shù)轉(zhuǎn)發(fā)或設(shè)置I/O命令,啟動設(shè)備,或?qū)⒃O(shè)備掛在相應(yīng)的設(shè)備隊列中。及時響應(yīng)設(shè)備控制器發(fā)送的中斷請求,并根據(jù)中斷類型調(diào)用相應(yīng)的中斷處理程序進行處理。2020/7/31,29,2,設(shè)備驅(qū)動程序功能(1)驅(qū)動程序主要是指請求I/o的進程和設(shè)備控制器之間的通信和轉(zhuǎn)換程序。將抽象的I/O請求轉(zhuǎn)換為特定的I/O操作,然后將其轉(zhuǎn)發(fā)到控制器。(2)驅(qū)

12、動程序和設(shè)備控制器及I/O設(shè)備的硬件功能是緊密相關(guān)的,因此徐璐必須為其他類型的設(shè)備配置徐璐其他驅(qū)動程序。(3)驅(qū)動程序和I/O設(shè)備使用的I/O控制方法是緊密相關(guān)的,常用的I/O控制方法是中斷驅(qū)動器和DMA方法。(4)驅(qū)動程序和硬件緊密相關(guān),其中一些要做匯編語言筆記,現(xiàn)在很多驅(qū)動程序都硬化到ROM了。(5)驅(qū)動程序許可再進貨許可。一個正在運行的驅(qū)動程序在一次調(diào)用完成之前經(jīng)常被重新調(diào)用。2020/7/31,30,3,設(shè)備處理方法為每個設(shè)備類型設(shè)置進程,用于對該設(shè)備類型執(zhí)行I/o操作。例如,為所有交互式終端設(shè)置交互式終端進程。設(shè)置系統(tǒng)范圍內(nèi)的I/O進程,以便對系統(tǒng)中的所有設(shè)備類型執(zhí)行I/O操作。在不

13、設(shè)置特殊設(shè)備處理進程的情況下,僅為用戶進程或系統(tǒng)進程調(diào)用設(shè)置每個設(shè)備類型的相應(yīng)設(shè)備處理程序(模塊)。這種方式現(xiàn)在使用得最多。2020/7/31,31,4,將設(shè)備驅(qū)動程序處理過程、抽象要求轉(zhuǎn)換為具體要求,以確認I/o請求的合法性。例如,如果用戶想從一臺打印機請求讀取數(shù)據(jù),則這是非法請求。讀取和確認設(shè)備狀態(tài):每個設(shè)備寄存器都有狀態(tài)寄存器,每個都有相應(yīng)狀態(tài)的含義。所需的參數(shù)傳輸(磁盤在讀取和寫入之前參數(shù)傳輸?shù)皆O(shè)備控制器的寄存器)啟動I/O設(shè)備:I/O操作開始時,驅(qū)動程序本身被阻止,中斷到達將再次喚醒。實現(xiàn)處理器和I/O設(shè)備的并行操作。與設(shè)備驅(qū)動程序的主要任務(wù)是啟動指定的設(shè)備。具體的處理過程如下:20

14、20/7/31,32,5 . 4 . 2 I/O I/O控制方法,節(jié)目I/O方法(使用輪詢的可編程I/O方法)中斷驅(qū)動I/O方法DMA控制方法I/O通道控制方法,然后繼續(xù)循環(huán)瀏覽busy。如果Busy=1,并且I/o設(shè)備正在使用中,則CPU將執(zhí)行以下測試:Busy=0時,I/O操作結(jié)束,CPU發(fā)出以下命令:CPU的高速度和I/O設(shè)備的低速使CPU的大部分時間暴露在等待I/O設(shè)備的循環(huán)測試中,從而在CPU上產(chǎn)生巨大的浪費。2020/7/31,34,5.2.2,基于中斷的I/O方法,啟動基于中斷的I/O進程:CPU根據(jù)進程的I/O請求向設(shè)備控制器發(fā)出I/O命令。隨后,CPU將繼續(xù)執(zhí)行CPU與外圍設(shè)

15、備并行工作的其他進程。I/O設(shè)備完成操作后,控制器通過控制線向CPU發(fā)送中斷信號,驗證CPU上的I/O操作是否正確,系統(tǒng)效率:并行操作,以最少的時間處理中斷缺點:設(shè)備和CPU之間的數(shù)據(jù)交換仍保留在字節(jié)中。2020/7/31,35,5.2.3,直接存儲訪問DMA I/O控制方法,1,引入直接內(nèi)存訪問(DMA)控制方法,滿足了同時傳輸大量數(shù)據(jù)的應(yīng)用程序要求。將CPU對高速外圍設(shè)備的干擾降至最低。牙齒方法的特點:數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊。傳輸?shù)臄?shù)據(jù)直接從設(shè)備傳輸?shù)絻?nèi)存,或者相反,僅當(dāng)傳輸一個數(shù)據(jù)塊的開始和結(jié)束時,才需要CPU干預(yù)。完全數(shù)據(jù)傳輸在控制器的控制下進行。2020/7/31,36,2,DMA控制器的配置命令/狀態(tài)寄存器CR記憶體位址寄存器MAR數(shù)據(jù)寄存器DR:或相反,數(shù)據(jù)柜臺DC:包含CPU要讀取或?qū)懭氲膯卧~(部分)數(shù)、2020/7/31,37,3,DMA操作過程啟動DMA控制器以傳輸數(shù)據(jù)。此后,CPU可以執(zhí)行其他任務(wù)。DMA控制器根據(jù)命令傳輸數(shù)據(jù)。也就是說,從磁盤中將一字節(jié)的數(shù)據(jù)讀取到DR中,然后傳輸?shù)絻?nèi)存中。修改并確認DC上的數(shù)值:如果DC上的值不是0牙齒,則繼續(xù)傳遞下一個字節(jié)。值為0時,發(fā)

溫馨提示

  • 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

提交評論