操作系統(tǒng)第5章設(shè)備管理_第1頁(yè)
操作系統(tǒng)第5章設(shè)備管理_第2頁(yè)
操作系統(tǒng)第5章設(shè)備管理_第3頁(yè)
操作系統(tǒng)第5章設(shè)備管理_第4頁(yè)
操作系統(tǒng)第5章設(shè)備管理_第5頁(yè)
已閱讀5頁(yè),還剩117頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

操作系統(tǒng)第5章設(shè)備管理2024/10/14操作系統(tǒng)第5章設(shè)備管理控制計(jì)算機(jī)所有輸入/輸出設(shè)備是操作系統(tǒng)的主要功能之一。在計(jì)算機(jī)系統(tǒng)中,除了CPU和內(nèi)存之外,其他的大部分硬件設(shè)備稱為外部設(shè)備。包括常用的輸入輸出設(shè)備、外存設(shè)備以及終端設(shè)備等。這些設(shè)備種類繁多、特性各異、操作時(shí)的區(qū)別也很大,從而使得操作系統(tǒng)的設(shè)備管理變得十分復(fù)雜,因此,設(shè)備管理是操作系統(tǒng)中最龐雜和瑣碎的部分。操作系統(tǒng)第5章設(shè)備管理第5章設(shè)備管理

5.1概述5.2I/O控制5.3I/O軟件層次5.4緩沖管理5.5設(shè)備分配5.6磁盤(pán)調(diào)度和管理操作系統(tǒng)第5章設(shè)備管理5.1概述

5.1.1設(shè)備分類5.1.2設(shè)備控制器5.1.3設(shè)備通道操作系統(tǒng)第5章設(shè)備管理設(shè)備的種類和數(shù)量越來(lái)越多,結(jié)構(gòu)也越來(lái)越復(fù)雜,為了管理上的方便,通常按不同的觀點(diǎn),從不同的角度對(duì)設(shè)備進(jìn)行分類。1、按照信息交換的單位分類:字符設(shè)備(characterdevice)、塊設(shè)備(blockdevice)2、按照輸入輸出特性分類:輸入輸出設(shè)備、存儲(chǔ)設(shè)備、通信設(shè)備

3、按照所屬關(guān)系分類:系統(tǒng)設(shè)備、用戶設(shè)備操作系統(tǒng)第5章設(shè)備管理4、按照資源分配方式分類:獨(dú)占設(shè)備、共享設(shè)備、虛擬設(shè)備5、按照傳輸速率分類:高速設(shè)備、中速設(shè)備、低速設(shè)備操作系統(tǒng)第5章設(shè)備管理2.設(shè)備與控制器之間的接口設(shè)備通常不直接與cpu相連,而是與設(shè)備控制器相連,三種信號(hào)線。

設(shè)備與控制器間的接口操作系統(tǒng)第5章設(shè)備管理5.1概述

5.1.1設(shè)備分類5.1.2設(shè)備控制器5.1.3設(shè)備通道操作系統(tǒng)第5章設(shè)備管理一般而言,設(shè)備由兩大部分組成:物理設(shè)備和電子部件,為了達(dá)到設(shè)計(jì)的模塊性和通用性,一般將其分開(kāi)。

物理設(shè)備泛指輸入輸出設(shè)備中為執(zhí)行所規(guī)定的操作必須有的物理裝置,包括機(jī)械運(yùn)動(dòng)、光學(xué)變換、物理效應(yīng)以及機(jī)電、光電或光機(jī)結(jié)合的各種有形的設(shè)備。電子部件稱為設(shè)備控制器(DeviceController)或適配器(Adapter),是和計(jì)算機(jī)系統(tǒng)直接聯(lián)系的電子部件,在個(gè)人計(jì)算機(jī)中,它常常是一塊可以插入主板擴(kuò)充槽的印刷電路板。操作系統(tǒng)第5章設(shè)備管理1、設(shè)備控制器的組成操作系統(tǒng)第5章設(shè)備管理2、設(shè)備控制器的功能

⑴接收和識(shí)別CPU或通道發(fā)來(lái)的命令⑵實(shí)現(xiàn)數(shù)據(jù)交換⑶發(fā)現(xiàn)和記錄設(shè)備及自身的狀態(tài)信息⑷設(shè)備地址識(shí)別⑸數(shù)據(jù)緩沖⑹差錯(cuò)控制操作系統(tǒng)第5章設(shè)備管理3、設(shè)備、控制器和軟件之間的關(guān)系操作系統(tǒng)第5章設(shè)備管理5.1概述

5.1.1設(shè)備分類5.1.2設(shè)備控制器5.1.3設(shè)備通道操作系統(tǒng)第5章設(shè)備管理

