操作系統(tǒng)講義-第五章_第1頁
操作系統(tǒng)講義-第五章_第2頁
操作系統(tǒng)講義-第五章_第3頁
操作系統(tǒng)講義-第五章_第4頁
操作系統(tǒng)講義-第五章_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第五章設備管理2023年2月6日1操作系統(tǒng)講義主要內容

5.1I/O系統(tǒng)

5.2I/O控制方式

5.3緩沖管理

5.4I/O軟件

5.5設備分配5.6磁盤存儲器的管理2023年2月6日2第五章設備管理設備管理概述在計算機系統(tǒng)中,除了需要一個或多個處理機,一個或多個存儲器模塊外,還需要用于實現(xiàn)信息輸入、輸出和存儲的設備。設備管理程序便是用于對這類設備進行控制和管理的一組程序。由于I/O設備不僅種類繁多,而且它們的特性和操作方式,往往相差甚大,所以使得設備管理成為操作系統(tǒng)中最繁雜且與硬件緊密相關的部分。主要對象:I/O設備,以及設備控制器和通道。

2023年2月6日3第五章設備管理設備管理概述緩沖管理設備分配設備處理虛擬設備實現(xiàn)設備獨立性設備管理的主要功能包括:設備管理的主要任務:完成用戶提出的I/O請求,提高I/O

速率以及提高I/O設備的利用率。

2023年2月6日4第五章設備管理5.1I/O系統(tǒng)

I/O系統(tǒng)是用于實現(xiàn)數(shù)據(jù)輸入、輸出及數(shù)據(jù)存儲的系統(tǒng)。1.I/O設備按設備的使用特性可以分成:存儲設備,如外存;輸入/輸出設備,如鍵盤、鼠標、掃描儀和打印機等等。按傳輸速率可以分成:低速設備:每秒幾個字節(jié)到數(shù)百個字節(jié),如鍵盤、鼠標等;中速設備:每秒數(shù)千個字節(jié)到數(shù)十萬個字節(jié),如打印機;高速設備,每秒數(shù)十萬字節(jié)到千兆字節(jié),如磁帶機、磁盤機等。2023年2月6日5第五章設備管理5.1I/O系統(tǒng)1.I/O設備按信息交換的單位可以分成:塊設備,如磁盤;字符設備,如打印機。按設備的共享屬性可以分成:獨占設備:一段時間只允許一個用戶訪問,如打印機;共享設備:一段時間內允許多個進程同時訪問,如磁盤;虛擬設備:將一臺獨占設備變成若干臺邏輯設備,如虛擬內存。2023年2月6日6第五章設備管理5.1I/O系統(tǒng)1.I/O設備設備與控制器的接口:設備不直接與CPU進行通信,而是與設備控制器通信,有三種類型的信號:數(shù)據(jù)信號線:用于在設備和設備控制器之間傳送數(shù)據(jù)信號;控制信號線:作為由設備控制器向I/O設備發(fā)送控制信號時的通路;狀態(tài)信號線:用于傳送指示設備當前狀態(tài)的信號。I/O設備緩沖轉換器控制邏輯信號數(shù)據(jù)至設備控制器數(shù)據(jù)信號線狀態(tài)信號線控制信號線2023年2月6日7第五章設備管理5.1I/O系統(tǒng)2.設備控制器設備控制器的基本功能接收和識別命令:CPU可以向控制器發(fā)送不同的命令,設備控制器負責接收并識別這些命令;數(shù)據(jù)交換:實現(xiàn)CPU與控制器間、控制器與設備間的數(shù)據(jù)交換;標識和報告設備狀態(tài):控制器應記下設備的狀態(tài)供CPU了解;地址識別:系統(tǒng)中的每個設備也有一個地址,設備控制器必須能夠識別它所控制的每個設備的地址;數(shù)據(jù)緩沖:I/O設備的速率較低而CPU和內存的速率很高,所以控制器中必須設置緩沖器,輸出時,緩沖器暫存由主機高速傳來的數(shù)據(jù),然后以I/O設備具有的速率將緩沖器中的數(shù)據(jù)傳送給I/O設備,輸入時相反;差錯控制:對由I/O設備傳送來的數(shù)據(jù)進行差錯檢測,若發(fā)現(xiàn)傳送中出現(xiàn)了錯誤,通常還要向CPU報告,CPU將本次傳送來的數(shù)據(jù)作廢,重新進行傳送。主要職責是控制I/O設備,以實現(xiàn)I/O設備和計算機之間的數(shù)據(jù)交換。2023年2月6日8第五章設備管理5.1I/O系統(tǒng)2.設備控制器設備控制器的組成設備控制器與處理機的接口:實現(xiàn)CPU與設備控制器之間的通信;設備控制器與設備的接口:控制器中有一個或者多個設備接口,每個接口連接一個設備;I/O邏輯:用于實現(xiàn)對設備的控制。CPU與控制器接口數(shù)據(jù)寄存器控制/狀態(tài)寄存器數(shù)據(jù)狀態(tài)控制數(shù)據(jù)線地址線控制線I/O邏輯控制器與設備接口1控制器與設備接口i……數(shù)據(jù)狀態(tài)控制控制器與設備接口2023年2月6日9第五章設備管理5.1I/O系統(tǒng)3.I/O通道I/O通道設備的引入設備控制器能大大減少CPU對I/O的干預,但是當主機配置的外設很多時,CPU的負擔仍然很重,所以在CPU和設備控制器之間設置通道,其目的是為了建立獨立的I/O操作,不僅使數(shù)據(jù)的傳送能獨立于CPU,而且能對I/O操作的組織、管理和結束處理盡量獨立,使得CPU有更多的時間去進行數(shù)據(jù)處理。2023年2月6日10第五章設備管理5.1I/O系統(tǒng)3.I/O通道通道的類型字節(jié)多路通道:按字節(jié)交叉方式工作的通道,其數(shù)量在幾十到數(shù)百個,每個子通道連接一臺I/O設備,并控制該設備的I/O操作;數(shù)組選擇通道:字節(jié)多路通道不適于連接高速設備,這推動了按數(shù)組方式進行數(shù)據(jù)傳送的數(shù)組選擇通道,這種通道可以連接多臺高速設備,但是它只含有一個分配型子通道,一段時間只能控制一臺設備,所以通道利用率仍然很低;數(shù)組多路通道:將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道分時并行操作的優(yōu)點結合形成,既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。2023年2月6日11第五章設備管理5.1I/O系統(tǒng)3.I/O通道瓶頸問題

