




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第七章設(shè)備管理概述I/O軟件的組成I/O硬件特點有關(guān)技術(shù)設(shè)備處理典型外部設(shè)備一、概述1、I/O的特點(1)I/O性能經(jīng)常成為系統(tǒng)性能的瓶頸CPU性能不等于系統(tǒng)性能 響應(yīng)時間也是一個重要因素CPU性能越高,與I/O差距越大 彌補:更多的進程進程切換多,系統(tǒng)開銷大(2)操作系統(tǒng)龐大復(fù)雜的原因之一是:資源多、雜,并發(fā),均來自I/O 外設(shè)種類繁多,結(jié)構(gòu)各異 輸入輸出數(shù)據(jù)信號類型不同 速度差異很大(3)理解I/O的工作過程與結(jié)構(gòu)是理解操作系統(tǒng)的工作過程與結(jié)構(gòu)的關(guān)鍵 I/O技術(shù)很實用(4)與其他功能聯(lián)系密切,特別是文件系統(tǒng)1、I/O的特點(1)按使用特性分 存儲型設(shè)備 輸入型設(shè)備(外設(shè)主機) 輸出型設(shè)備(
2、主機外設(shè)) 輸入輸出型設(shè)備(交互型設(shè)備)2、設(shè)備的分類(2)按數(shù)據(jù)組織分 塊設(shè)備 以數(shù)據(jù)塊為單位存儲、傳輸信息 字符設(shè)備 以字符為單位存儲、傳輸信息(3)按外部設(shè)備的從屬關(guān)系分 系統(tǒng)設(shè)備 指操作系統(tǒng)生成時,登記在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)備 (如終端、打印機、磁盤機等) 用戶設(shè)備 指在系統(tǒng)生成時,未登記在系統(tǒng)中的非標(biāo)準(zhǔn)設(shè)備。對于這類設(shè)備的處理程序由用戶提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶實施管理。 (如A/D,D/A轉(zhuǎn)換器,CAD所用專用設(shè)備)(4)按資源分配角度分 獨占設(shè)備 在一段時間內(nèi)只能有一個進程使用的設(shè)備,一般為低速I/O設(shè)備(如打印機,磁帶等) 共享設(shè)備 在一段時間內(nèi)可有多個進程共同使用的設(shè)備,
3、多個進程以交叉的方式來使用設(shè)備,其資源利用率高(如硬盤)虛設(shè)備在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備 目的:將慢速的獨占設(shè)備改造成多個用戶可共享的設(shè)備,提高設(shè)備的利用率(實例:SPOOLing技術(shù),利用虛設(shè)備技術(shù) 用硬盤模擬輸入輸出設(shè)備)SPOOLing技術(shù) 為解決獨立設(shè)備數(shù)量少,速度慢,不能滿足眾多進程的要求,而且在進程獨占設(shè)備期間,設(shè)備利用率比較低而提出的一種設(shè)備管理技術(shù)(5)從程序使用角度分 邏輯設(shè)備、物理設(shè)備(6)按數(shù)據(jù)傳輸率分 高速設(shè)備、低速設(shè)備(7)按接口分 與用戶交流:顯示器,鍵盤,鼠標(biāo),打印機等 與電子設(shè)備交流:磁盤
4、、磁帶等 通信:與遠程設(shè)備通信:調(diào)制解調(diào)器各類設(shè)備的差別: 數(shù)據(jù)傳輸率 應(yīng)用 控制的復(fù)雜性 傳輸單位 數(shù)據(jù)表示 出錯條件(1)按照用戶的請求,控制設(shè)備的各種操作,完成I/O設(shè)備與內(nèi)存之間的數(shù)據(jù)交換(包括設(shè)備分配與回收;設(shè)備驅(qū)動程序;設(shè)備中斷處理;緩沖區(qū)管理),最終完成用戶的I/O請求3.設(shè)備管理的目標(biāo)和任務(wù)設(shè)備分配與回收 記錄設(shè)備的狀態(tài) 根據(jù)用戶的請求和設(shè)備的類型,采用一定的分配算法,選擇一條數(shù)據(jù)通路 建立統(tǒng)一的獨立于設(shè)備的接口完成設(shè)備驅(qū)動程序,實現(xiàn)真正的I/O操作處理外部設(shè)備的中斷處理管理I/O緩沖區(qū)功能(2)向用戶提供使用外部設(shè)備的方便接口,使用戶擺脫繁瑣的編程負擔(dān) 方便性 友好界面 透明
5、性 邏輯設(shè)備與物理設(shè)備、屏蔽硬件細節(jié)(設(shè)備的物理細節(jié),錯誤處理,不同I/O的差異性)(3)充分利用各種技術(shù)(通道,中斷,緩沖等)提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行工作能力,充分利用資源,提高資源利用率 并行性 均衡性(使設(shè)備充分忙碌)(4)保證在多道程序環(huán)境下,當(dāng)多個進程競爭使用設(shè)備時,按一定策略分配和管理各種設(shè)備,使系統(tǒng)能有條不紊的工作(5)保護 設(shè)備傳送或管理的數(shù)據(jù)應(yīng)該是安全的、不被破壞的、保密的(6)與設(shè)備無關(guān)性(設(shè)備獨立性) 用戶在編制程序時,使用邏輯設(shè)備名,由系統(tǒng)實現(xiàn)從邏輯設(shè)備到物理設(shè)備(實際設(shè)備)的轉(zhuǎn)換 用戶能獨立于具體物理設(shè)備而方便的使用設(shè)備 用戶申請使用設(shè)備時,只需要指定設(shè)
6、備類型,而無須指定具體物理設(shè)備,系統(tǒng)根據(jù)當(dāng)前的請求,及設(shè)備分配的情況,在相同類別設(shè)備中,選擇一個空閑設(shè)備,并將其分配給一個申請進程統(tǒng)一性: 對不同的設(shè)備采取統(tǒng)一的操作方式,在用戶程序中使用的是邏輯設(shè)備優(yōu)點: 設(shè)備忙碌或設(shè)備故障時,用戶不必修改程序改善了系統(tǒng)的可適應(yīng)性和可擴展性 IO軟件的基本思想是按分層的思想構(gòu)成,較低層軟件要使較高層軟件獨立于硬件的特性,較高層軟件則要向用戶提供一個友好的、清晰的、簡單的、功能更強的接口二、I/O軟件的組成 在設(shè)計IO軟件時的一個關(guān)鍵概念是設(shè)備獨立性。用戶在編寫使用軟盤或硬盤上文件的程序時,無需為不同的設(shè)備類型而修改程序就可以使用 與設(shè)備獨立性密切相關(guān)的是統(tǒng)一
7、命名這一目標(biāo)。一個文件或一個設(shè)備的名字只應(yīng)是一個簡單的字符串或一個整數(shù),不應(yīng)依賴于設(shè)備1. IO軟件的目標(biāo) 出錯處理是IO軟件的另一個目標(biāo)。一般來說,數(shù)據(jù)傳輸中的錯誤應(yīng)盡可能地在接近硬件層上處理 最后一個問題是可共享設(shè)備和獨占設(shè)備的處理問題2.中斷處理程序 每個進程在啟動一個IO操作后阻塞 直到IO操作完成并產(chǎn)生一個中斷 由操作系統(tǒng)接管CPU后喚醒該進程為止3.設(shè)備驅(qū)動程序 與設(shè)備密切相關(guān)的代碼放在設(shè)備驅(qū)動程序中,每個設(shè)備驅(qū)動程序處理一種設(shè)備類型 每一個控制器都設(shè)有一個或多個設(shè)備寄存器,用來存放向設(shè)備發(fā)送的命令和參數(shù)。設(shè)備驅(qū)動程序負責(zé)釋放這些命令,并監(jiān)督它們正確執(zhí)行 一般,設(shè)備驅(qū)動程序的任務(wù)是
8、接收來自與設(shè)備無關(guān)的上層軟件的抽象請求,并執(zhí)行這個請求 在設(shè)備驅(qū)動程序的進程釋放一條或多條命令后,系統(tǒng)有兩種處理方式,多數(shù)情況下,執(zhí)行設(shè)備驅(qū)動程序的進程必須等待命令完成,這樣,在命令開始執(zhí)行后,它阻塞自已,直到中斷處理時將它解除阻塞為止。而在其它情況下,命令執(zhí)行不必延遲就很快完成 4.設(shè)備獨立的軟件 雖然IO軟件中一部分是設(shè)備專用的,但大部分軟件是與設(shè)備無關(guān)的。設(shè)備驅(qū)動程序與設(shè)備獨立軟件之間的確切界限是依賴于具體系統(tǒng)的 1.獨立于設(shè)備的軟件的基本任務(wù)是實現(xiàn)所有設(shè)備都需要的功能,并且向用戶級軟件提供一個統(tǒng)一的接口 2.如何給文件和設(shè)備這樣的對象命名是操作系統(tǒng)中的一個主要課題。獨立于設(shè)備的軟件負責(zé)
9、把設(shè)備的符號名映射到正確的設(shè)備驅(qū)動上 3.設(shè)備保護 系統(tǒng)如何防止無權(quán)存取設(shè)備的用戶存取設(shè)備呢? 4.不同的磁盤可以采用不同的扇區(qū)尺寸。向較高層軟件掩蓋這一事實并提供大小統(tǒng)一的塊尺寸,這正是設(shè)備獨立軟件的一個任務(wù)。它可將若干扇區(qū)合成一個邏輯塊。這樣,較高層的軟件只與抽象設(shè)備打交道,獨立于物理扇區(qū)的尺寸而使用等長的邏輯塊 5.緩沖技術(shù) 6.設(shè)備分配 7.出錯處理 5.用戶空間的IO軟件 盡管大部分IO軟件都包含在操作系統(tǒng)中,但仍有一小部分是由與用戶程序連接在一起的庫過程,甚至完全由運行于核外的程序構(gòu)成。系統(tǒng)調(diào)用,包括IO系統(tǒng)調(diào)用,通常由庫過程實現(xiàn) 這些過程所做的工作只是將系統(tǒng)調(diào)用時所用的參數(shù)放在合
10、適的位置,由其它的IO過程實際實現(xiàn)真正的操作(1)用戶進程層執(zhí)行輸入輸出系統(tǒng)調(diào)用,對IO數(shù)據(jù)進行格式化,為假脫機輸入輸出作準(zhǔn)備(2)獨立于設(shè)備的軟件實現(xiàn)設(shè)備的命名、設(shè)備的保護、成塊處理、緩沖技術(shù)和設(shè)備分配(3)設(shè)備驅(qū)動程序設(shè)置設(shè)備寄存器、檢查設(shè)備的執(zhí)行狀態(tài)(4)中斷處理程序負責(zé)IO完成時,喚醒設(shè)備驅(qū)動程序進程,進行中斷處理(5)硬件層實現(xiàn)物理IO的操作1.設(shè)備組成 IO設(shè)備一般由機械和電子兩部分組成 把這兩部分分開處理,以提供更加模塊化,更加通用的設(shè)計三、I/O硬件特點 (1)物理設(shè)備 機械部分是設(shè)備本身(物理裝置)(2)設(shè)備控制器 電子部分叫做設(shè)備控制器或適配器。 在小型和微型機中,它常采用
11、印刷電路卡插入計算機中(接口) 完成設(shè)備與主機間的連接和通訊 控制器卡上通常有一個插座,通過電纜與設(shè)備相連 控制器和設(shè)備之間的接口是一個標(biāo)準(zhǔn)接口,它符合ANSI、IEEE或ISO這樣的國際標(biāo)準(zhǔn)CPU外部設(shè)備控制邏輯電路控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器 一次I/O 傳送過程: 準(zhǔn)備傳送后處理例:一個打印機有兩個I/O設(shè)備寄存器 狀態(tài)寄存器 數(shù)據(jù)寄存器設(shè)備完成技術(shù)四、設(shè)備有關(guān)技術(shù)(虛擬設(shè)備)技術(shù) 一個虛擬設(shè)備 一個資源轉(zhuǎn)換技術(shù)(用空間,如輸入,輸出等換取CPU時間)解決問題: 在進程所需物理設(shè)備不存在或被占用時使用該設(shè)備(1)預(yù)輸入程序預(yù)輸入程序的任務(wù)是預(yù)先把作業(yè)的全部信息輸入到磁盤的輸入井中存放,
12、以便在需要作業(yè)信息以及作業(yè)運行過程中需要數(shù)據(jù)時,都可以從輸入井中直接得到,而無須與輸入機交往,避免了等待使用輸入機的情況發(fā)生。(2)緩輸出程序 緩輸出程序總是定期查看“輸出井”中是否有等待輸出的作業(yè)信息。如果有,就啟動輸出設(shè)備(比如打印機)進行輸出。因此,由于作業(yè)的輸出信息都暫時存放在輸出井中,輸出設(shè)備有空就去輸出,不會出現(xiàn)作業(yè)因為等待輸出而阻塞。(3)井管理程序 井管理程序分為“井管理讀程序”和“井管理寫程序”。當(dāng)請求輸入設(shè)備工作時,操作系統(tǒng)就調(diào)用井管理讀程序,它把讓輸入設(shè)備工作的任務(wù),轉(zhuǎn)換成從輸入井中讀取所需要的信息;當(dāng)作業(yè)請求打印輸出時,操作系統(tǒng)就調(diào)用井管理寫程序,它把讓輸出設(shè)備工作的任
13、務(wù),轉(zhuǎn)換成為往輸出井里輸出。假若進程打開打印機特殊文件后幾小時內(nèi)無所事事,其他進程什么都打印不了!解決方案:創(chuàng)建值班(精靈)進程(daemon)、SPOOLing目錄進程首先生成要打印的文件,放入SPOOLing目錄值班進程:唯一獲準(zhǔn)使用打印機特殊文件的進程 用以打印SPOOLing目錄里的文件通過禁止對特殊文件的直接使用、提高了使用效率打印機的SPOOLing值班進程(1)定義:通道是獨立于CPU的專門負責(zé)數(shù)據(jù)輸入/輸出傳輸工作的處理機,對外部設(shè)備實現(xiàn)統(tǒng)一管理,代替CPU對輸入/輸出操作進行控制,從而使輸入,輸出操作可與CPU并行操作。 可以執(zhí)行通道程序2.通道技術(shù)(2)引入通道的目的 為了
14、使CPU從I/O事務(wù)中解脫出來,同時為了提高CPU與設(shè)備,設(shè)備與設(shè)備之間的并行工作能力(4)硬件連接結(jié)構(gòu) 通道:執(zhí)行通道程序,向控制器發(fā)出命令,并具有向CPU發(fā)中斷信號的功能。 一旦CPU發(fā)出指令,啟動通道,則通道獨立于CPU工作。一個通道可連接多個控制器,一個控制器可連接多個設(shè)備,形成樹形交叉連接 主要目的是啟動外設(shè)時:提高了控制器效率提高可靠性提高并行度交叉連接(5)通道工作原理 通道相當(dāng)于一個功能簡單的處理機,包含通道指令(空操作,讀操作,寫操作,控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指令編寫的通道程序技術(shù) 數(shù)據(jù)在內(nèi)存與I/O設(shè)備間的直接成塊傳送 CPU在開始時向設(shè)備發(fā)“傳送一塊”命令,結(jié)束時
15、進行相應(yīng)處理,實際操作由DMA硬件直接完成 DMA能夠通過系統(tǒng)總線代替CPU管理數(shù)據(jù)的存入或取出 當(dāng)CPU不需要系統(tǒng)總線時可以使用總線 DMA可以強迫CPU暫時延遲其他操作,獲取一個總線周期(周期竊取)DMA方式與中斷的主要區(qū)別中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請求,CPU進行中斷處理 DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時要求CPU進行中斷處理 大大減少了CPU進行中斷處理的次數(shù)中斷方式的數(shù)據(jù)傳送是由CPU控制完成的 而DMA方式則是在DMA控制器的控制下不經(jīng)過CPU控制完成的 不用DMA時,磁盤如何讀: 首先,控制器從磁盤驅(qū)動器串行地一位一位地讀一個塊,直到將整塊信息放入控制
16、器的內(nèi)部緩沖區(qū)中 其次,它做和校驗計算,以核實沒有讀錯誤發(fā)生 然后控制器產(chǎn)生一個中斷。CPU響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。當(dāng)操作系統(tǒng)開始運行時,它重復(fù)地從控制器緩沖區(qū)中一次一個字節(jié)或一個字地讀這個磁盤塊的信息,并將其送入內(nèi)存中 采用DMA方式時,允許DMA控制器接管地址線的控制權(quán),直接控制DMA控制器與內(nèi)存的數(shù)據(jù)交換。從而使磁盤設(shè)備與儲器之間的數(shù)據(jù)傳送不需要CPU介入,因而減輕了CPU負擔(dān) 當(dāng)采用DMA時,除向控制器提供要讀塊的磁盤地址外,還要向控制器提供兩個信息:要讀塊送往內(nèi)存的起始地址和要傳送的字節(jié)數(shù) 當(dāng)DMA硬件控制磁盤與存儲器之間進行信息交換時,每當(dāng)磁盤把一個數(shù)據(jù)讀入控制器的數(shù)據(jù)緩沖區(qū)時
17、,DMA控制器取代CPU,接管地址總線的控制權(quán),并按照DMA控制器中的存儲器地址寄存器內(nèi)容把數(shù)據(jù)送入相應(yīng)的內(nèi)存單元中。然后,DMA硬件自動地把傳送字節(jié)計數(shù)器減1,把存儲器地址寄存器加1,并恢復(fù)CPU對內(nèi)存的控制權(quán),DMA控制器對每一個傳送的數(shù)據(jù)重復(fù)上述過程,直到傳送字節(jié)計數(shù)器為“0”時,向CPU產(chǎn)生一個中斷信號。當(dāng)操作系統(tǒng)接管CPU控制權(quán)時,再無需做塊復(fù)制的工作了控制器按照指定存儲器地址,把第一個字節(jié)送入主存然后,按指定字節(jié)數(shù)進行數(shù)據(jù)傳送每當(dāng)傳送一個字節(jié)后,字節(jié)計數(shù)器值減1,直到字節(jié)計數(shù)器等于0此時,控制器引發(fā)中斷,通知操作系統(tǒng),操作完成CPU提供被讀取塊磁盤地址目標(biāo)存儲地址待讀取字節(jié)數(shù)整塊數(shù)
18、據(jù)讀進緩沖區(qū)核準(zhǔn)校驗DMA工作示例(以硬盤為例)(1)緩沖技術(shù)的引入 凡是數(shù)據(jù)到達和離去速度不匹配的地方均可采用緩沖技術(shù)。 在操作系統(tǒng)中采用緩沖是為了實現(xiàn)數(shù)據(jù)的I/O操作,以緩解CPU與外部設(shè)備之間速度不匹配的矛盾,提高資源利用率減少了I/O設(shè)備對處理器的中斷請求次數(shù)簡化了中斷機制節(jié)省了系統(tǒng)開銷4. 緩沖技術(shù)(2)緩沖區(qū)設(shè)置 硬緩沖:在設(shè)備中設(shè)置緩沖區(qū),由硬件實現(xiàn) 軟緩沖:在內(nèi)存中開辟一個空間,用作緩沖區(qū)(3)緩沖區(qū)管理 單緩沖 雙緩沖 緩沖池: 多個緩沖區(qū)連接起來統(tǒng)一管理,常采用多緩沖管理(4)例子 終端輸入軟件中的鍵盤驅(qū)動程序 任務(wù)之一:收集字符 兩種常見的字符緩沖方法:公共緩沖池(驅(qū)動程
19、序中)終端數(shù)據(jù)結(jié)構(gòu)緩沖1. 設(shè)備分配與回收 當(dāng)某進程向系統(tǒng)提出I/O請求時,設(shè)備分配程序按一定策略分配設(shè)備、控制器和通道,形成一條數(shù)據(jù)傳輸通路,以供主機和設(shè)備間信息交換五、設(shè)備處理設(shè)備獨立性,即不能因為設(shè)備的忙碌、故障或更換而影響程序的運行, 向用戶屏蔽物理設(shè)備, 呈現(xiàn)給用戶的一個操作簡單的邏輯設(shè)備抽象的I/O 操作,即設(shè)計一類通用的I/O指令,它們的含義對不同類型的設(shè)備作不同解釋。而且,在操作系統(tǒng)中,提供了若干I/O系統(tǒng)調(diào)用。由系統(tǒng)將抽象的I/O 操作映射到專門的設(shè)備驅(qū)動程序(1)數(shù)據(jù)結(jié)構(gòu):設(shè)備控制塊DCB(設(shè)備控制表DCT)控制器控制塊COCB (控制器控制表COCT)通道控制塊CHCB (通道控制表CHCT)系統(tǒng)設(shè)備表SDT系統(tǒng)設(shè)備表SDT 整個系統(tǒng)一張表,記錄系統(tǒng)中所有I/O設(shè)備的信息,表目包括: 設(shè)備類型、設(shè)備標(biāo)識符、進程標(biāo)識符、DCT表指針等設(shè)備控制表DCT 主要內(nèi)容:設(shè)備類型、設(shè)備標(biāo)識符、設(shè)備狀態(tài)、與此設(shè)備相連的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保安人員勞動合同保安人員合同
- 辦公家具定點采購合同
- 洗車機施工方案
- 小區(qū)商鋪裝飾裝修協(xié)議書
- 九龍坡屋頂漏水施工方案
- 《陶淵明集》序 賞析
- 南充硅pu籃球場施工方案
- 建筑工程廉潔監(jiān)理合同協(xié)議-@-1
- 泄流箱涵施工方案
- 遼河吹填施工方案
- 公路工程竣交工驗收培訓(xùn)課件
- 中鐵二十局合同范例
- 屠宰場職工培訓(xùn)方案
- 雙碳全景系列培訓(xùn)第一章碳達峰、碳中和
- 常用玻璃儀器操作規(guī)范課件
- 高三英語寫作公開課課件-(共26張)
- 萬維網(wǎng)服務(wù)大揭秘課件 2024-2025學(xué)年人教版(2024)初中信息科技七年級上冊
- 工商管理綜合課程設(shè)計
- 佳能相機PowerShot SX60 HS使用說明書
- 初中地理新課程標(biāo)準(zhǔn)解讀課件
- 2024年西固區(qū)離婚協(xié)議書范文電子版
評論
0/150
提交評論