通道技術(shù)的引入:引入通道技術(shù)后,輸入輸出操作過(guò)程:中央處理機(jī)在執(zhí)行主程序時(shí)遇到輸入輸出請(qǐng)求,則它啟動(dòng)指定通道上的外圍設(shè)備,一旦啟動(dòng)成功,通道開(kāi)始控制外圍設(shè)備進(jìn)行操作。這時(shí)CPU就可執(zhí)行其它任務(wù)并與通道并行工作,直到輸入輸出操作完成。當(dāng)主機(jī)委托的I/O任務(wù)完成后,通道發(fā)出中斷信號(hào),請(qǐng)求CPU處理,CPU停止當(dāng)前工作,轉(zhuǎn)向處理輸入輸出操作結(jié)束事件。操作系統(tǒng)第5章設(shè)備管理1、通道的類型按照信息交換方式和連接設(shè)備種類不同,通道可分為三種類型:⑴字節(jié)多路通道(ByteMultiplexerChannel)⑵數(shù)組選擇通道(BlockedSelectorChannel)⑶數(shù)組多路通道(BlockMultiplexerChannel)操作系統(tǒng)第5章設(shè)備管理操作系統(tǒng)第5章設(shè)備管理操作系統(tǒng)第5章設(shè)備管理數(shù)組多路通道將數(shù)組選擇通道傳輸速度高和字節(jié)多路通道能使各子通道分時(shí)并行操作的優(yōu)點(diǎn)相結(jié)合,形成一種新的通道。它含有多個(gè)非分配型子通道,使得多個(gè)通道程序在同一個(gè)通道系統(tǒng)中并行運(yùn)行,每當(dāng)執(zhí)行完一條通道命令,它就轉(zhuǎn)向另一通道程序。由于它在任一時(shí)刻只能為一臺(tái)設(shè)備作數(shù)據(jù)傳送服務(wù),這類似于選擇通道;但它不等整個(gè)通道程序執(zhí)行結(jié)束就能執(zhí)行另一設(shè)備的通道程序命令,這類似于字節(jié)多路通道。數(shù)組多路通道的實(shí)質(zhì)是:對(duì)通道程序采用多道程序設(shè)計(jì)技術(shù)的硬件實(shí)現(xiàn)。該通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率,因而廣泛地應(yīng)用于連接高速和中速設(shè)備。操作系統(tǒng)第5章設(shè)備管理2、通道與設(shè)備的連接

具有通道裝置的計(jì)算機(jī),主機(jī)、通道、控制器和設(shè)備之間采用四級(jí)連接,實(shí)施三級(jí)控制。操作系統(tǒng)第5章設(shè)備管理操作系統(tǒng)第5章設(shè)備管理3.總線系統(tǒng)

總線型I/O系統(tǒng)結(jié)構(gòu)

操作系統(tǒng)第5章設(shè)備管理1.ISA和EISA總線

1)ISA(IndustryStandardArchitecture)總線這是為了1984年推出的80286型微機(jī)而設(shè)計(jì)的總線結(jié)構(gòu)。其總線的帶寬為8位,最高傳輸速率為2Mb/s。之后不久又推出了16位的(EISA)總線,其最高傳輸速率為8Mb/s,后又升至16Mb/s,能連接12臺(tái)設(shè)備。2)EISA(ExtendedISA)總線

操作系統(tǒng)第5章設(shè)備管理2.局部總線(LocalBus)VESA(VideoElectronicStandardAssociation)總線2)PCI(PeripheralComponentInterface)總線操作系統(tǒng)第5章設(shè)備管理第5章設(shè)備管理

5.1概述

5.2I/O控制5.3I/O軟件層次5.4緩沖管理5.5設(shè)備分配5.6磁盤(pán)調(diào)度和管理操作系統(tǒng)第5章設(shè)備管理輸入輸出控制在計(jì)算機(jī)處理中具有重要的地位,為了有效地實(shí)現(xiàn)物理I/O操作,必須通過(guò)軟、硬件技術(shù),對(duì)CPU和I/O設(shè)備的職能進(jìn)行合理分工,以調(diào)節(jié)系統(tǒng)性能和硬件成本之間的矛盾。隨著計(jì)算機(jī)技術(shù)的發(fā)展,I/O控制方式逐漸由簡(jiǎn)到繁,由低級(jí)到高級(jí),其主要的發(fā)展方向是CPU與外圍系統(tǒng)并行工作。按照I/O控制器功能的強(qiáng)弱,以及和CPU之間聯(lián)系方式的不同,可把I/O設(shè)備控制方式分為四類,它們的主要差別在于CPU和外圍設(shè)備并行工作的方式、并行工作的程度不同。操作系統(tǒng)第5章設(shè)備管理5.2I/O控制5.2.1程序直接控制I/O方式5.2.2中斷驅(qū)動(dòng)方式5.2.3DMA方式5.2.4通道方式操作系統(tǒng)第5章設(shè)備管理

程序直接控制I/O方式(programmedI/O)又稱程序查詢方式,在尚無(wú)中斷的早期計(jì)算機(jī)系統(tǒng)中,輸入輸出完全由CPU控制。在這種方式下,輸入輸出指令或詢問(wèn)指令測(cè)試一臺(tái)設(shè)備的“忙/閑”標(biāo)志位,決定主存儲(chǔ)器和外圍設(shè)備是否交換一個(gè)字節(jié)或一個(gè)字。每傳送一個(gè)字節(jié)或一個(gè)字,CPU都要循環(huán)地執(zhí)行狀態(tài)檢查。操作系統(tǒng)第5章設(shè)備管理操作系統(tǒng)第5章設(shè)備管理5.2I/O控制5.2.1程序直接控制I/O方式5.2.2中斷驅(qū)動(dòng)方式5.2.3DMA方式5.2.4通道方式操作系統(tǒng)第5章設(shè)備管理中斷技術(shù)的引入,是為了消除程序直接控制方式中設(shè)備驅(qū)動(dòng)程序不斷地輪詢控制器狀態(tài)寄存器的開(kāi)銷,進(jìn)一步提高系統(tǒng)并行工作的程度。中斷技術(shù)結(jié)合在硬件中實(shí)現(xiàn)后,外圍設(shè)備有了反映其狀態(tài)的能力,僅當(dāng)I/O操作正?;虍惓=Y(jié)束后,由設(shè)備控制器“自動(dòng)地”通知設(shè)備驅(qū)動(dòng)程序,這時(shí)才中斷CPU,實(shí)現(xiàn)了一定程度的并行操作,這就叫中斷驅(qū)動(dòng)方式(interrupt-drivenI/O)。操作系統(tǒng)第5章設(shè)備管理操作系統(tǒng)第5章設(shè)備管理5.2I/O控制5.2.1程序直接控制I/O方式5.2.2中斷驅(qū)動(dòng)方式5.2.3DMA方式5.2.4通道方式操作系統(tǒng)第5章設(shè)備管理⒈DMA控制方式的引入:雖然程序中斷方式消除了程序查詢方式的“忙式”測(cè)試,提高了CPU的利用率,但是CPU在響應(yīng)中斷請(qǐng)求后,必須停止現(xiàn)行程序轉(zhuǎn)入中斷處理程序并參與數(shù)據(jù)傳輸操作。例如,要從鍵盤(pán)輸入1KB的數(shù)據(jù),就需要中斷1024次CPU。如果I/O設(shè)備能直接與主存交換數(shù)據(jù)而不占用CPU,那么CPU的利用率還可提高,這就出現(xiàn)了直接存儲(chǔ)器存取(DirectMemoryAccess,DMA)方式。DMA方式適用于具有DMA控制器的計(jì)算機(jī)系統(tǒng)。操作系統(tǒng)第5章設(shè)備管理DMA控制器至少需要以下邏輯部件:⑴內(nèi)存地址寄存器⑵字(節(jié))計(jì)數(shù)器⑶數(shù)據(jù)緩沖寄存器或數(shù)據(jù)緩沖區(qū)⑷設(shè)備地址寄存器⑸中斷機(jī)制和控制邏輯操作系統(tǒng)第5章設(shè)備管理⒉DMA控制方式的工作原理