存儲器通道1通道2控制器1控制器2控制器3控制器4設備1設備2設備3設備4設備5設備6設備7存儲器通道1通道2控制器1控制器2I/O設備I/O設備I/O設備I/O設備2023年2月6日12第五章設備管理5.1I/O系統(tǒng)4.總線系統(tǒng)ISA和EISA總線ISA總線:1984年推出的80286型微機的總線結構,帶寬8位,最高傳輸速率2Mb/s。EISA總線:20世紀80年代末推出,帶寬32位,傳輸速率32Mb/s,可連接12臺外部設備。局部總線(LocalBus)VESA總線;低價位占領市場,帶寬32位,最高傳輸速率132Mb/s,廣泛應用于486微機;缺點:只能連接2-4臺設備,無緩沖;PCI總線:支持Pentium系列芯片,1992和1995分別提出PCI總線的V1.0和V2.1規(guī)范,后者支持64位系統(tǒng),有數(shù)據(jù)緩沖,能連接10種外設,最大傳輸速率132Mb/s。CPU磁盤控制器存儲器打印機控制器其它控制器…磁盤控制器打印機系統(tǒng)總線2023年2月6日13第五章設備管理5.2

I/O控制方式用于早期的計算機系統(tǒng),無中斷機構,處理機對設備的控制采取忙-等待方式,由于CPU的高速性和I/O設備的低速性,致使CPU的絕大部分時間都處于等待I/O設備完成數(shù)據(jù)I/O的循環(huán)測試中,造成對CPU的極大浪費,造成這種浪費的原因就是CPU無中斷機構。1.程序I/O方式在現(xiàn)代計算機系統(tǒng)中,毫無例外地引入了中斷機構,當某進程要啟動某個I/O設備時,便由CPU向相應的設備控制器發(fā)出一條I/O命令,然后立即返回執(zhí)行原來的任務,此時設備控制器按照該命令的要求去控制指定的I/O設備,CPU和I/O設備并行地工作。在I/O設備輸入每個數(shù)據(jù)的過程中,由于無需CPU干預,因而可使CPU與I/O設備并行工作,僅當輸完一個數(shù)據(jù)時,才需要CPU花費極短的時間去做些中斷處理,所以這種方式可以使CPU和I/O設備同時處于忙碌狀態(tài),從而提高了整個系統(tǒng)的資源利用率和吞吐量。2.中斷驅動I/O方式2023年2月6日14第五章設備管理5.2

