




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第7章設(shè)備管理學習目標<2
>1.掌握輸入輸出設(shè)備管理的基本概念2.掌握輸入輸出設(shè)備硬件的組成及其控制方式3.理解輸入輸出設(shè)備驅(qū)動軟件的組成、設(shè)備獨立性的概念及設(shè)備驅(qū)動的層次結(jié)構(gòu)4.掌握輸入輸出設(shè)備的分配與回收、各種不同類型設(shè)備的分配算法5.理解磁盤驅(qū)動調(diào)度及信息優(yōu)化分布的概念6.掌握虛擬設(shè)備和緩沖技術(shù)的應(yīng)用學時:8本章內(nèi)容導讀<3
>1.本章是操作系統(tǒng)設(shè)備管理的內(nèi)容,闡述輸入輸出設(shè)備在計算機系統(tǒng)中的功能和作用2.輸入輸出設(shè)備種類繁多,傳輸速度、接口方式、功能性能存在較大的差異3.設(shè)備的驅(qū)動程序與操作系統(tǒng)內(nèi)核之間配合的模式和信息的交流方式7.1設(shè)備管理的基本概念7.2設(shè)備硬件和設(shè)備管理軟件的組成7.3I/O設(shè)備的控制方式7.4設(shè)備分配與回收7.5磁盤驅(qū)動調(diào)度7.6緩沖技術(shù)7.7虛擬設(shè)備技術(shù)7.8本章小結(jié)目錄CONTENTSPART7.1設(shè)備管理的基本概念輸入輸出設(shè)備的定義<6
>輸入輸出設(shè)備(I/O設(shè)備)也稱為外部設(shè)備(peripheral),包括計算機系統(tǒng)中除CPU和內(nèi)存儲器以外的所有的硬件設(shè)備和裝置廣義的輸入輸出設(shè)備即上述定義,狹義的輸入輸出設(shè)備不包括外存儲設(shè)備輸入設(shè)備(鍵盤)輸入設(shè)備(鼠標)輸出設(shè)備(顯示器)輸出設(shè)備(打印機)處理器內(nèi)存計算機系統(tǒng)計算機系統(tǒng)與輸入輸出設(shè)備關(guān)系示意圖<7
>設(shè)備管理的地位和意義設(shè)備管理在操作系統(tǒng)中具有十分重要的地位,它是操作系統(tǒng)總體性能的重要決定因素和重要表現(xiàn)指標輸入輸出設(shè)備的多樣性用戶要求和CPU進程調(diào)度的多樣性性能存在較大差異輸入輸出設(shè)備與處理器的性能鴻溝導致并發(fā)技術(shù)產(chǎn)生的直接原因設(shè)備形態(tài)和應(yīng)用多樣是操作系統(tǒng)所管理的資源龐雜的主要原因之一用戶要求、CPU進程調(diào)度的多樣性,導致了操作系統(tǒng)的設(shè)備管理相關(guān)的數(shù)據(jù)結(jié)構(gòu)與算法的多樣性操作系統(tǒng)主要通過緩沖技術(shù)、中斷技術(shù)和虛擬技術(shù)來解決輸入輸出設(shè)備性能同CPU性能不匹配問題<8
>設(shè)備管理的任務(wù)設(shè)備管理的任務(wù)主要表現(xiàn)在以下方面:解決輸入輸出設(shè)備的性能瓶頸方便用戶對設(shè)備的管理操作系統(tǒng)需要在設(shè)備管理和系統(tǒng)的其它部分之間提供簡單易用的訪問接口保障用戶使用設(shè)備的安全由設(shè)備傳送或管理的數(shù)據(jù)不應(yīng)破壞或泄露;多用戶多任務(wù)環(huán)境中的設(shè)備使用應(yīng)該通過協(xié)調(diào)而避免沖突<9
>輸入輸出設(shè)備的分類按設(shè)備的使用特性分類計算機用以“感受”或“接觸”外部信息的設(shè)備,如鍵盤、鼠標輸入設(shè)備計算機用來保存信息的裝置,記錄介質(zhì)必須具有可寫入性、可讀出性、可保存性等特征,如磁介質(zhì)的光盤等存儲設(shè)備計算機用以產(chǎn)生普通人可感知的信息或輸出用以“影響”或“控制”其他外部裝置的設(shè)備,如打印機、顯示器輸出設(shè)備交互式設(shè)備用于與計算機進行交流的一類設(shè)備,至少包含輸入設(shè)備和輸出設(shè)備,如鼠標、手寫輸入設(shè)備<10
>輸入輸出設(shè)備的分類按設(shè)備的信息組織方式分類以字符為單位組織和處理信息的設(shè)備被稱為字符設(shè)備傳遞或接收一連串的字符不尋址,并且沒有查找操作如鍵盤、終端、打印機等字符設(shè)備(CharacterDevice)以信息塊為單位組織和處理信息的設(shè)備被稱為塊設(shè)備能夠隨時讀寫設(shè)備中的任何一塊存儲塊如磁盤、磁帶等塊設(shè)備(BlockDevice)<11
>輸入輸出設(shè)備的分類按設(shè)備使用時可共享性分類獨占設(shè)備指在一個程序(作業(yè),用戶)的整個運行期間都必須由單個程序(作業(yè)、用戶)獨占直至該程序(作業(yè))完成的設(shè)備獨占設(shè)備虛擬設(shè)備是指在一類設(shè)備上模擬另一類設(shè)備,被模擬的設(shè)備稱為虛擬設(shè)備通常用共享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備虛擬設(shè)備共享設(shè)備是指能夠同時讓許多程序(作業(yè)、用戶)使用的設(shè)備共享設(shè)備設(shè)備管理與文件管理的關(guān)系<12
>區(qū)別:設(shè)備管理是對計算機系統(tǒng)中所有輸入輸出設(shè)備硬件的管理,為用戶提供標準的接口來使用設(shè)備文件管理對設(shè)備里面存儲的數(shù)據(jù)和信息,提供一整套管理規(guī)則,以文件及其配套概念來具體實施聯(lián)系:將物理的設(shè)備資源抽象為邏輯的文件資源,使得用戶可以用統(tǒng)一、透明的方式訪問物理設(shè)備和設(shè)備上的數(shù)據(jù)和信息在UNIX系統(tǒng)中將所有的設(shè)備都當作文件對象來管理,通過提供給用戶一個簡單易用的接口平臺,提高設(shè)備利用率,降低設(shè)備使用難度背景-2:北京大學圖書館PART7.2設(shè)備硬件和設(shè)備管理軟件的組成設(shè)備硬件的組成<14
>從硬件的角度看,設(shè)備由物理設(shè)備和電子部件兩部分組成——操作系統(tǒng)而言更注重的是其電子部件的控制方式典型的計算機系統(tǒng)其硬件結(jié)構(gòu)如圖所示:中央部分是CPU和主存,通過總線與第二層的接口(適配器)部件相連,第三層是各種外部設(shè)備控制器,最外層是外部設(shè)備每一種外部設(shè)備在它自己的設(shè)備控制器(一種電子部件)的控制下工作,而設(shè)備控制器則通過適配器和主機連接一種計算機外部設(shè)備硬件系統(tǒng)組織結(jié)構(gòu)圖<15
>設(shè)備控制器的組成每個設(shè)備控制器都有若干個寄存器用來與CPU進行通信,包括控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器寫入控制寄存器,操作系統(tǒng)可以控制設(shè)備發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、開啟或關(guān)閉讀取狀態(tài)寄存器,操作系統(tǒng)可以獲悉設(shè)備的狀態(tài),如是否準備好接收新的數(shù)據(jù)數(shù)據(jù)寄存器通常作為操作系統(tǒng)發(fā)出或接收數(shù)據(jù)的緩沖區(qū)控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器I/O端口地址及其編址方式<16
>為了使CPU能夠訪問設(shè)備控制器中的寄存器,必須為每個寄存器分配唯一的地址,該地址稱為I/O端口地址或I/O端口號I/O端口地址主要有兩種編址方式:內(nèi)存映射編址和I/O獨立編址內(nèi)存映射編址是分配給系統(tǒng)中所有端口的地址空間與內(nèi)存地址空間統(tǒng)一編址,對I/O的讀寫操作等同于對存儲器的操作,這樣的系統(tǒng)稱為內(nèi)存映射I/O(memory-mappedI/O),大部分處理器采用內(nèi)存映射I/OI/O獨立編址是分配給系統(tǒng)中所有端口的地址空間與內(nèi)存地址空間是完全獨立的操作系統(tǒng)通過對設(shè)備控制器中的寄存器進行讀寫操作來完成與設(shè)備的數(shù)據(jù)交換輸入輸出設(shè)備對設(shè)備控制器中的控制方式有程序直接控制方式、中斷控制方式、DMA方式和通道控制方式設(shè)備管理軟件(I/O軟件)的組成<17
>基本思想:把設(shè)備管理軟件組織成為一系列層次,較低的層處理與硬件有關(guān)的細節(jié),并將硬件的特征與較高的層隔離;而較高的層則向用戶提供一個友好的、清晰而規(guī)整的程序接口結(jié)構(gòu)分為四層:中斷處理程序、設(shè)備驅(qū)動程序、設(shè)備獨立的操作系統(tǒng)軟件和用戶級軟件從功能上看,設(shè)備獨立層是I/O軟件的主要部分;從代碼量上看,設(shè)備驅(qū)動層是I/O軟件的主要部分設(shè)備管理軟件的組成設(shè)備管理軟件(I/O軟件)的組成<18
>中斷處理程序負責控制輸入輸出設(shè)備和內(nèi)存與CPU之間的數(shù)據(jù)傳送設(shè)備獨立層起到承上啟下的作用:將種類繁多的輸入輸出設(shè)備的驅(qū)動屏蔽起來,對用戶呈現(xiàn)出一個標準的調(diào)用接口將用戶使用輸入輸出設(shè)備的需求按照設(shè)備驅(qū)動的要求配置參數(shù)并傳遞數(shù)據(jù)大部分I/O軟件都包含在操作系統(tǒng)中,但是用戶層軟件仍有部分是與庫函數(shù)連接在一起的,甚至還有在內(nèi)核之外運行的程序構(gòu)成設(shè)備管理軟件的組成設(shè)備獨立性<19
>設(shè)計I/O軟件的一個最關(guān)鍵的目標是設(shè)備獨立性(deviceindependence),即除了直接與設(shè)備硬件打交道的低層軟件之外,其他部分的軟件并不依賴于硬件右圖所示為常見的設(shè)備獨立層軟件實現(xiàn)的一些功能設(shè)備需要的I/O軟件功能可以在與設(shè)備獨立的軟件中實現(xiàn),這類軟件面向用戶應(yīng)用層并提供一個統(tǒng)一的接口與設(shè)備無關(guān)I/O軟件的功能<20
>設(shè)備獨立層軟件實現(xiàn)的功能123設(shè)備命名設(shè)備保護提供一個與設(shè)備無關(guān)的邏輯快設(shè)備獨立層的軟件負責把設(shè)備的符號名映射到相應(yīng)的設(shè)備驅(qū)動程序上對設(shè)備進行必要的保護,防止無授權(quán)的應(yīng)用或用戶的非法使用向上層提供統(tǒng)一大小的邏輯塊尺寸4緩沖對于常見的塊設(shè)備和字符設(shè)備,都使用到緩沖區(qū)567存儲設(shè)備的塊分配獨占設(shè)備的分配和釋放錯誤處理
操作系統(tǒng)需要為每個磁盤設(shè)置一張空閑塊表或位圖一些設(shè)備在某一時刻只能被單個進程使用,這就要求操作系統(tǒng)對設(shè)備使用請求進行檢查一些典型的錯誤不是輸入輸出設(shè)備的錯誤造成的,如何處理這個錯誤就與設(shè)備無關(guān)背景-2:北京大學圖書館PART7.3I/O設(shè)備的控制方式<22
>I/O設(shè)備的控制方式I/O設(shè)備的控制方式取決于I/O設(shè)備硬件與處理器和內(nèi)存的聯(lián)結(jié)方式以及其相應(yīng)的設(shè)備驅(qū)動程序,主要有以下四種方式:123程序控制方式中斷控制方式DMA控制方式4通道控制方式程序控制方式<23
>程序控制方式也稱為PIO(ProgrammedI/O,程控I/O)方式,是指由用戶進程直接控制處理器進行內(nèi)存和外部設(shè)備之間信息傳送的方式,如圖所示優(yōu)點:CPU和外設(shè)的操作能通過狀態(tài)信息得到同步,而且硬件結(jié)構(gòu)比較簡單缺點:CPU效率較低,傳輸完全在CPU控制下完成,對外部出現(xiàn)的異常事件無實時響應(yīng)能力只適用于那些CPU執(zhí)行速度較慢,而且外部設(shè)備較少的系統(tǒng),如單片機系統(tǒng)程序直接控制方式的傳送結(jié)構(gòu)中斷控制方式<24
>中斷是一種在發(fā)生了一個異常事件時,調(diào)用相應(yīng)處理程序(通常稱為中斷服務(wù)程序)進行服務(wù)的過程中斷服務(wù)程序與中斷時CPU正在執(zhí)行的進程是相互獨立的,相互不傳遞數(shù)據(jù)采用中斷控制方式的優(yōu)點:CPU與外設(shè)在大部分時間內(nèi)并行工作,有效地提高了計算機的效率具有實時響應(yīng)能力,可適用于實時控制場合及時處理異常情況,提高計算機的可靠性如要采用中斷方式進行數(shù)據(jù)傳送,則CPU和設(shè)備控制器就應(yīng)具備中斷機構(gòu)中斷控制方式<25
>程序中斷控制方式的處理過程如下:在CPU上運行的進程通過總線發(fā)出命令請求,啟動外設(shè)工作,當前進程阻塞,調(diào)度程序調(diào)度其他進程外設(shè)數(shù)據(jù)準備好,置位中斷請求觸發(fā)器若此時中斷屏蔽觸發(fā)器狀態(tài)為非屏蔽狀態(tài),則I/O接口向CPU發(fā)中斷請求(IR)CPU接受中斷請求,且中斷為允許中斷狀態(tài),則中斷判優(yōu)電路工作中斷判優(yōu)電路對到達的優(yōu)先級最高的中斷請求給予響應(yīng)(INTA),CPU中斷正在執(zhí)行的其他進程,轉(zhuǎn)而執(zhí)行中斷服務(wù)程序中斷控制方式的傳送結(jié)構(gòu)DMA控制方式<26
>DMA是直接內(nèi)存訪問(DirectMemoryAccess)的縮寫,它是一種完全由硬件執(zhí)行I/O數(shù)據(jù)交換的工作方式DMA控制器(DMAController,DMAC)從CPU完全接管對總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存和外部設(shè)備之間進行由DMA控制器占用系統(tǒng)總線并向內(nèi)存發(fā)出地址和控制信號,對傳送信息的個數(shù)計數(shù),并且以中斷方式向CPU報告?zhèn)魉筒僮鞯慕Y(jié)束DMA方式的傳送結(jié)構(gòu)如圖所示,可分為三個階段:傳送前預處理、數(shù)據(jù)傳送、傳送后處理DMA方式一般用于高速傳送成組的數(shù)據(jù)DMA方式的傳送結(jié)構(gòu)通道控制方式<27
>通道(channel)是一個特殊功能的處理器,它有自己的指令和程序,可以實現(xiàn)對外部設(shè)備的統(tǒng)一管理和外部設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送與DMA方式相比,通道方式增加了CPU與通道操作的并行能力;增加了通道之間以及同一通道內(nèi)各設(shè)備之間的并行操作能力;為用戶提供了靈活增加外設(shè)的可能性按照信息交換方式的不同,一個系統(tǒng)中可以設(shè)立三種類型的通道:選擇通道,優(yōu)點是以數(shù)據(jù)塊為單位進行傳輸,傳輸率高;缺點是通道利用率低數(shù)組多路通道,優(yōu)點是同選擇通道一樣,以數(shù)據(jù)塊為單位進行傳輸,傳輸率高,又具有多路并行操作的能力,通道利用率高,缺點是控制復雜字節(jié)多路通道,各設(shè)備與通道之間的數(shù)據(jù)傳送是以字節(jié)為單位交替進行的,各設(shè)備輪流占用一個很短的時間片,多路并行操作能力與數(shù)組多路通道相同通道具有的功能<28
>接受CPU的指令,按指令與外部設(shè)備進行通信從內(nèi)存讀取通道指令,執(zhí)行通道程序,向設(shè)備控制器和設(shè)備發(fā)送各種命令組織外部設(shè)備和內(nèi)存之間進行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)緩存的空間從外部設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存的指定單元,供CPU使用將外部設(shè)備的中斷請求和通道本身的中斷請求按序及時報告CPU通道方式的數(shù)據(jù)傳送結(jié)構(gòu)背景-2:北京大學圖書館PART7.4設(shè)備分配與回收<30
>I/O設(shè)備的控制方式假定:即每一個準備傳送數(shù)據(jù)的進程都已申請到了它所需要的外部設(shè)備和控制器事實:由于設(shè)備和控制器資源的有限性,不是每一個進程隨時隨地都能得到這些資源,如果申請進程得不到它所申請的資源,將被放入資源等待隊列中等待,直到所需要的資源被釋放為了合理、高效、安全地分配和回收設(shè)備,我們從以下四個方面進行分析123數(shù)據(jù)結(jié)構(gòu)分配原則分配策略4分配算法數(shù)據(jù)結(jié)構(gòu)<31
>1.數(shù)據(jù)結(jié)構(gòu)為了記錄系統(tǒng)內(nèi)所有設(shè)備的情況,以便對它們進行有效的管理,引入了一些表結(jié)構(gòu)常采用的數(shù)據(jù)結(jié)構(gòu)主要含四張表(如圖所示):系統(tǒng)設(shè)備表(SystemDeviceTable)設(shè)備控制表(DeviceControlTable)控制器控制表(COntrolerControlTable)和通道控制表(CHannelControlTable)設(shè)備(通道、控制器)等待隊列也是與設(shè)備分配有關(guān)的數(shù)據(jù)結(jié)構(gòu),組織方式可以按照先來先服務(wù)(FIFO)的順序,也可以按照優(yōu)先級順序與設(shè)備分配有關(guān)的數(shù)據(jù)結(jié)構(gòu)分配原則<32
>2.分配原則設(shè)備分配的總原則是:要充分發(fā)揮設(shè)備的使用效率,又要避免由于不合理的分配造成進程死鎖要做到把用戶程序和具體物理設(shè)備隔離開來,即用戶程序面對的是邏輯設(shè)備,而分配程序?qū)⒃谙到y(tǒng)把邏輯設(shè)備轉(zhuǎn)換成物理設(shè)備之后,再根據(jù)要求的物理設(shè)備號進行分配,設(shè)備分配方式有兩種:靜態(tài)分配,靜態(tài)分配方式不會出現(xiàn)死鎖,但設(shè)備的使用效率低,不符合分配的總原則動態(tài)分配,動態(tài)分配方式有利于提高設(shè)備的利用率,但如果分配算法使用不當,則有可能造成進程死鎖獨占設(shè)備的分配<33
>3.獨占設(shè)備的分配計算機系統(tǒng)中大量的設(shè)備是獨占設(shè)備,不能采取并發(fā)的方式使用,只能交替地使用,為此,在設(shè)備分配中采用如下的方法:設(shè)備的絕對號與相對號:為了對計算機系統(tǒng)中配置的各種不同類型的外部設(shè)備進行管理,系統(tǒng)為每一臺設(shè)備確定一個編號,這個確定的編號稱為設(shè)備的“絕對號”;有時用戶可能要求同時使用幾臺同類設(shè)備,為了避免使用時的混亂,用戶可以把自己要求使用的若干臺類設(shè)備給出編號,由用戶在程序中定義的設(shè)備編號稱設(shè)備的“相對號”,用戶使用“設(shè)備類、相對號”來提出使用設(shè)備的要求設(shè)備的指定方式:用戶在申請獨占設(shè)備時,指定需要什么設(shè)備,指定設(shè)備的方式可以有兩種,一種是指定設(shè)備的絕對號,另一種是指定設(shè)備類、相對號獨占設(shè)備的分配<34
>3.獨占型設(shè)備的分配和釋放操作系統(tǒng)設(shè)置“設(shè)備分配表”用來記錄計算機系統(tǒng)所配置的獨占設(shè)備類型、臺數(shù)以及分配情況等設(shè)備分配表可由“設(shè)備類表”和“設(shè)備表”兩部分組成“設(shè)備類表”記錄系統(tǒng)中的各類設(shè)備每一臺設(shè)備在“設(shè)備表”中占一個登記項當設(shè)備分配給某作業(yè)后則需指出占用設(shè)備的作業(yè)名,以及用戶定義的相對號,如下圖所示獨占設(shè)備的分配<35
>3.獨占型設(shè)備的分配和釋放用戶作業(yè)申請某類外部設(shè)備的過程如下:(1)用戶作業(yè)提出某類外部設(shè)備申請(2)系統(tǒng)檢查“設(shè)備類表”,如果該類設(shè)備的現(xiàn)存臺數(shù)可以滿足申請要求,則取得該類設(shè)備的“設(shè)備表”始址,如該類設(shè)備的現(xiàn)存臺數(shù)不能滿足申請要求,則用戶作業(yè)進入等待隊列(3)系統(tǒng)通過該類設(shè)備的“設(shè)備表”始址,進入該類設(shè)備的“設(shè)備表”,開始依次檢查該類設(shè)備在設(shè)備表中的登記項獨占設(shè)備的分配<36
>3.獨占型設(shè)備的分配和釋放(4)在該類設(shè)備表中的登記項找出“設(shè)備完好狀態(tài)”為“好”而且“分配狀態(tài)”是“未分配”的設(shè)備(5)進行設(shè)備分配,在“設(shè)備類表”和“設(shè)備表”中進行如下的修改:①修改“設(shè)備類表”中該類設(shè)備的現(xiàn)存臺數(shù);②把該臺設(shè)備在“設(shè)備表”中的“分配狀態(tài)”標志改成“已分配”;③在該“設(shè)備表”中填上擬占用該設(shè)備的作業(yè)名和作業(yè)程序中定義的該設(shè)備相對號獨占設(shè)備的分配<37
>3.獨占型設(shè)備的分配和釋放(6)把已分配的該設(shè)備的絕對號與相對號的對應(yīng)關(guān)系通知用戶程序,以便用戶在分配到的設(shè)備上進行相關(guān)的操作以右圖所示舉例舉例:一個用戶J3要申請1臺打印機,系統(tǒng)先查“設(shè)備類表”,發(fā)現(xiàn)現(xiàn)存臺數(shù)為2,可以滿足申請要求,則從該類設(shè)備的“設(shè)備表”始址開始依次檢查該類設(shè)備在設(shè)備表中的登記項“設(shè)備表”始址指向的第一臺打印機,絕對號為002p,標志為“已分配”獨占設(shè)備的分配獨占設(shè)備的分配<38
>3.獨占型設(shè)備的分配和釋放再檢查第二臺打印機,即絕對號為003p的設(shè)備,設(shè)備狀態(tài)是“好”的,且標志為“未分配”,于是可以把這臺絕對號為003p的打印機設(shè)備,分配給該用戶,參見右圖(a)分配后要修改設(shè)備類表中打印機現(xiàn)存臺數(shù),從2臺改為1臺,把003p設(shè)備標志改成“已分配”,且填上占用該設(shè)備的作業(yè)名J3和作業(yè)程序中定義的相對號001,參考圖(b)當作業(yè)J3執(zhí)行時,系統(tǒng)通過相關(guān)的作業(yè)名和相對號,就可以從設(shè)備表中的登記項得到設(shè)備的絕對號,最后啟動該設(shè)備進行需要的打印作業(yè)獨占設(shè)備的分配獨占設(shè)備的分配<39
>3.獨占型設(shè)備的分配和釋放在用戶作業(yè)使用完某臺外部設(shè)備,會發(fā)出釋放設(shè)備的命令,把設(shè)備歸還給系統(tǒng)系統(tǒng)收回設(shè)備時,需要對該臺設(shè)備的“設(shè)備表”中有關(guān)的登記項進行相應(yīng)的修改,即把該臺設(shè)備在“設(shè)備表”中的“分配狀態(tài)”標志改成“未分配”,同時在該“設(shè)備表”中撤銷占用該設(shè)備的作業(yè)名和設(shè)備相對號最后,在該類設(shè)備的“設(shè)備類表”中,把該類設(shè)備的現(xiàn)存臺數(shù)增加1臺獨占設(shè)備的分配共享設(shè)備的分配<40
>4.共享設(shè)備的分配共享設(shè)備可被多個進程所共享,但在每個I/O傳輸?shù)膯挝粫r間內(nèi)只由一個進程所占有在每一個使用命令之前都隱含有一個申請命令,在每一個使用命令之后都隱含有一個釋放命令共享設(shè)備使用的具體方法如下:申請設(shè)備:如設(shè)備被占用,進入設(shè)備等待隊列,否則分配設(shè)備啟動設(shè)備:I/O傳輸釋放設(shè)備:當設(shè)備結(jié)束,發(fā)出中斷信號時,系統(tǒng)喚醒一個等待設(shè)備的進程由于獨占設(shè)備的分配和回收必須遵守“獨占”的要求,設(shè)備利用率低,死鎖幾率增大,不利于調(diào)度,使用能將獨占設(shè)備轉(zhuǎn)變?yōu)楣蚕碓O(shè)備的技術(shù)稱為“SPOOLing”系統(tǒng)可有效解決這個問題背景-2:北京大學圖書館PART7.5磁盤驅(qū)動調(diào)度磁盤驅(qū)動調(diào)度<42
>本節(jié)討論磁盤驅(qū)動的調(diào)度策略幾乎所有計算機都使用磁盤來存儲信息從存儲角度看,與內(nèi)存相比,磁盤有三個主要的優(yōu)點:可用的存儲容量非常大每位的價格非常低電源關(guān)掉后信息不會丟失磁盤的結(jié)構(gòu)決定了對磁盤的訪問需要通過移動磁頭所在的磁臂,驅(qū)動磁盤旋轉(zhuǎn)以及選擇適當磁頭來確定數(shù)據(jù)存放在磁盤面上的空間位置如何快速找到上述位置便是磁盤驅(qū)動調(diào)度要做的工作信息傳輸時間<43
>一、信息傳輸時間啟動磁盤執(zhí)行輸入輸出操作時,要把磁臂移動到指定的磁道(柱面),再等待需要訪問的扇區(qū)旋轉(zhuǎn)到磁頭位置下,然后讓指定的磁頭進行讀寫完成信息傳送執(zhí)行一次輸入輸出所花的時間有:尋道時間――磁頭在磁臂帶動下移動到指定磁道(柱面)所花的時間延遲時間――需要訪問的扇區(qū)旋轉(zhuǎn)到磁頭下所需的時間傳送時間――由磁頭進行讀寫完成信息傳送的時間其中傳送信息所花的時間是在硬件設(shè)計就固定的;而尋道時間和延遲時間是與信息在磁盤上的位置有關(guān)右圖是訪問磁盤的操作時間示意圖訪問磁盤的操作時間信息傳輸時間<44
>為了減少移動磁臂所花費的時間,是按磁道(柱面)存放同一磁道(柱面)上的各磁道被放滿信息后,再放到下一個柱面上例如單張磁盤有上下二個面對應(yīng)二個磁頭:當尋道到目標磁道位置,上下二個磁頭同時讀取所在的磁道并緩存,再通過選擇器依次選擇相應(yīng)的緩沖區(qū)內(nèi)的數(shù)據(jù)寫入數(shù)據(jù)時,先對緩沖區(qū)填入數(shù)據(jù),然后只允許相應(yīng)磁頭進行寫操作,其他磁頭不進行寫入所以各磁盤存儲塊的編號按相同磁道(柱面)的磁頭(盤面)順序(從0號開始編址),其次是相同磁道(柱面)的扇區(qū)順序,最后是磁道(柱面)號進行排序在訪問時是反過來進行尋址,即先尋道,再等待扇區(qū),最后選擇磁頭信息傳輸時間<45
>假定用t表示每個磁道(柱面)上的磁頭總數(shù)(或者稱為一個柱面上的總磁道數(shù)),用s表示每個磁道(柱面)上的扇區(qū)數(shù),則第i磁道,j磁頭,k扇區(qū)所對應(yīng)的塊b由如下公式確定:b=k+s×(j+i×t)同樣根據(jù)塊號也可確定該塊在磁盤上的位置,在上述的假定下,每個柱面上有s×t個磁盤塊,為了計算第p塊在磁盤上位置,可以令:d=s×tm=[p/d]n=pmodd于是,第p塊在磁盤上位置為:柱面號=m磁頭號=[n/s]扇區(qū)號=nmods移臂調(diào)度及調(diào)度算法<46
>二、移臂調(diào)度及調(diào)度算法在一系列訪問的讀寫請求來到時,應(yīng)該采用一定的調(diào)度策略來決定各等待訪問的執(zhí)行次序,使尋找和延遲時間都盡可能小的那個訪問者可以優(yōu)先得到服務(wù)根據(jù)訪問者指定的柱面位置來決定執(zhí)行次序的調(diào)度,稱為“移臂調(diào)度”移臂調(diào)度的目的是盡可能地減少操作中的尋找時間在磁盤盤面上,0磁道在盤面的外部;號數(shù)越大,磁道越靠近盤片的中心磁盤在關(guān)機時,硬盤磁頭停放在最內(nèi)圈柱面常用的移臂調(diào)度算法有先來先服務(wù)算法、最短尋找時間優(yōu)先算法、電梯調(diào)度算法和單向掃描算法先來先服務(wù)調(diào)度算法<47
>1.先來先服務(wù)調(diào)度算法最簡單的移臂調(diào)度算法是“先來先服務(wù)”調(diào)度算法,這個算法實際上不考慮訪問者要求訪問的物理位置,而只是考慮訪問者提出訪問請求的先后次序采用先來先服務(wù)算法決定等待訪問者執(zhí)行輸入輸出操作的次序時磁臂來回地移動先來先服務(wù)算法花費的尋找時間較長,執(zhí)行輸入輸出操作的總時間也很長先來先服務(wù)調(diào)度算法最短尋找時間優(yōu)先調(diào)度算法<48
>2.最短尋找時間優(yōu)先調(diào)度算法最短尋找時間優(yōu)先調(diào)度算法總是從等待訪問者中挑選尋找時間最短的那個請求先執(zhí)行的,而不管訪問者到來的先后次序采用最短尋找時間優(yōu)先算法決定等待訪問者執(zhí)行操作的次序時,讀寫磁頭總共移動了200多個柱面的距離,與先來先服務(wù)算法比較,大幅度地減少了尋找時間,因而縮短了為各訪問者請求服務(wù)的平均時間,也就提高了系統(tǒng)效率最短尋找時間優(yōu)先調(diào)度算法電梯調(diào)度算法<49
>3.電梯調(diào)度算法“電梯調(diào)度”算法是從磁臂當前位置開始沿著臂的移動方向去選擇離當前磁臂最近的那個柱訪問者,如果沿臂的移動方向無請求訪問時,就改變臂的移動方向再選擇前述的同一例子來討論采用“電梯調(diào)度”算法的情況,由于磁臂的初始方向有兩個,而該算法是與磁臂的方向有關(guān),所以分成兩種情況來討論:(1)磁臂由里向外移動(2)磁臂由外向里移動電梯調(diào)度算法<50
>3.電梯調(diào)度算法(舉例說明)(1)磁臂由里向外移動開始時,在50號柱面執(zhí)行操作的讀寫磁頭的磁臂方向是由里向外,趨向32號柱面的位置當訪問50號柱面的操作結(jié)束后,沿臂移動方向最近的柱面是32號柱面,所以應(yīng)先為32號柱面的訪問者服務(wù),然后是為15號柱面的訪問者服務(wù)由于在向外移方向已無訪問等待者,故改變磁臂的方向,由外向里依次為各訪問者服務(wù)這種情況下為等待訪問者服務(wù)的次序是61,99,130,148,159,199磁臂由里向外的電梯調(diào)度
電梯調(diào)度算法<51
>3.電梯調(diào)度算法(舉例說明)(2)磁臂由外向里移動開始時,正在50號柱面執(zhí)行操作的讀寫磁頭的磁臂是由外向里(即向柱面號增大的內(nèi)圈方向)趨向61號柱面的位置當訪問50號柱面的操作結(jié)束后,沿臂移動方向最近的柱面是61號柱面,所以應(yīng)先為61號柱面服務(wù),然后按磁臂由外向里移動的方向,依次為99,130,148,159,199柱面的訪問者服務(wù)當201號柱面的操作結(jié)束后,向里移動的方向已經(jīng)無訪問等待者,所以改變磁臂的前進方向,由里向外依次為32、15柱面的訪問者服務(wù)磁臂由外向里的電梯調(diào)度
電梯調(diào)度算法<52
>3.電梯調(diào)度算法“電梯調(diào)度”與“最短尋找時間優(yōu)先”都是要盡量減少磁臂移動時所花的時間區(qū)別:“最短尋找時間優(yōu)先”不考慮磁臂的移動方向,總是選擇離當前讀寫磁頭最近的那個柱面,這種選擇可能導致磁臂來回改變移動方向“電梯調(diào)度”是沿著磁臂的移動方向去選擇離當前讀寫磁頭最近的那個柱面的訪問者,僅當沿磁臂的前進移動方向無訪問等待者時,才改變磁臂的前進方向,由于磁臂改變方向是機械動作,速度相對較慢因此,電梯調(diào)度算法是一種簡單、實用且高效的調(diào)度算法但是,“電梯調(diào)度”算法在實現(xiàn)時,不僅要記住讀寫磁頭的當前位置,還必須記住磁臂的當前前進方向
單向掃描調(diào)度算法<53
>4.單向掃描調(diào)度算法不考慮訪問者等待的先后次序,總是從0號柱面開始向里道掃描按照各自所要訪問的柱面位置的次序去選擇訪問者,在磁臂到達最后一個柱面后,立即快速返回到0號柱面,返回時不為任何的訪問者等待服務(wù)在返回到0號柱面后,再次進行掃描單向掃描調(diào)度算法
移臂調(diào)度及調(diào)度算法<54
>除了“先來先服務(wù)”調(diào)度算法外,其余三種調(diào)度算法都是根據(jù)欲訪問的柱面位置來進行調(diào)度的在調(diào)度過程中可能有新的請求訪問者加入,新的請求訪問者加入時如果讀寫已經(jīng)超過了它們所要訪問的柱面位置則只能在以后的調(diào)度中被選擇執(zhí)行在多道程序設(shè)計系統(tǒng)中,在等待訪問磁盤的多個訪問者請求中,可能要求訪問的柱面號相同但在不同磁道或不同扇區(qū),因此在進行移臂調(diào)度時,在按照某種算法把磁臂定位到某個柱面后,應(yīng)該在等待訪問這個柱面的各個訪問者的輸入輸出操作都完成之后再改變磁臂的位置旋轉(zhuǎn)調(diào)度優(yōu)化<55
>三、旋轉(zhuǎn)調(diào)度優(yōu)化在磁臂定位后有若干個訪問者等待訪問該柱面的情況下,若從減少輸入輸出操作總時間為目標出發(fā),顯然應(yīng)該優(yōu)先選擇延遲時間最短的訪問者去執(zhí)行根據(jù)延遲時間來決定執(zhí)行次序的調(diào)度稱為“旋轉(zhuǎn)調(diào)度”進行旋轉(zhuǎn)調(diào)度時應(yīng)分析下列情況:若干訪問等待者請求訪問同一柱面上的不同扇區(qū)若干訪問等待者請求訪問不同柱面上的不同編號的扇區(qū)若干訪問等待者請求訪問不同柱面上的、具有相同編號的扇區(qū)旋轉(zhuǎn)調(diào)度優(yōu)化<56
>三、旋轉(zhuǎn)調(diào)度優(yōu)化(舉例)有4個訪問第88號柱面的請求訪問者,它們的訪問要求如下圖所示,在圖中得4個訪問的執(zhí)行次序有兩種可能:①、②、④、③,或①、③、④、②,在圖中可以看到,③和②兩個請求都是訪問6號扇區(qū),但是每一時刻只允許一個讀寫磁頭進行操作,所以當6號扇區(qū)旋轉(zhuǎn)到磁頭位置下時,只有其中的一個請求可執(zhí)行,另一個請求必須等磁盤下一次把6號扇區(qū)旋轉(zhuǎn)到讀寫磁頭位置下時才能得到服務(wù)如果按照①、②的執(zhí)行次序,在6號扇區(qū)執(zhí)行結(jié)束之后應(yīng)該訪問8號扇區(qū),即執(zhí)行④的請求,在這一圈執(zhí)行完畢之后的下一圈,再執(zhí)行另一個6號扇區(qū)的訪問,即③的請求,所以整個執(zhí)行次序是①、②、④、③如果在①的請求執(zhí)行之后執(zhí)行③的請求,類似地,后面應(yīng)該去訪問8號扇區(qū),即執(zhí)行④的請求,而在這一圈執(zhí)行完畢之后的下一圈,再執(zhí)行另一個6號扇區(qū)的訪問,即②的請求。所以整個執(zhí)行次序是①、③、④、②旋轉(zhuǎn)調(diào)度示例信息的優(yōu)化分布<57
>四、信息的優(yōu)化分布記錄在磁道上的排列方式也會影響磁盤的輸入輸出操作的時間舉例:假設(shè)某個系統(tǒng)在磁盤初始化時把磁盤的盤面分成8個扇區(qū),今有8個邏輯記錄被存放在同一個磁道上的這8個扇區(qū)中,供處理程序使用,處理程序要求順序處理這8個記錄,從1至8,每次處理程序請求從磁盤上讀出一個邏輯記錄,然后程序?qū)γ總€讀出的記錄花費10毫秒的時間進行運算處理,接著再讀出下一個記錄進行類似的處理,直至這8個記錄都處理結(jié)束,假定磁盤轉(zhuǎn)速為40毫秒/周,8個邏輯記錄依次存放在磁道上,如圖(a)所示磁盤信息的優(yōu)化分布
信息的優(yōu)化分布<58
>四、信息的優(yōu)化分布由磁盤轉(zhuǎn)速可知,讀一個記錄要花5毫秒的時間。當花了5毫秒的時間讀出第1個記錄,并花費10毫秒時間進行處理后,第4個記錄的位置已經(jīng)轉(zhuǎn)到讀寫磁頭下面為了順序處理第2個記錄,必須等待磁盤把第2個記錄旋轉(zhuǎn)到讀寫磁頭位置下面,即要30毫秒的延遲時間于是,處理這8個記錄所要花時間為:8×(5+10)+7×30=330(ms)
如果我們把上述8個邏輯記錄在磁道上的位置重新進行優(yōu)化安排,使得當讀出一個記錄并對之處理完畢之后,讀寫磁頭正好處于需要讀出的下一個記錄位置上,于是可立即讀出該記錄磁盤信息的優(yōu)化分布
信息的優(yōu)化分布<59
>四、信息的優(yōu)化分布在圖中,是對這8個邏輯記錄進行的最優(yōu)分布處理后的示意圖,按圖(b)的安排,程序處理這8個記錄所要花費的時間變?yōu)椋?×(5+10)=120(ms)
這個結(jié)果說明,在對磁盤上信息分布進行優(yōu)化分布之后,整個程序的處理時間從330毫秒降低為120毫秒,可見優(yōu)化分布有利于減少延遲時間,從而縮短了整個輸入輸出操作的時間對于一些能預知處理要求的信息在磁盤上的記錄位置,采用優(yōu)化分布可以提高系統(tǒng)的效率磁盤信息的優(yōu)化分布
背景-3:西門華表緩沖技術(shù)PART7.6緩沖的引入<61
>1.緩沖的引入中斷、DMA和通道控制技術(shù)使得系統(tǒng)中各I/O設(shè)備之間、I/O設(shè)備和CPU之間可以并行工作但I/O設(shè)備和CPU的處理速度不匹配的問題是客觀存在的中斷方式時容易造成數(shù)據(jù)丟失引入緩沖區(qū)的作用:解決I/O設(shè)備與處理機速度不匹配的問題減少中斷次數(shù)緩沖的引入<62
>1.緩沖的引入為了匹配I/O設(shè)備與CPU之間的處理速度,減少外部中斷的次數(shù)和CPU進行中斷處理所花費時間,并且解決DMA或通道方式中可能出現(xiàn)的瓶頸問題,通常都需要在設(shè)備管理中引入用來暫存數(shù)據(jù)的緩沖技術(shù)根據(jù)I/O控制方式的不同,實現(xiàn)緩沖區(qū)的方法有兩種采用專用的硬件設(shè)置數(shù)據(jù)緩沖區(qū)——這種方法常常應(yīng)用在外部設(shè)備的I/O控制器中,在現(xiàn)代的外部設(shè)備中,無論是噴墨打印機、激光打印機還是普通的鍵盤中,都設(shè)有采用專用硬件的數(shù)據(jù)緩沖區(qū)在內(nèi)存劃出一定容量的專用數(shù)據(jù)緩沖區(qū),以便存放輸入/輸出的數(shù)據(jù)——這種設(shè)置在內(nèi)存的緩沖區(qū)又稱為“軟件緩沖”緩沖的種類<63
>2.緩沖的種類根據(jù)系統(tǒng)設(shè)置的緩沖區(qū)的個數(shù),緩沖技術(shù)分為單緩沖、雙緩沖和多緩沖以及緩沖池等幾種單緩沖:在I/O設(shè)備和處理機之間設(shè)置一個緩沖區(qū),但是I/O設(shè)備和I/O設(shè)備之間仍不能通過單緩沖實現(xiàn)并行操作雙緩沖只是一種說明設(shè)備和設(shè)備、CPU和設(shè)備并行操作的簡單模型,并不能用于實際系統(tǒng)現(xiàn)代計算機系統(tǒng)中一般使用多緩沖或緩沖池結(jié)構(gòu)多緩沖是指具有多個緩沖區(qū),其中一部分緩沖區(qū)專門用于輸入,另一部分緩沖區(qū)專門用于輸出的緩沖結(jié)構(gòu)而緩沖池則是把多個緩沖區(qū)連接起來統(tǒng)一管理,在緩沖池中的每個緩沖區(qū)既可用于輸入又可用于輸出的一種緩沖結(jié)構(gòu)緩沖池管理<64
>3.緩沖池管理緩沖池由多個緩沖區(qū)組成,而一個緩沖區(qū)由兩部分組成:一部分是用來標識和管理該緩沖器的緩沖首部,另一部分是用于存放數(shù)據(jù)的緩沖體,系統(tǒng)把各緩沖區(qū)按其使用狀況連成三種隊列:空閑緩沖隊列em,其隊首指針為F(em),隊尾指針為L(em)裝滿輸入數(shù)據(jù)的輸入緩沖隊列in,其隊首指針為F(in),隊尾指針為L(in)裝滿輸出數(shù)據(jù)的輸出緩沖隊列out,其隊首指針為F(out),隊尾指針為L(out)系統(tǒng)(或用戶進程)從這三種隊列中申請和取出緩沖區(qū),并用申請得到的緩沖區(qū)進行存數(shù)、取數(shù)操作,在存數(shù)、取數(shù)操作結(jié)束后,再將緩沖區(qū)放入相應(yīng)的隊列,這些緩沖區(qū)被稱為工作緩沖區(qū),在緩沖池中,有四種工作緩沖區(qū):用于收容設(shè)備輸入數(shù)據(jù)的收容輸入緩沖區(qū)hin用于提取設(shè)備輸入數(shù)據(jù)的提取輸入緩沖區(qū)sin用于收容CPU輸出數(shù)據(jù)的收容輸出緩沖區(qū)hout用于提取CPU輸出數(shù)據(jù)的提取輸出緩沖區(qū)sout緩沖池管理<65
>3.緩沖池管理對緩沖池的管理由如下幾個操作組成:從三種緩沖區(qū)隊列中按一定的選取規(guī)則取出一個緩沖區(qū)的過程take_buf(type)把緩沖區(qū)按一定的選取規(guī)則插入相應(yīng)的緩沖區(qū)隊列的過程add_buf(type,number)供進程申請緩沖區(qū)用的過程get_buf(type,number)供進程將緩沖區(qū)放入相應(yīng)緩沖區(qū)隊列的過程put_buf(type,work_buf)其中,參數(shù)type表示緩沖隊列類型,number為緩沖區(qū)號,而work_buf則表示工作緩沖區(qū)類型緩沖池的工作緩沖區(qū)如圖所示緩沖池管理<66
>3.緩沖池管理使用這幾個操作,緩沖池的工作過程可描述如下:對于輸入進程而言,首先調(diào)用過程get_buf(em,number)從空白緩沖區(qū)隊列中取出一個緩沖號為number的空白緩沖區(qū),將其作為收容輸入緩沖區(qū)hin,當hin中裝滿了由輸入設(shè)備輸入的數(shù)據(jù)之后,系統(tǒng)調(diào)用過程put_buf(in,hin)將該緩沖區(qū)插入輸入緩沖區(qū)隊列in中對于輸出進程而言,先調(diào)用過程get_buf(em,number)從空白緩沖區(qū)隊列中取出一個編號為number的空白緩沖區(qū)作為收容輸出緩沖區(qū)hout,待hout中裝滿輸出數(shù)據(jù)之后,系統(tǒng)再調(diào)用過程put_buf(out,hout)將該緩沖區(qū)插入輸出緩沖區(qū)隊列out緩沖池管理<67
>3.緩沖池管理對緩沖區(qū)的輸入數(shù)據(jù)和輸出數(shù)據(jù)的提取也是由過程get_buf和put_buf實現(xiàn)的get_buf(out,number)從輸出緩沖隊列中提取裝滿輸出數(shù)據(jù)的第number號緩沖區(qū),將其作為sout,當sout中數(shù)據(jù)輸出完畢時,系統(tǒng)調(diào)用過程put_buf(em,sout)將該緩沖區(qū)插入空白緩沖隊列g(shù)et_buf(in,number)則從輸入緩沖隊列中取出裝滿輸入數(shù)據(jù)的第number號緩沖區(qū)作為輸入緩沖區(qū)sin,當CPU從中提取完所需數(shù)據(jù)之后系統(tǒng)調(diào)用過程put_buf(em,sin)將該緩沖區(qū)釋放,并插入空白緩沖隊列em中緩沖池管理<68
>3.緩沖池管理對于各緩沖區(qū)的排列以及每次取出和插入緩沖隊列的順序都應(yīng)有一定的規(guī)則最簡單的方法是FIFO,即先進先出的排列方法,采用FIFO方法也省略了對緩沖隊列的搜索時間背景-3:西門華表虛擬設(shè)備技術(shù)PART7.7虛擬設(shè)備技術(shù)<70
>虛擬設(shè)備技術(shù),又稱為SPOOLing技術(shù),全稱為SimultaneousPeripheralOperationsOn-Line,其含義是同時的外部設(shè)備聯(lián)機操作,也稱假脫機技術(shù)是多道程序設(shè)計系統(tǒng)中處理獨占外部設(shè)備的一種方法可以提高設(shè)備利用率并縮短單個程序的響應(yīng)時間SPOOLing技術(shù)之所以被稱為虛擬設(shè)備技術(shù),是因為它可以使進程在所需的外部設(shè)備不存在或被占用的情況下使用該設(shè)備虛擬設(shè)備技術(shù)的實現(xiàn)原理<71
>一、虛擬設(shè)備的實現(xiàn)原理—SPOOLing系統(tǒng)工作原理SPOOLing系統(tǒng)主要包括輸入程序模塊、輸出程序模塊、作業(yè)調(diào)度程序三部分,其工作原理是:利用SPOOLing系統(tǒng)中的輸入程序模塊,在作業(yè)執(zhí)行前就利用慢速設(shè)備將作業(yè)預先輸入到后援存儲器(如磁盤、磁鼓,此時,這些磁盤、磁鼓稱為輸入井)中去,稱為預輸入,作業(yè)進入內(nèi)存運行后,使用數(shù)據(jù)時,直接從輸入井中取出另外,作業(yè)執(zhí)行時不必直接啟動外部設(shè)備輸出數(shù)據(jù),只需將這些數(shù)據(jù)寫入輸出井(專門用于存放將要輸出信息的磁盤、磁鼓)中去,稱為緩輸出,待作業(yè)全部運行完畢,再由外部設(shè)備輸出全部數(shù)據(jù)和信息按照上述工作方式,就實現(xiàn)了對作業(yè)的輸入、組織調(diào)度和輸出管理的統(tǒng)一進行外部設(shè)備在CPU直接控制下,又與CPU并行工作(故稱為假脫機)SPOOLing系統(tǒng)的組成<72
>二、SPOOLing的組成和實現(xiàn)1.SPOOLing系統(tǒng)的組成(見右圖所示)輸入裝置和輸出裝置為獨占的I/O設(shè)備,通過通道連接到外部設(shè)備,這個外部設(shè)備通常是一個外存儲設(shè)備其中劃分了許多輸入井和輸出井,每一個獨占設(shè)備對應(yīng)一個井(也是一個存儲塊)外存儲設(shè)備通過通道連接到主機系統(tǒng)中,因為磁盤可以作為共享設(shè)備使用,所以所有的獨占設(shè)備被映射到輸入井或輸出井上被當作共享設(shè)備使用其中輸入管理模塊和輸出管理模塊是二個位于主機中的軟件程序,當輸入井或輸出井發(fā)出中斷請求時進行響應(yīng),并服務(wù)相應(yīng)的用戶進程,從而完成輸入輸出任務(wù)SPOOLing系統(tǒng)SPOOLing系統(tǒng)的實現(xiàn)<73
>2.SPOOLing系統(tǒng)的實現(xiàn)—打印機的值班進程SPOOLing系統(tǒng)通常分為輸入SPOOLing和輸出SPOOLing,二者工作原理類似以常見的打印機共享為例,說明輸出SPOOLing的基本原理打印機是一種典型的獨占設(shè)備,引入SPOOLing技術(shù)后,用戶的打印請求傳遞給SPOOLing系統(tǒng),而并不是真正把打印機分配給用戶SPOOLing系統(tǒng)的輸出管理模塊在磁盤上申請一個空閑區(qū),把需要打印的數(shù)據(jù)傳送到里面,再把用戶的打印請求掛到打印隊列上如果打印機空閑,后臺打印程序就會從打印隊列中取出一個請求,再從磁盤上的對應(yīng)輸出井取出數(shù)據(jù),執(zhí)行打印操作由于磁盤是共享的,SPOOLing系統(tǒng)可以隨時響應(yīng)打印請求并把數(shù)據(jù)緩存起來獨占設(shè)備改造成了共享設(shè)備,從而提高了設(shè)備的利用率和系統(tǒng)效率背景-3:西門華表本章小結(jié)PART7.8本章小結(jié)<75
>本章首先總述設(shè)備管理工作的重要性,然后敘述輸入輸出設(shè)備的分類——I/O設(shè)備由物理設(shè)備和電子部件兩部分組成系統(tǒng)對輸入輸出設(shè)備的控制模式有程序查詢方式,程序中斷方式,DMA方式和通道方式查詢方式定時對各種設(shè)備輪流詢問一遍有無處理要求,有要求的則加以處理,在處理完I/O設(shè)備要求之后,處理機返回繼續(xù)工作,查詢占據(jù)了CPU部分處理時間,效率較低為了提高整體效率,支持多道程序和I/O設(shè)備的并行操作,采用了中斷方式控制I/O設(shè)備和內(nèi)存與CPU之間的數(shù)據(jù)傳送,DMA技術(shù)是指數(shù)據(jù)在內(nèi)存與I/O設(shè)備間直接進行成塊傳輸DMA方式與中斷方式的主要區(qū)別:中斷方式是在數(shù)據(jù)緩沖寄存器滿后發(fā)出中斷,而DMA方式則在數(shù)據(jù)塊全部傳送結(jié)束時要求中斷處理,減少了中斷次數(shù)中斷方式的數(shù)據(jù)傳送是在中斷處理時由CPU控制完成的,而DMA方式則是在DMA控制器的控制下,不經(jīng)過CPU控制完成的,DMA技術(shù)提高了I/O效率,減輕了CPU負擔輸入/輸出通道是一個獨立于CPU的、專門管理I/O的處理機,它控制設(shè)備與內(nèi)存直接進行數(shù)據(jù)交換本章小結(jié)<76
>I/O軟件的設(shè)計目標是提供設(shè)備的獨立性以及對設(shè)備的統(tǒng)一命名設(shè)備分配的原則是,充分發(fā)揮設(shè)備的使用效率,但要避免死鎖為了對外部設(shè)備進行管理,系統(tǒng)為每一臺設(shè)備確定一個編號,即設(shè)備的“絕對號”用戶對在程序中定義的、要求使用的若干設(shè)備給出的編號稱為設(shè)備的“相對號”操作系統(tǒng)設(shè)置“設(shè)備類表”和“設(shè)備表”記錄計算機系統(tǒng)所配置的獨占設(shè)備類型、臺數(shù)以及分配情況共享設(shè)備可被多個進程所共享,但在每個I/O傳輸?shù)膯挝粫r間內(nèi)只由一個進程所占有用戶在使用共享型設(shè)備時沒有明顯的設(shè)備申請與設(shè)備釋放活動,在每一個使用命令之前都隱含有一個申請命令,在每一個使用命令之后都隱含有一個釋放命令,在此隱含的申請命令和隱含的釋放命令之間,執(zhí)行了一次I/O傳輸本章小結(jié)<77
>啟動磁盤時,要把磁臂移動到指定的柱面,再等待指定的扇區(qū)旋轉(zhuǎn)到磁頭位置下,然后讓指定的磁頭進行讀寫,完成信息傳送,執(zhí)行一次輸入輸出所花的時間有:尋道時間、延遲時間和傳送時間磁盤驅(qū)動調(diào)度由“移臂調(diào)度”和“旋轉(zhuǎn)調(diào)度”兩部分組成;常用的移臂調(diào)度算法有先來先服務(wù)、最短尋找時間優(yōu)先、電梯調(diào)度和單向掃描算法為了匹配I/O設(shè)備與CPU間的處理速度,減少外部中斷的次數(shù)和CPU中斷處理所花費時間,并解決DMA或通道方式中可能出現(xiàn)的瓶頸,需要使用緩沖技術(shù)實現(xiàn)緩沖區(qū)的方法有兩種,采用專用的硬件設(shè)置數(shù)據(jù)緩沖區(qū)和在內(nèi)存劃出專用數(shù)據(jù)緩沖區(qū)即“軟件緩沖”緩沖區(qū)有單緩沖、雙緩沖和多緩沖以及緩沖池等幾種虛設(shè)備技術(shù),稱為SPOOLing技術(shù),是多道程序設(shè)計系統(tǒng)中處理獨占I/O設(shè)備的一種方法SPOOLing包括輸入程序模塊、輸出程序模塊、作業(yè)調(diào)度程序三部分SPOOLing提高了設(shè)備利用率,縮短了用戶程序執(zhí)行時間,但并不提高CPU利用率背景-3:西門華表思考與練習PART7.9思考與練習<79
>1.設(shè)備管理的目標和功能是什么?2.解釋設(shè)備的絕對號與相對號。3.用戶程序中采用“設(shè)備類、相對號”的方式來使用設(shè)備有什么優(yōu)點?4.為什么提出“設(shè)備的獨立性”的概念?實現(xiàn)設(shè)備獨立性的好處是什么?5.什么是設(shè)備的靜態(tài)分配方式?什么是設(shè)備的動態(tài)分配方式?各有什么特點?6.CPU與外部設(shè)備之間有幾種輸入/輸出控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東臨清2025年初三畢業(yè)班第一次模擬考試化學試題含解析
- 三亞市2025屆四下數(shù)學期末經(jīng)典模擬試題含解析
- 山東省東平縣2024-2025學年中考適應(yīng)性測試(二)語文試題含解析
- 上海立信會計金融學院《數(shù)字視頻基礎(chǔ)》2023-2024學年第一學期期末試卷
- 模電 第25講 非正弦波發(fā)生電路學習資料
- 模電 10-直流電源學習資料
- 上海濟光職業(yè)技術(shù)學院《團體心理輔導與訓練》2023-2024學年第一學期期末試卷
- 武漢商學院《微生物學與免疫學基礎(chǔ)》2023-2024學年第二學期期末試卷
- 工程制圖基礎(chǔ) 04第三章學習資料
- 山東省臨沂沂水縣聯(lián)考2024-2025學年初三復習診斷(二)生物試題含解析
- DBJ33T 1320-2024 建設(shè)工程質(zhì)量檢測技術(shù)管理標準
- 工程施工服務(wù)方案范文
- 《復發(fā)性流產(chǎn)診治專家共識2022》解讀
- 重大疾病證明書樣本
- 遼寧省協(xié)作校2024-2025學年高二化學下學期期中試題
- 2024-2030年中國太空艙酒店行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 埋地塑料排水管道施工
- 勞工及道德體系法律法規(guī)清單
- 寬帶賬號注銷委托書
- 嬰幼兒發(fā)展引導員(三級)理論試題及答案
- 預制梁場建設(shè)施工梁場建設(shè)規(guī)劃
評論
0/150
提交評論