地址計(jì)數(shù)控制CPU控制器磁盤(pán)控制器主存驅(qū)動(dòng)器緩沖區(qū)圖5-10DMA方式總線(1)CPU對(duì)DMA控制器進(jìn)行編程(2)DMA請(qǐng)求傳送到內(nèi)存(3)數(shù)據(jù)傳送(4)應(yīng)答(5)完成后發(fā)中斷信號(hào)操作系統(tǒng)第5章設(shè)備管理DMA方式的特點(diǎn):

⑴數(shù)據(jù)在內(nèi)存和設(shè)備之間直接傳送,傳送過(guò)程中不需要CPU干預(yù)。⑵僅在一個(gè)數(shù)據(jù)塊傳送結(jié)束后,DMA控制器才向CPU發(fā)送中斷請(qǐng)求。⑶數(shù)據(jù)的傳送控制工作完全由DMA控制器完成,速度快,適用于高速設(shè)備的數(shù)據(jù)成組傳送。⑷在數(shù)據(jù)傳送過(guò)程中,CPU與外設(shè)并行工作,提高了系統(tǒng)效率。操作系統(tǒng)第5章設(shè)備管理⒊DMA控制方式的工作模式

許多總線都支持DMA控制器工作的以下兩種模式:⑴字模式也稱周期竊取(cyclestealing):字模式每次請(qǐng)求傳送一個(gè)字,在DMA控制器啟動(dòng)數(shù)據(jù)傳送時(shí),它要占用總線。⑵塊模式也稱突發(fā)模式(burstmode)。在該模式下,DMA控制器占用總線時(shí),命令設(shè)備發(fā)送一連串?dāng)?shù)據(jù)予以傳送,然后釋放總線。操作系統(tǒng)第5章設(shè)備管理5.2I/O控制5.2.1程序直接控制I/O方式5.2.2中斷驅(qū)動(dòng)方式5.2.3DMA方式5.2.4通道方式操作系統(tǒng)第5章設(shè)備管理⒈通道方式的引入

通道方式是DMA方式的發(fā)展,它進(jìn)一步將CPU對(duì)I/O操作及有關(guān)管理和控制的干預(yù)減少到以多個(gè)數(shù)據(jù)塊為單位的干預(yù),通道的出現(xiàn)是現(xiàn)代計(jì)算機(jī)系統(tǒng)功能不斷完善、性能不斷提高的結(jié)果。例如,當(dāng)CPU要完成一組相關(guān)數(shù)據(jù)塊的讀(寫(xiě))操作時(shí),只需要向通道發(fā)出一條I/O指令,給出所要執(zhí)行的通道處理程序的地址和要訪問(wèn)的I/O設(shè)備,通道接到該指令后,通過(guò)執(zhí)行通道處理程序便可完成CPU指定的I/O任務(wù)。操作系統(tǒng)第5章設(shè)備管理2.通道指令

通道處理程序是由一系列通道指令構(gòu)成的。通道指令在進(jìn)程要求數(shù)據(jù)時(shí)自動(dòng)生成。通道指令的格式一般有操作碼、計(jì)數(shù)器、內(nèi)存地址和結(jié)束位構(gòu)成:操作碼:規(guī)定了指令所要執(zhí)行的操作,如讀、寫(xiě)、控制等。計(jì)數(shù)器:表示本條指令要讀(寫(xiě))數(shù)據(jù)的字節(jié)數(shù)。內(nèi)存地址:標(biāo)識(shí)數(shù)據(jù)要送入的內(nèi)存地址或從內(nèi)存何處取出數(shù)據(jù)。通道程序結(jié)束位P:表示通道程序是否結(jié)束,P=1表示本條指令是通道程序的最后一條指令。記錄結(jié)束位R:R=0表示本條通道指令與下一條通道指令所處理的數(shù)據(jù)屬于一個(gè)記錄,R=1表示該指令處理的數(shù)據(jù)是最后一條記錄操作系統(tǒng)第5章設(shè)備管理操作PR計(jì)數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720操作系統(tǒng)第5章設(shè)備管理3.通道方式處理過(guò)程

⑴當(dāng)進(jìn)程要求設(shè)備輸入數(shù)據(jù)時(shí),CPU發(fā)出啟動(dòng)指令,并指明要進(jìn)行的I/O操作、使用設(shè)備的設(shè)備號(hào)和對(duì)應(yīng)的通道。⑵通道接收到CPU發(fā)來(lái)的啟動(dòng)指令后,把存放在內(nèi)存的通道處理程序取出,開(kāi)始執(zhí)行通道指令。⑶執(zhí)行一條通道指令,設(shè)置對(duì)應(yīng)設(shè)備控制器中的控制狀態(tài)寄存器。