I/O控制方式程序I/O方式中斷驅動I/O方式向I/O控制器發(fā)讀指令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲器中寫字檢查狀態(tài)?傳送完成?下一條指令完成CPU->內存I/O->CPU出錯I/O->CPUCPU->I/O就緒未就緒未完向I/O控制器發(fā)讀指令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲器中寫字檢查狀態(tài)?傳送完成?下一條指令完成CPU->內存I/O->CPU出錯I/O->CPUCPU->I/O就緒未完CPU做其它事中斷2023年2月6日15第五章設備管理5.2I/O控制方式DMA方式(DirectMemoryAccess)的引入針對中斷驅動I/O方式以字(節(jié))為單位進行I/O的,每當完成一個字(節(jié))的I/O時,控制器就要向CPU請求一次中斷,這種方式應用于塊設備是極其低效的。

3.直接存儲器訪問(DMA)I/O控制方式DMA方式的特點數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊;所傳送的數(shù)據(jù)是從設備直接送入內存的,或者相反;僅在傳送一個或多個數(shù)據(jù)塊的開始和結束時,才需CPU干預,整塊數(shù)據(jù)的傳送是在控制器的控制下完成的。DMA方式的優(yōu)點較之中斷驅動方式,成百倍地減少了CPU對I/O的干預,進一步提高了CPU和I/O設備的并行操作度。向I/O控制器發(fā)布讀塊命令下一條指令讀DMA控制器的狀態(tài)DMA->CPUCPU->DMACPU做其它事中斷2023年2月6日16第五章設備管理5.2I/O控制方式DMA控制器的組成主機與DMA控制器的接口DMA控制器與塊設備的接口I/O控制邏輯

3.直接存儲器訪問DMA方式DMA控制器設置如下四類寄存器:

命令/狀態(tài)寄存器CR

內存地址寄存器MAR

數(shù)據(jù)寄存器DR

數(shù)據(jù)計數(shù)器DC系統(tǒng)總線CPU內存主機-控制器接口命令DRMARDCCRI/O控制邏輯…控制器-塊設備接口countDMA控制器2023年2月6日17第五章設備管理5.2I/O控制方式DMA的工作過程當CPU從磁盤讀入一個數(shù)據(jù)塊時,便向磁盤控制器發(fā)送讀指令,該命令被送到其中的命令寄存器,同時,還須發(fā)送本次要將數(shù)據(jù)讀入的內存起始地址,將地址讀入內存地址寄存器MAR中,本次要讀數(shù)據(jù)的字節(jié)數(shù)讀入數(shù)據(jù)計數(shù)器DC,將磁盤中的源地址送到DMA控制器的I/O控制邏輯上,啟動DMA控制器進行數(shù)據(jù)傳送,CPU可以去處理其他任務。

3.直接存儲器訪問DMA方式設置MAR和DC初值啟動DMA傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增1字計數(shù)寄存器減1DC=0?請求中斷否是在繼續(xù)執(zhí)行用戶程序的同時,準備下一次傳送2023年2月6日18第五章設備管理5.2I/O控制方式I/O通道控制方式的引入

DMA方式相比中斷方式顯著減少了CPU的干預,并且以數(shù)據(jù)塊為傳送單位,但CPU每發(fā)出一條I/O指令,也只能讀/寫一個連續(xù)的數(shù)據(jù)塊,如果需要一次去讀多個數(shù)據(jù)塊,并且分別傳送到不同的內存區(qū),必須由CPU分別發(fā)出多條I/O指令,并且進行多次中斷處理才能完成。為此,引入通道方式,可以進一步減少CPU的干預,可以實現(xiàn)CPU、通道和I/O設備的并行操作,從而更有效地提高整個系統(tǒng)的資源利用率。

4.I/O通道控制方式2023年2月6日19第五章設備管理5.2I/O控制方式

4.I/O通道控制方式通道程序通道通過執(zhí)行通道程序,并與設備控制器共同實現(xiàn)對I/O設備的控制。通道程序是由一系列通道指令(通道命令)所構成,通道指令包含以下信息:操作碼:規(guī)定了指令所執(zhí)行的操作,如讀、寫、控制等等;內存地址:標明字符送入內存(讀操作)和從內存取出(寫操作)時的內存首址;計數(shù):表示本條指令所要讀(或寫)數(shù)據(jù)的字節(jié)數(shù);通道程序結束位P:表示通道程序是否結束,P=1表示本條指令是通道程序的最后一條指令;記錄結束標志R:R=0表示本通道指令與下一條指令所處理的數(shù)據(jù)是同屬于一條記錄。2023年2月6日20第五章設備管理5.3

緩沖管理

1.緩沖的引入緩和CPU與I/O設備間速度不匹配的矛盾凡是數(shù)據(jù)到達速率與其離去速率不同的地方,都可以設置緩沖區(qū)。減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制提高CPU和I/O設備之間的并行性緩沖的引入可顯著地提高CPU和I/O設備間的并行操作度,提高系統(tǒng)的吞吐量和設備的利用率。9.6kb/s1位緩沖(a)(a)9.6kb/s送內存(b)8位緩沖寄存器9.6kb/s送內存(c)8位緩沖寄存器2023年2月6日21第五章設備管理5.3

緩沖管理

2.單緩沖和雙緩沖單緩沖凡是數(shù)據(jù)到達速率與其離去速率不同的地方,都可以設置緩沖區(qū)。雙緩沖設備輸入時,先將數(shù)據(jù)送入第一個緩沖區(qū),裝滿后再轉向第二個緩沖區(qū),此時操作系統(tǒng)可以從第一個緩沖區(qū)移出數(shù)據(jù),送入用戶進程,接著由CPU對數(shù)據(jù)進行計算。工作區(qū)用戶進程緩沖區(qū)1操作系統(tǒng)緩沖區(qū)2I/O設備工作區(qū)用戶進程緩沖區(qū)I/O設備輸入(T)傳送(M)處理(C)2023年2月6日22第五章設備管理5.3

緩沖管理

3.循環(huán)緩沖循環(huán)緩沖的組成(1)多個緩沖區(qū):用于裝輸入數(shù)據(jù)的空緩沖區(qū)R,已裝滿數(shù)據(jù)的緩沖區(qū)G以及計算進程正在使用的現(xiàn)行工作緩沖區(qū)C。(2)多個指針:用于指示計算進程下一個可用緩沖區(qū)的指針Nextg,指示輸入進程下次可用的空緩沖區(qū)R的指針Nexti,以及用于指示計算進程正在使用的緩沖區(qū)C的指針Current。循環(huán)緩沖的使用(1)Getbuf過程:將指針Nextg所指示的緩沖區(qū)給進程,把它改為現(xiàn)行工作緩沖區(qū),Nextg移向下一個G緩沖區(qū);(2)Releasebuf過程:計算進程把C緩沖區(qū)中的數(shù)據(jù)提取完畢時,調用Releasebuf釋放緩沖區(qū),將當前工作緩沖區(qū)C改為空緩沖區(qū)。進程同步(1)Nexti指針追上Nextg:輸入進程輸入數(shù)據(jù)速度大于計算進程處理數(shù)據(jù)速度,緩沖區(qū)已裝滿,輸入進程應阻塞,直到計算進程把某個緩沖區(qū)數(shù)據(jù)全部提取完;(2)Nextg指針追趕上Nexti指針:意味著輸入進程的速度低于計算進程處理數(shù)據(jù)的速度,緩沖區(qū)都被抽空,計算進程應阻塞,直至輸入進程又裝滿某個緩沖區(qū)。2023年2月6日23第五章設備管理5.3

緩沖管理

4.緩沖池緩沖池的組成緩沖池包括三種類型的緩沖區(qū):空緩沖區(qū)、裝滿輸入數(shù)據(jù)的緩沖區(qū)以及裝滿輸出數(shù)據(jù)的緩沖區(qū);三個隊列:空緩沖隊列emq,輸入隊列inq,輸出隊列outg;四個工作緩沖區(qū):用于收容輸入數(shù)據(jù)的工作緩沖區(qū)hin,用于提取輸入數(shù)據(jù)的工作緩沖區(qū)sin,用于收容輸出數(shù)據(jù)的工作緩沖區(qū)hout,用于提取輸出數(shù)據(jù)的工作緩沖區(qū)sout。Getbuf過程和Putbuf過程

ProcedureGetbuf(type)beginWait(RS(type));Wait(MS(type));B(number)=Takebuf(type);Signal(MS(type));end

ProcedurePutbuf(type,number)beginWait(MS(type));