操作系統(tǒng)第5章設(shè)備管理⑷設(shè)備根據(jù)通道指令的要求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域,如果本指令不是通道處理程序的最后一條指令,取下一條通道指令,并轉(zhuǎn)⑶繼續(xù)執(zhí)行;否則執(zhí)行⑸。⑸通道處理程序執(zhí)行結(jié)束,通道向CPU發(fā)中斷信號(hào)請(qǐng)求CPU做中斷處理。⑹CPU接到中斷處理信號(hào)后進(jìn)行善后處理,然后返回被中斷進(jìn)程繼續(xù)執(zhí)行。操作系統(tǒng)第5章設(shè)備管理第5章設(shè)備管理5.1概述5.2I/O控制

5.3I/O軟件層次5.4緩沖管理5.5設(shè)備分配5.6磁盤(pán)調(diào)度和管理操作系統(tǒng)第5章設(shè)備管理5.3I/O軟件層次5.3.1I/O軟件的目標(biāo)5.3.2I/O中斷處理程序5.3.3I/O設(shè)備驅(qū)動(dòng)程序5.3.4與設(shè)備無(wú)關(guān)的I/O軟件5.3.5用戶空間的I/O軟件操作系統(tǒng)第5章設(shè)備管理I/O軟件的總體設(shè)計(jì)目標(biāo)是:高效率和通用性。通常,I/O軟件設(shè)計(jì)時(shí)主要考慮以下問(wèn)題:設(shè)備無(wú)關(guān)性(DeviceIrrespective)、統(tǒng)一命名(UniformNaming)、出錯(cuò)處理(ErrorHandling)、同步(Synchronous)、緩沖(Buffering)、獨(dú)占型外圍設(shè)備和共享型外圍設(shè)備。為了合理、高效地解決以上問(wèn)題,操作系統(tǒng)通常把I/O軟件組織成以下四個(gè)層次:⑴I/O中斷處理程序(底層)⑵I/O設(shè)備驅(qū)動(dòng)程序⑶與設(shè)備無(wú)關(guān)的操作系統(tǒng)I/O軟件⑷用戶層I/O軟件操作系統(tǒng)第5章設(shè)備管理5.3I/O軟件層次5.3.1I/O軟件的目標(biāo)5.3.2I/O中斷處理程序5.3.3I/O設(shè)備驅(qū)動(dòng)程序5.3.4與設(shè)備無(wú)關(guān)的I/O軟件5.3.5用戶空間的I/O軟件操作系統(tǒng)第5章設(shè)備管理中斷處理程序是緊挨硬件的最內(nèi)層軟件,是與硬件設(shè)備密切相關(guān)的軟件。所以中斷是應(yīng)該盡量加以屏蔽的概念,放在操作系統(tǒng)的底層進(jìn)行處理,以便其余部分盡可能少地與之發(fā)生聯(lián)系。每個(gè)進(jìn)程在啟動(dòng)一個(gè)I/O操作后將阻塞,然后等待I/O操作的完成。當(dāng)I/O操作完成并產(chǎn)生一個(gè)中斷時(shí),由操作系統(tǒng)接管CPU后轉(zhuǎn)中斷處理程序執(zhí)行,中斷處理程序執(zhí)行相應(yīng)的處理,并解除相應(yīng)進(jìn)程的阻塞狀態(tài)。操作系統(tǒng)第5章設(shè)備管理中斷處理程序的處理過(guò)程:

1.喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程2.保護(hù)被中斷的CPU環(huán)境3.轉(zhuǎn)入相應(yīng)的設(shè)備處理程序4.中斷處理5.恢復(fù)中斷進(jìn)程的現(xiàn)場(chǎng)操作系統(tǒng)第5章設(shè)備管理中斷現(xiàn)場(chǎng)保護(hù)示意圖操作系統(tǒng)第5章設(shè)備管理中斷處理流程操作系統(tǒng)第5章設(shè)備管理5.3I/O軟件層次5.3.1I/O軟件的目標(biāo)5.3.2I/O中斷處理程序5.3.3I/O設(shè)備驅(qū)動(dòng)程序5.3.4與設(shè)備無(wú)關(guān)的I/O軟件5.3.5用戶空間的I/O軟件操作系統(tǒng)第5章設(shè)備管理不同設(shè)備的控制器中寄存器的個(gè)數(shù)以及能夠識(shí)別的命令的性質(zhì)有著本質(zhì)的不同,所以每個(gè)連接到計(jì)算機(jī)上的I/O設(shè)備都需要某些特定的代碼來(lái)對(duì)其控制,這樣的代碼稱為設(shè)備驅(qū)動(dòng)程序(DeviceDriver),它一般由設(shè)備的制造商編寫(xiě)并連同設(shè)備一起交付。因?yàn)槊恳粋€(gè)操作系統(tǒng)都需要自己的設(shè)備驅(qū)動(dòng)程序,所以設(shè)備制造商通常要為不同的操作系統(tǒng)提供驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序中包括了所有與設(shè)備相關(guān)的代碼,是直接與硬件打交道的模塊。操作系統(tǒng)第5章設(shè)備管理⒈設(shè)備驅(qū)動(dòng)程序的功能

設(shè)備驅(qū)動(dòng)程序是控制設(shè)備動(dòng)作的核心模塊,用來(lái)控制設(shè)備上的數(shù)據(jù)傳輸。一般來(lái)說(shuō)應(yīng)該有以下功能:⑴接收來(lái)自上層的與設(shè)備無(wú)關(guān)軟件中的抽象請(qǐng)求,并且監(jiān)督這些請(qǐng)求的執(zhí)行;⑵取出請(qǐng)求隊(duì)列中的隊(duì)首請(qǐng)求,將相應(yīng)設(shè)備分配給它;⑶向設(shè)備控制器發(fā)送命令,啟動(dòng)該設(shè)備工作,完成指定I/O操作;⑷處理來(lái)自設(shè)備的中斷。對(duì)于設(shè)置有通道的計(jì)算機(jī)系統(tǒng),驅(qū)動(dòng)程序還應(yīng)該能夠根據(jù)用戶的I/O請(qǐng)求,自動(dòng)構(gòu)造通道程序。操作系統(tǒng)第5章設(shè)備管理⒉設(shè)備驅(qū)動(dòng)程序在系統(tǒng)中的邏輯定位用戶程序核心I/O子系統(tǒng)打印機(jī)驅(qū)動(dòng)程序掃描儀驅(qū)動(dòng)程序CD-ROM驅(qū)動(dòng)程序打印機(jī)控制器掃描儀控制器CD-ROM控制器用戶進(jìn)程設(shè)備驅(qū)動(dòng)程序接口

用戶空間內(nèi)核空間設(shè)備硬件操作系統(tǒng)內(nèi)核操作系統(tǒng)第5章設(shè)備管理⒊設(shè)備驅(qū)動(dòng)程序的特點(diǎn)

⑴驅(qū)動(dòng)程序的主要作用是實(shí)現(xiàn)請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的通信。⑵驅(qū)動(dòng)程序與設(shè)備的特性密切相關(guān)。⑶驅(qū)動(dòng)程序可以動(dòng)態(tài)地安裝或卸載。⑷驅(qū)動(dòng)程序與I/O控制方式相關(guān)。⑸驅(qū)動(dòng)程序與硬件密切相關(guān)。⑹不允許驅(qū)動(dòng)程序使用系統(tǒng)調(diào)用

操作系統(tǒng)第5章設(shè)備管理⒋設(shè)備驅(qū)動(dòng)程序的框架

⑴設(shè)備驅(qū)動(dòng)程序與外界的接口對(duì)設(shè)備驅(qū)動(dòng)程序與外界的接口需要進(jìn)行嚴(yán)格的定義,主要體現(xiàn)在以下三個(gè)方面:設(shè)備驅(qū)動(dòng)程序與操作系統(tǒng)內(nèi)核的接口;設(shè)備驅(qū)動(dòng)程序與系統(tǒng)引導(dǎo)的接口;設(shè)備驅(qū)動(dòng)程序與設(shè)備的接口。操作系統(tǒng)第5章設(shè)備管理⑵設(shè)備驅(qū)動(dòng)程序的組成設(shè)備驅(qū)動(dòng)程序的注冊(cè)與注銷。設(shè)備的打開(kāi)與釋放。設(shè)備的讀/寫(xiě)操作設(shè)備的控制操作。設(shè)備的中斷或輪詢處理。操作系統(tǒng)第5章設(shè)備管理(3)設(shè)備驅(qū)動(dòng)程序的處理過(guò)程

將抽象要求轉(zhuǎn)換為具體要求2.檢查I/O請(qǐng)求的合法性3.讀出和檢查設(shè)備的狀態(tài)4.傳送必要的參數(shù)5.工作方式的設(shè)置6.啟動(dòng)I/O設(shè)備操作系統(tǒng)第5章設(shè)備管理5.3I/O軟件層次5.3.1I/O軟件的目標(biāo)5.3.2I/O中斷處理程序5.3.3I/O設(shè)備驅(qū)動(dòng)程序5.3.4與設(shè)備無(wú)關(guān)的I/O軟件5.3.5用戶空間的I/O軟件操作系統(tǒng)第5章設(shè)備管理

1.設(shè)備獨(dú)立性(DeviceIndependence)的概念

為了提高OS的可適應(yīng)性和可擴(kuò)展性,在現(xiàn)代OS中都毫無(wú)例外地實(shí)現(xiàn)了設(shè)備獨(dú)立性,也稱為設(shè)備無(wú)關(guān)性。其基本含義是:應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。為了實(shí)現(xiàn)設(shè)備獨(dú)立性而引入了邏輯設(shè)備和物理設(shè)備這兩個(gè)概念。操作系統(tǒng)第5章設(shè)備管理

在實(shí)現(xiàn)了設(shè)備獨(dú)立性的功能后,可帶來(lái)以下兩方面的好處。1)設(shè)備分配時(shí)的靈活性2)易于實(shí)現(xiàn)I/O重定向操作系統(tǒng)第5章設(shè)備管理2.設(shè)備獨(dú)立性軟件

1)執(zhí)行所有設(shè)備的公有操作①對(duì)獨(dú)立設(shè)備的分配與回收;②將邏輯設(shè)備名映射為物理設(shè)備名;③對(duì)設(shè)備進(jìn)行保護(hù);④緩沖管理;⑤差錯(cuò)控制。操作系統(tǒng)第5章設(shè)備管理2)向用戶層(或文件層)軟件提供統(tǒng)一接口

無(wú)論何種設(shè)備,它們向用戶所提供的接口應(yīng)該是相同的。例如,對(duì)各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對(duì)各種設(shè)備的寫(xiě)操作,也都使用write。操作系統(tǒng)第5章設(shè)備管理3.邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)