Addbuf(type,number);Signal(MS(type));Signal(RS(type));end2023年2月6日24第五章設備管理5.3

緩沖管理

4.緩沖池緩沖區(qū)的工作方式(1)收容輸入:當輸入進程需要輸入數(shù)據(jù)時,調用Getbuf(emq)過程,把空緩沖隊列emq的隊首摘下一空緩沖區(qū),作為收容輸入的工作緩沖區(qū)hin,裝滿后調用Putbuf(inq,hin),將緩沖區(qū)掛在輸入隊列inq上;(2)提取輸入:計算進程需要輸入數(shù)據(jù)時,調用Getbuf(inq)過程,從輸入隊列inq隊首取得一個緩沖區(qū),作為提取輸入的緩沖區(qū);(3)收容輸出:計算進程需要輸出數(shù)據(jù)時,調用Getbuf(emq)過程從空緩沖區(qū)emq的隊首取得空緩沖區(qū);(4)提取輸出:由輸出進程調用Getbuf(outq)過程,從輸出隊列隊首取得一裝滿輸出數(shù)據(jù)的緩沖區(qū),作為提取輸出工作緩沖區(qū)sout。用戶程序收容輸入緩沖池hinsoutsinhout提取輸出收容輸出收容輸出提取輸入2023年2月6日25第五章設備管理5.4

I/O軟件

1.I/O軟件的設計目標和原則與具體設備無關

I/O軟件應該屏蔽設備的具體細節(jié),其功能不受具體I/O設備的影響。緩沖技術

I/O軟件應能屏蔽塊設備與字符設備的緩沖差異??傮w設計目標是高效率和通用性,前者是確保I/O設備與CPU的并發(fā)性,以提高資源的利用率;后者是指盡可能地提供簡單抽象、清晰而統(tǒng)一的接口,采用標準的方法,來管理所有設備以及所需的I/O操作。統(tǒng)一命名對各類設備采取預先設計的、統(tǒng)一的邏輯名稱進行命名,所有軟件都以邏輯名稱訪問設備。對錯誤的處理對于錯誤的處理,盡量在接近硬件的層面處理。設備的分配和釋放

I/O軟件必須能夠同時妥善解決獨占設備和共享設備帶來的問題。I/O控制方式針對不同傳輸速率的設備,綜合系統(tǒng)效率和系統(tǒng)代價因素,合理選擇I/O控制方式。2023年2月6日26第五章設備管理5.4

I/O軟件

1.I/O軟件的設計目標和原則用戶層軟件:實現(xiàn)和用戶交互的接口。設備獨立性軟件:負責實現(xiàn)與設備驅動器的統(tǒng)一接口、設備命名、保護以及設備的分配和釋放。設備驅動程序:與硬件直接相關,實現(xiàn)系統(tǒng)指令,驅動I/O設備工作。中斷處理程序:保存被中斷進程的CPU環(huán)境,轉入相應的中斷處理程序,處理完再恢復現(xiàn)場并返回被中斷進程。

層次結構的I/O軟件通常可以按照四個層次組織:用戶層軟件設備獨立性軟件設備驅動程序中斷處理程序硬件I/O應答I/O請求產(chǎn)生I/O請求、格式化I/O、Spooling映射、保護、分塊、緩沖、分配設置設備寄存器,檢查寄存器狀態(tài)執(zhí)行I/O操作2023年2月6日27第五章設備管理5.4

I/O軟件

2.中斷處理程序喚醒被阻塞的驅動(程序)進程保護被中斷進程的CPU環(huán)境轉入相應的設備處理程序中斷處理恢復被中斷進程的現(xiàn)場

中斷處理程序的主要工作包括進行進程上下文切換,對處理中斷信號源進行測試,讀取設備狀態(tài)和修改進程狀態(tài),它包括如下步驟:喚醒被阻塞的驅動程序進程中斷請求信號對被中斷進程的CPU環(huán)境進行保護分析中斷原因,轉入相應的中斷處理程序終端中斷處理程序打印機中斷處理程序磁盤中斷處理程序…恢復被中斷進程的CPU現(xiàn)場返回被中斷的進程,繼續(xù)執(zhí)行2023年2月6日28第五章設備管理5.4

I/O軟件

3.設備驅動程序