邏輯設(shè)備表(三項(xiàng))2)LUT的設(shè)置問(wèn)題(兩種) 系統(tǒng)中只有一張LUT 每個(gè)用戶有一張LUT邏輯設(shè)備表邏輯設(shè)備名物理設(shè)備名驅(qū)動(dòng)程序入口地址/dev/tty/dev/printer3510242046………邏輯設(shè)備名/dev/tty/dev/printer…系統(tǒng)設(shè)備表指針35(a)(b)操作系統(tǒng)第5章設(shè)備管理5.3I/O軟件層次5.3.1I/O軟件的目標(biāo)5.3.2I/O中斷處理程序5.3.3I/O設(shè)備驅(qū)動(dòng)程序5.3.4與設(shè)備無(wú)關(guān)的I/O軟件5.3.5用戶空間的I/O軟件操作系統(tǒng)第5章設(shè)備管理盡管大部分I/O軟件在操作系統(tǒng)中,但用戶空間也有一小部分,通常它們以庫(kù)函數(shù)的形式出現(xiàn),甚至是在核心外運(yùn)行的完整程序。例如用戶編寫(xiě)的C程序中可以使用標(biāo)準(zhǔn)I/O庫(kù)函數(shù),經(jīng)編譯以后,用戶程序就和相應(yīng)的庫(kù)函數(shù)鏈接在一起了,然后裝入內(nèi)存運(yùn)行。而庫(kù)函數(shù)代碼中要使用系統(tǒng)調(diào)用(其中包括I/O系統(tǒng)調(diào)用),經(jīng)過(guò)系統(tǒng)調(diào)用進(jìn)入操作系統(tǒng),為用戶提供相應(yīng)的服務(wù)。操作系統(tǒng)第5章設(shè)備管理1.SPOOLing

為了緩和CPU的高速性與I/O設(shè)備低速性間的矛盾而引入了脫機(jī)輸入、脫機(jī)輸出技術(shù)。該技術(shù)是利用專門(mén)的外圍控制機(jī),將低速I(mǎi)/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤(pán)上;或者相反。事實(shí)上,當(dāng)系統(tǒng)中引入了多道程序技術(shù)后,完全可以利用其中的一道程序,來(lái)模擬脫機(jī)輸入時(shí)的外圍控制機(jī)功能,把低速I(mǎi)/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤(pán)上;再用另一道程序來(lái)模擬脫機(jī)輸出時(shí)外圍控制機(jī)的功能,把數(shù)據(jù)從磁盤(pán)傳送到低速輸出設(shè)備上。這樣,便可在主機(jī)的直接控制下,實(shí)現(xiàn)脫機(jī)輸入、輸出功能。此時(shí)的外圍操作與CPU對(duì)數(shù)據(jù)的處理同時(shí)進(jìn)行,我們把這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為SPOOLing(SimultaneausPeriphernalOperatingOn-Line),或稱為假脫機(jī)操作。操作系統(tǒng)第5章設(shè)備管理2.SPOOLing系統(tǒng)的組成

SPOOLing系統(tǒng)的組成操作系統(tǒng)第5章設(shè)備管理3.共享打印機(jī)

共享打印機(jī)技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡(luò)中。當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí),SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事:①由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤(pán)塊區(qū),并將要打印的數(shù)據(jù)送入其中;②輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用戶請(qǐng)求打印表,并將用戶的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上。操作系統(tǒng)第5章設(shè)備管理4.SPOOLing系統(tǒng)的特點(diǎn)

提高了I/O的速度。(2)將獨(dú)占設(shè)備改造為共享設(shè)備。(3)實(shí)現(xiàn)了虛擬設(shè)備功能。操作系統(tǒng)第5章設(shè)備管理應(yīng)用進(jìn)程設(shè)備無(wú)關(guān)中斷處理程序設(shè)備控制器命令狀態(tài)數(shù)據(jù)系統(tǒng)接口硬件接口設(shè)備管理的層次結(jié)構(gòu)文件管理器設(shè)備驅(qū)動(dòng)程序I/O請(qǐng)求I/O應(yīng)答進(jìn)行I/O調(diào)用格式化I/OSPOOLING命名保護(hù)阻塞緩沖分配建立設(shè)備寄存器檢查狀態(tài)控制設(shè)備執(zhí)行I/O操作當(dāng)I/O結(jié)束時(shí),喚醒驅(qū)動(dòng)程序操作系統(tǒng)第5章設(shè)備管理第5章設(shè)備管理5.1概述5.2I/O控制5.3I/O軟件層次

5.4緩沖管理5.5設(shè)備分配5.6磁盤(pán)調(diào)度和管理操作系統(tǒng)第5章設(shè)備管理5.4緩沖管理5.4.1緩沖的引入5.4.2單緩沖5.4.3雙緩沖5.4.4循環(huán)緩沖5.3.5緩沖池操作系統(tǒng)第5章設(shè)備管理在設(shè)備管理中,引入緩沖區(qū)的主要原因:⑴改善CPU與外圍設(shè)備之間速度不匹配的矛盾。⑵減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制。⑶提高CPU和I/O設(shè)備的并行性。緩沖有硬緩沖和軟緩沖之分在操作系統(tǒng)管理下,常常辟出許多專用主存區(qū)域的緩沖區(qū)用來(lái)服務(wù)于各種設(shè)備,支持I/O管理功能。常用的緩沖技術(shù)有:?jiǎn)尉彌_、雙緩沖、循環(huán)緩沖、緩沖池。操作系統(tǒng)第5章設(shè)備管理5.4緩沖管理5.4.1緩沖的引入5.4.2單緩沖5.4.3雙緩沖5.4.4循環(huán)緩沖5.3.5緩沖池操作系統(tǒng)第5章設(shè)備管理操作系統(tǒng)第5章設(shè)備管理5.4緩沖管理5.4.1緩沖的引入5.4.2單緩沖5.4.3雙緩沖5.4.4循環(huán)緩沖5.3.5緩沖池操作系統(tǒng)第5章設(shè)備管理操作系統(tǒng)第5章設(shè)備管理5.4緩沖管理5.4.1緩沖的引入5.4.2單緩沖5.4.3雙緩沖5.4.4循環(huán)緩沖5.3.5緩沖池操作系統(tǒng)第5章設(shè)備管理⒈循環(huán)緩沖的組成包含多個(gè)緩沖區(qū)和多個(gè)指針(Nextg、Nexti、Current)操作系統(tǒng)第5章設(shè)備管理⒉循環(huán)緩沖的使用

⑴Getbuf過(guò)程:當(dāng)計(jì)算進(jìn)程要使用緩沖區(qū)中的數(shù)據(jù)時(shí),調(diào)用Getbuf過(guò)程;當(dāng)輸入進(jìn)程要使用空緩沖區(qū)時(shí),調(diào)用Getbuf過(guò)程。⑵Releasebuf過(guò)程:當(dāng)計(jì)算進(jìn)程把C緩沖區(qū)的數(shù)據(jù)提取完畢時(shí),便調(diào)用Releasebuf過(guò)程釋放C緩沖區(qū);當(dāng)輸入進(jìn)程把緩沖區(qū)裝滿時(shí),也調(diào)用Releasebuf過(guò)程釋放R緩沖區(qū)。操作系統(tǒng)第5章設(shè)備管理⒊進(jìn)程同步

使用輸入循環(huán)緩沖,可使輸入進(jìn)程和計(jì)算進(jìn)程并行執(zhí)行。相應(yīng)地,指針Nexti和指針Nextg將不斷地沿著順時(shí)針?lè)较蛞苿?dòng),這樣就可能出現(xiàn)下面兩種情況:⑴指針Nexti追趕上指針Nextg:無(wú)緩沖區(qū)可用。⑵指針Nextg追趕上指針Nexti:無(wú)裝滿數(shù)據(jù)的緩沖區(qū)可供計(jì)算進(jìn)程提取數(shù)據(jù)。操作系統(tǒng)第5章設(shè)備管理5.4緩沖管理5.4.1緩沖的引入5.4.2單緩沖5.4.3雙緩沖5.4.4循環(huán)緩沖5.3.5緩沖池操作系統(tǒng)第5章設(shè)備管理⒈緩沖池的組成

⑴公用緩沖池:至少包含空閑緩沖區(qū)、裝滿輸入數(shù)據(jù)的緩沖區(qū)和裝滿輸出數(shù)據(jù)的緩沖區(qū)。

⑵三個(gè)隊(duì)列:空緩沖區(qū)隊(duì)列emq、輸入緩沖區(qū)隊(duì)列inq、輸出緩沖區(qū)隊(duì)列outq。

⑶四種工作緩沖區(qū):用于收容輸入數(shù)據(jù)的工作緩沖區(qū)、用于提取輸入數(shù)據(jù)的工作緩沖區(qū)、用于收容輸出數(shù)據(jù)的工作緩沖區(qū)、用于提取輸出數(shù)據(jù)的工作緩沖區(qū)。

操作系統(tǒng)第5章設(shè)備管理⒉Getbuf過(guò)程和Putbuf過(guò)程

ProcedureGetbuf(type){Wait(RS(type));Wait(MS(type));B(number):=Takebuf(type);signal(MS(type));}操作系統(tǒng)第5章設(shè)備管理ProcedurePutbuf(type,number){Wait(MS(type));Addbuf(type,number);signal(MS(type));signal(RS(type)); }操作系統(tǒng)第5章設(shè)備管理⒊緩沖區(qū)的工作方式操作系統(tǒng)第5章設(shè)備管理第5章設(shè)備管理5.1概述5.2I/O控制5.3I/O軟件層次5.4緩沖管理

5.5設(shè)備分配5.6磁盤(pán)調(diào)度和管理操作系統(tǒng)第5章設(shè)備管理

在計(jì)算機(jī)系統(tǒng)中,設(shè)備、控制器和通道等資源是有限的,并不是每個(gè)進(jìn)程隨時(shí)都可以得到這些資源。在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所有進(jìn)程使用,為防止諸進(jìn)程對(duì)系統(tǒng)資源的無(wú)序使用,系統(tǒng)規(guī)定設(shè)備由系統(tǒng)統(tǒng)一分配,以提高設(shè)備利用率并避免死鎖。每當(dāng)進(jìn)程向系統(tǒng)提出I/O請(qǐng)求時(shí),只要是可能的和安全的,設(shè)備分配程序便把設(shè)備分配給它,必要時(shí)還可能要分配控制器和通道,分配的順序是:分配設(shè)備、分配控制器、分配通道。操作系統(tǒng)第5章設(shè)備管理5.5設(shè)備分配5.5.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.5.2設(shè)備獨(dú)立性5.5.3設(shè)備分配技術(shù)操作系統(tǒng)第5章設(shè)備管理1.設(shè)備控制表DCT設(shè)備控制表操作系統(tǒng)第5章設(shè)備管理2.控制器控制表、通道控制表和系統(tǒng)設(shè)備表COCT、CHCT和SDT表操作系統(tǒng)第5章設(shè)備管理5.5設(shè)備分配5.5.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.5.2設(shè)備分配考慮的因素5.5.3設(shè)備分配技術(shù)操作系統(tǒng)第5章設(shè)備管理1.設(shè)備的固有屬性

獨(dú)享設(shè)備。(獨(dú)占設(shè)備,設(shè)備不能充分利用)

(2)共享設(shè)備。(考慮先后次序)

(3)虛擬設(shè)備。(考慮先后次序)操作系統(tǒng)第5章設(shè)備管理2.設(shè)備分配算法

先來(lái)先服務(wù)。(2)優(yōu)先級(jí)高者優(yōu)先。

操作系統(tǒng)第5章設(shè)備管理3.設(shè)備分配中的安全性

安全分配方式不安全分配方式

操作系統(tǒng)第5章設(shè)備管理5.5設(shè)備分配5.5.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.5.2設(shè)備獨(dú)立性5.5.3設(shè)備分配技術(shù)操作系統(tǒng)第5章設(shè)備管理⒈設(shè)備分配方式