設備驅動程序又稱為設備處理程序,它是I/O進程與設備控制器之間的通信程序,其主要任務是接受上層軟件發(fā)來的抽象I/O請求,把它轉換為具體要求,發(fā)給設備控制器,啟動設備執(zhí)行。設備處理方式根據(jù)在設備處理時是否設置進程及設置什么樣的進程,把設備處理方式分成:(1)為每一類設備設置一個進程,專門用于執(zhí)行這類設備的I/O操作;(2)在整個系統(tǒng)設置一個I/O進程,專門用于執(zhí)行系統(tǒng)中所有設備的I/O操作;(3)不設置專門的設備處理進程,只為各類設備設置相應的設備處理程序(模塊)供用戶進程或系統(tǒng)進程調用。2023年2月6日29第五章設備管理5.4

I/O軟件

3.設備驅動程序設備驅動程序的功能(1)接收由設備獨立性軟件發(fā)來的命令和參數(shù),并且將其轉化為具體需求;(2)檢查用戶I/O請求的合法性;(3)發(fā)出I/O命令,若I/O設備空閑,啟動;若I/O設備忙碌,將請求掛在設備隊列;(4)及時響應控制器或通道發(fā)來的中斷請求;(5)應能夠根據(jù)用戶的I/O請求,自動地構成通道程序。2023年2月6日30第五章設備管理5.4

I/O軟件

3.設備驅動程序設備驅動程序的特點(1)它是在請求I/O的進程和設備控制器之間的一個通信和轉換程序;(2)它與設備控制器和I/O設備的硬件特性緊密相關,對不同類的設備要配置不同的驅動程序;(3)與I/O設備所采用的I/O控制方式緊密相關;(4)與硬件緊密相關,其中的一部分必須用匯編語言書寫;(5)它應該允許可重入;(6)它不允許系統(tǒng)調用,但可以允許對某些內核過程的調用。2023年2月6日31第五章設備管理5.4

I/O軟件

3.設備驅動程序設備驅動程序的處理過程1)將抽象的要求轉換為具體要求;

2)檢查I/O請求的合法性;

3)讀出和檢查設備的狀態(tài);

4)傳送必要的參數(shù);

5)工作方式的設置;

6)啟動I/O設備。2023年2月6日32第五章設備管理5.4

I/O軟件

4.設備獨立性設備分配時的靈活性當程序(進程)以物理設備名稱來請求指定設備時,如果設備已經(jīng)分配或正在檢修,則會阻塞進程;如果采用邏輯設備名稱來訪問,系統(tǒng)會給它分配另一臺設備。易于實現(xiàn)I/O重定向是指用于I/O操作的設備可以更換(即重定向),而不必改變應用程序。又稱為設備無關性,其含義:應用程序獨立于具體使用的物理設備。2023年2月6日33第五章設備管理5.4

I/O軟件

4.設備獨立性設備獨立性軟件的功能(1)執(zhí)行所有設備公有操作:對獨立設備的分配和回收;邏輯設備到物理設備的映射;設備保護;緩沖管理;差錯控制;提供獨立于設備的邏輯塊。(2)向用戶層(文件層)軟件提供統(tǒng)一的接口。

5.設備獨立性軟件邏輯設備名到物理設備名映射的實現(xiàn)通過邏輯設備表LUT的設置來實現(xiàn)。是指在用戶層的一小部分I/O軟件,包括與用戶程序鏈接在一起的庫函數(shù),以及完全運行于內核之外的一些程序。2023年2月6日34第五章設備管理5.5

設備分配

1.設備分配中的數(shù)據(jù)結構控制器控制表、通道控制表和系統(tǒng)設備表設備控制表DCTDCT1設備控制表集合DCT2DCTn設備類型:type設備標志符:deviceid設備狀態(tài):等待/不等待忙/閑指向控制器表的指針重復執(zhí)行次數(shù)或時間設備隊列的隊首指針控制器標識符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊列的隊首指針控制器隊列的隊尾指針(a)控制器表COCT通道標識符:channelid通道狀態(tài):忙/閑與通道連接的控制器表指針通道隊列的隊首指針通道隊列的隊尾指針(b)通道表CHCT設備類設備標識符DCT驅動程序入口表目1…表目i…(c)系統(tǒng)設備表SDT2023年2月6日35第五章設備管理5.5

設備分配