⑴獨(dú)占方式可以采用靜態(tài)分配和動(dòng)態(tài)分配兩種方式。

⑵共享方式

⑶虛擬方式實(shí)現(xiàn)虛擬分配的技術(shù)是SPOOLing技術(shù)。操作系統(tǒng)第5章設(shè)備管理2.設(shè)備分配算法設(shè)備分配算法就是按照某種原則把設(shè)備分配給進(jìn)程。⑴先請(qǐng)求先服務(wù)⑵優(yōu)先級(jí)高者優(yōu)先服務(wù)3.設(shè)備分配中的安全性從進(jìn)程運(yùn)行的安全性上考慮,設(shè)備分配有以下兩種方式:⑴安全分配方式⑵不安全分配方式操作系統(tǒng)第5章設(shè)備管理4.設(shè)備分配程序

對(duì)于具有I/O通道的多通路系統(tǒng),在進(jìn)程提出I/O請(qǐng)求后,系統(tǒng)按以下步驟進(jìn)行設(shè)備分配:

⑴分配設(shè)備:查找邏輯設(shè)備表LUT

SDT

DCT

⑵分配控制器:DCT

COCT

⑶分配通道:COCT

CHCT,逐次查找CHCT中的標(biāo)記,若找到一個(gè)空閑通道則將該通道分配給請(qǐng)求進(jìn)程。否則將請(qǐng)求I/O的進(jìn)程阻塞在等待該通道的等待隊(duì)列上。

只有在設(shè)備、控制器和通道三者都分配成功時(shí),本次分配才算成功。然后就可以啟動(dòng)設(shè)備進(jìn)行數(shù)據(jù)傳送。

操作系統(tǒng)第5章設(shè)備管理第5章設(shè)備管理5.1概述5.2I/O控制5.3I/O軟件層次5.4緩沖管理5.5設(shè)備分配

5.6磁盤(pán)調(diào)度和管理操作系統(tǒng)第5章設(shè)備管理5.6磁盤(pán)調(diào)度和管理5.6.1磁盤(pán)的物理性能5.6.2磁盤(pán)調(diào)度算法5.6.3磁盤(pán)調(diào)度算法的比較5.6.4磁盤(pán)的錯(cuò)誤處理5.6.5獨(dú)立磁盤(pán)冗余陣列

操作系統(tǒng)第5章設(shè)備管理磁盤(pán)磁盤(pán)是一種直接存取存儲(chǔ)設(shè)備,又叫隨機(jī)存取存儲(chǔ)設(shè)備。從不同的角度進(jìn)行分類,可將磁盤(pán)分成硬盤(pán)和軟盤(pán);單片盤(pán)和多片盤(pán);固定磁頭和活動(dòng)磁頭等。磁盤(pán)讀與寫(xiě)的速度相同,為了提高可靠性,可將若干磁盤(pán)組成陣列。操作系統(tǒng)第5章設(shè)備管理磁盤(pán)的物理結(jié)構(gòu)操作系統(tǒng)第5章設(shè)備管理1.數(shù)據(jù)的組織和格式

磁盤(pán)的格式化操作系統(tǒng)第5章設(shè)備管理2.磁盤(pán)的類型

1)固定頭磁盤(pán)2)移動(dòng)頭磁盤(pán)

操作系統(tǒng)第5章設(shè)備管理3.磁盤(pán)訪問(wèn)時(shí)間Ta⑴尋道時(shí)間Ts:?jiǎn)?dòng)磁臂的時(shí)間s與磁頭移動(dòng)n條磁道所花費(fèi)的時(shí)間之和。⑵旋轉(zhuǎn)延遲時(shí)間Tτ:等待所需扇區(qū)旋轉(zhuǎn)到讀寫(xiě)頭下的時(shí)間。⑶傳輸時(shí)間信息Tt:信息在磁盤(pán)和內(nèi)存之間傳輸?shù)臅r(shí)間。R為磁盤(pán)的轉(zhuǎn)速,N為一條磁道上的字節(jié)數(shù),b是每次讀寫(xiě)的字節(jié)數(shù)。操作系統(tǒng)第5章設(shè)備管理4.影響存取訪問(wèn)速度的幾個(gè)因素⑴循環(huán)排序例:考慮磁道保存4個(gè)記錄的旋轉(zhuǎn)型設(shè)備,假定收到四個(gè)I/O請(qǐng)求。請(qǐng)求次序記錄號(hào)(1)讀記錄4(2)讀記錄3(3)讀記錄2(4)讀記錄1操作系統(tǒng)第5章設(shè)備管理⑵優(yōu)化分布

例:信息在存儲(chǔ)空間的排列方式會(huì)影響存取等待時(shí)間。考慮10個(gè)邏輯記錄A,B……,J被存于旋轉(zhuǎn)型設(shè)備上,每道存放10個(gè)記錄,安排如下:物理塊邏輯紀(jì)錄1-10A-J處理10個(gè)記錄的總時(shí)間(旋轉(zhuǎn)速度20ms):214毫秒

操作系統(tǒng)第5章設(shè)備管理

⑶交替地址

每個(gè)記錄重復(fù)記錄在設(shè)備的多個(gè)區(qū)域,讀相同的數(shù)據(jù),有幾個(gè)交替地址,也稱為多重副本或折迭。成功與否取決于下列因素:數(shù)據(jù)記錄總是讀出使用,不需修改寫(xiě)入;數(shù)據(jù)記錄占用的存儲(chǔ)空間總量不太大;數(shù)據(jù)使用極為頻繁。操作系統(tǒng)第5章設(shè)備管理⑷搜查定位

對(duì)于移動(dòng)臂磁盤(pán)設(shè)備,除了旋轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論