2.設備分配時應考慮的因素三種設備分配策略獨占設備:采用獨享分配策略,即將一個設備分配給某進程后,便由該進程獨占,直到該進程完成或釋放該設備;共享設備:可同時分配給多個進程使用,但必須合理調度;可虛擬設備:一臺可虛擬設備是可共享的,可以把它同時分配給多個進程使用,并且對訪問該物理設備的先后次序進行控制。2023年2月6日36第五章設備管理5.5

設備分配

2.設備分配時應考慮的因素設備分配算法(1)先來先服務:根據(jù)諸進程對某設備提出請求的先后順序。(2)優(yōu)先級高者優(yōu)先:優(yōu)先滿足進程提出的優(yōu)先權高的I/O請求。設備分配的安全性(1)安全分配方式這種分配方式中,每當進程發(fā)出I/O請求后,便進入阻塞狀態(tài),直到I/O操作完成時才被喚醒,這樣就摒棄了死鎖的四個必要條件之一“請求和保持”條件,從而使得設備分配是安全的;(2)不安全分配方式這種分配方式中,進程發(fā)出I/O請求后繼續(xù)運行,需要時又發(fā)出第二個I/O請求、第三個I/O請求等等,只有當請求的設備被其它進程占用時才會阻塞。2023年2月6日37第五章設備管理5.5

設備分配

3.獨占設備的分配程序設備分配程序的改進(1)增加設備的獨立性為了獲得設備獨立性,進程應使用邏輯設備名請求I/O;(2)考慮多通路情況為了防止I/O系統(tǒng)中出現(xiàn)“瓶頸”現(xiàn)象,采用多通路的I/O系統(tǒng)結構?;镜脑O備分配程序分配設備:根據(jù)I/O請求中的物理設備名,通過查找系統(tǒng)設備表SDT,找到該設備的DCT,選擇空閑的同時不會使系統(tǒng)進入不安全狀態(tài)的設備分配給請求進程;分配控制器:在DCT中找出與該設備連接的控制器的COCT,如不忙,則分配;分配通道:在COCT中找到與該控制器連接的通道的CHCT,如不忙,則分配。2023年2月6日38第五章設備管理5.5

設備分配

4.SPOOLING技術為了緩和CPU的高速性與I/O設備的低速性間的矛盾引入的脫機輸入、脫機輸出技術。該技術利用專門的外圍控制機,實現(xiàn)數(shù)據(jù)在低速I/O設備和高速磁盤之間的數(shù)據(jù)傳送,此時外圍操作可以與CPU對數(shù)據(jù)的處理同時進行,這種聯(lián)機情況下的同時外圍操作稱作SPOOLING(SimultaneousPeriphernalOperatingOnLine),或稱為假脫機操作。SPOOLING系統(tǒng)的特點(1)提高了I/O的速度;(2)將獨占設備改造成共享設備;(3)實現(xiàn)了虛擬設備功能。2023年2月6日39第五章設備管理5.5

設備分配SPOOLING系統(tǒng)的組成(1)輸入井和輸出井;(2)輸入緩沖區(qū)和輸出緩沖區(qū);(3)輸入進程SPi和輸出進程SPo。磁盤輸入緩沖區(qū)Bi輸出緩沖區(qū)Bo輸入井輸出井輸入進程SPi輸出進程SPo輸入設備輸出設備

4.SPOOLING技術2023年2月6日40第五章設備管理5.6

磁盤存儲器的管理數(shù)據(jù)的組織和格式磁盤設備可包括一或多個物理盤片;每個盤片分一個或兩個存儲面;每個存儲面分成若干個磁道;每條磁道被劃分成若干個扇區(qū)。磁盤的類型(1)固定頭磁盤:每條磁道上都有一讀/寫磁頭,所有磁頭裝在一個剛性磁臂中。(2)移動頭磁盤:每個盤面僅配有一個磁頭,也被裝入磁臂中。

1.磁盤的概述磁盤的訪問時間(1)尋道時間Ts=m×n+s,其中s為啟動磁臂的時間,m是常數(shù);(2)旋轉延遲時間:指定扇區(qū)移動到磁頭下面所經(jīng)歷的時間;(3)傳輸時間(了解):從磁盤讀出數(shù)據(jù)或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間;扇區(qū)磁道磁道間隔扇區(qū)間隔2023年2月6日41第五章設備管理5.6

磁盤存儲器的管理先來先服務FCFS

2.磁盤調度最短尋道時間優(yōu)先SSTF(從100號磁道開始)被訪問的下一個磁道號移動距離(磁道數(shù))5545583391918219072160701501038112184146

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論