版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章設備管理I/O系統(tǒng)的組成I/O控制方式緩沖管理設備分配設備處理磁盤設備管理第一頁,共九十三頁。4/30/20231關于設備管理計算機系統(tǒng)的一個重要組成部分是I/O系統(tǒng)。該系統(tǒng)包括實現(xiàn)信息輸入、輸出和存儲功能的I/O設備相應的設備控制器,有的大中型機還有I/O通道或I/O處理機。基本任務:完成用戶提出的I/O請求,提高I/O速率以及改善I/O設備的利用率。主要功能:緩沖區(qū)管理、設備分配、設備處理、虛擬設備及設備獨立性等。我們主要對I/O設備和設備控制器等硬件作一扼要的闡述。第二頁,共九十三頁。4/30/202321、I/O系統(tǒng)的組成總的來說:需要用于輸入、輸出和存儲信息的設備;需要有相應的設備控制器和高速總線;有的大中型計算機系統(tǒng),配置I/O通道等;I/O設備設備控制器I/O通道第三頁,共九十三頁。4/30/202331)I/O設備的類型I/O設備的類型繁多,從OS的觀點,按其重要的性能指標進行分類如下:按傳輸速率分類:低速、中速、高速(鍵盤、打印機、磁盤)按信息交換的單位分類:塊設備:有結構、速率高、可尋址、DMA方式控制字符設備:無結構、速率低、不可尋址、中斷方式控制第四頁,共九十三頁。4/30/20234按設備的共享屬性分類:獨占:打印機共享:一個時刻上仍然是只被一個進程占用??蓪ぶ贰⒖呻S機訪問的色后備。磁盤。虛擬:使一臺獨占設備變換為若干臺邏輯設備,供給若干用戶“同時使用”。第五頁,共九十三頁。4/30/202352)設備控制器設備并不直接與CPU通信計算機中的一個實體——“設備控制器”負責控制一個或多個I/O設備,以實現(xiàn)I/O設備和計算機之間的數(shù)據(jù)交換??刂破魇荂PU與I/O設備之間的接口,作為中間人接收從CPU發(fā)來的命令,并去控制I/O設備工作,以使處理機脫離繁雜的設備控制事務。第六頁,共九十三頁。4/30/20236控制器與CPU接口控制器與設備接口設備控制器CPUI/O設備數(shù)據(jù)線地址線控制線數(shù)據(jù)狀態(tài)控制第七頁,共九十三頁。4/30/20237①I/O設備中的接口與控制器的接口有三種類型的信號數(shù)據(jù)信號線(進出數(shù)據(jù)轉換、緩沖后傳送)控制信號線(讀\寫\移動磁頭等控制)狀態(tài)信號線I/O設備信號數(shù)據(jù)緩沖轉換器數(shù)據(jù)狀態(tài)控制邏輯控制第八頁,共九十三頁。4/30/20238②設備控制器可編址,不同類控制一個設備時只有一個地址,若連接控制多個設備則含有多個設備地址管理的復雜性因不同設備而異,分為字符設備控制器、塊設備控制器。常作成接口卡插入計算機。第九頁,共九十三頁。4/30/20239基本功能接收和識別CPU命令(控制寄存器:存放命令和參數(shù))標識和報告設備的狀態(tài)(狀態(tài)寄存器)數(shù)據(jù)交換(數(shù)據(jù)寄存器)地址識別(控制器識別設備地址、寄存器地址。地址譯碼器)數(shù)據(jù)緩沖(協(xié)調I/O與CPU的速度差距)差錯控制第十頁,共九十三頁。4/30/202310組成設備控制器與處理機的接口設備控制器與設備的接口I/O邏輯設備控制器數(shù)據(jù)線地址線控制線數(shù)據(jù)狀態(tài)控制I/O邏輯第十一頁,共九十三頁。4/30/202311I/O邏輯控制器與設備接口1控制器與設備接口i數(shù)據(jù)寄存器控制/狀態(tài)寄存器數(shù)據(jù)線地址線控制線與CPU的接口與設備的接口數(shù)據(jù)數(shù)據(jù)狀態(tài)控制狀態(tài)控制一個接口連接一個設備。每個接口中都有數(shù)據(jù)、控制和狀態(tài)三種類型的信號??刂破髦械腎/O邏輯根據(jù)處理機發(fā)來的地址信號,去選擇一個設備接口。1個或n個1個或n個第十二頁,共九十三頁。4/30/202312I/O邏輯通過一組控制線與處理機交互,處理機利用該邏輯向控制器發(fā)送I/O命令。I/O邏輯對收到的命令進行譯碼。CPU要啟動一個設備時,將啟動命令發(fā)送給控制器;同時通過地址線把地址發(fā)送給控制器控制器的I/O邏輯對收到的地址和命令進行譯碼,再根據(jù)所譯出的命令選擇設備進行控制。第十三頁,共九十三頁。4/30/202313③處理機與設備控制器間實現(xiàn)CPU與設備控制器之間的通信。共有三類信號線:數(shù)據(jù)線:數(shù)據(jù)線通常與兩類寄存器相連接,第一類是數(shù)據(jù)寄存器;第二類是控制/狀態(tài)寄存器。地址線控制線第十四頁,共九十三頁。4/30/2023143)I/O通道①I/O通道設備的引入設備控制器已大大減少CPU對I/O的干預(如承擔了選擇設備,數(shù)據(jù)轉換、緩沖等功能)但當主機的外設很多時,CPU的負擔仍然很重。為此又在CPU和設備控制器之間增設一個機構:“通道”主要目的:建立更獨立的I/O操作,解放CPU。數(shù)據(jù)傳送的獨立I/0操作的組織、管理及結束處理也盡量獨立。設置通道后CPU只需向通道發(fā)送一條I/O指令即可不再干預后續(xù)操作。通道根據(jù)命令,形成通道程序,執(zhí)行I/O操作,完成后向CPU發(fā)中斷信號。第十五頁,共九十三頁。4/30/202315②通道類型實際上I/O通道是一種特殊的處理機:指令類型單一,只用于I/O操作;通道沒有內存,它與CPU共享內存。根據(jù)其控制的外圍設備的不同類型,信息交換方式也可分為以下三種類型:字節(jié)多路通道數(shù)組選擇通道數(shù)組多路通道第十六頁,共九十三頁。4/30/202316字節(jié)多路通道一個通道常通過多個子通道連接控制多個設備控制器。多個設備以字節(jié)為單位交叉輪流使用主通道傳輸自己的數(shù)據(jù)。(圖5-3)控制器A設備控制器B設備A1B1C1…A2B2C2A1A2…B1B2…主通道掃描子通道速率足夠快,子通道上的設備速率又不太高時,一般不丟失信息。適用于并行、低速設備第十七頁,共九十三頁。4/30/202317數(shù)組選擇通道為了適用高速設備,設置分配型子通道設備分配到通道后,一段時間內一直獨占,直至設備傳送完畢釋放。利用率低。數(shù)組多路通道結合上述兩種方式。含多個非分配型子通道。數(shù)據(jù)傳送則按數(shù)組方式進行。第十八頁,共九十三頁。4/30/202318③“瓶頸”問題由于通道價格昂貴,致使數(shù)量較少,使它成為I/O系統(tǒng)的瓶頸,進而造成系統(tǒng)吞吐量的下降。如下例所示:存儲器通道1通道2控制器1控制器2控制器3控制器4設備1設備2設備3設備4設備5設備6設備7第十九頁,共九十三頁。4/30/202319解決“瓶頸”問題最有效的辦法便是增加設備到主機間的通路而不增加通道,如下圖所示:存儲器通道1通道2控制器1控制器2I/O設備I/O設備I/O設備I/O設備第二十頁,共九十三頁。4/30/202320如圖所示,計算機系統(tǒng)中的各部件,如CPU、存儲器以及各種I/O設備之間的聯(lián)系,都是通過總線來實現(xiàn)的??偩€的性能用總線的“時鐘頻率”、“帶寬”和相應的總線“傳輸速率”等指標來衡量。CPU存儲器磁盤控制器打印機控制器其他控制器磁盤驅動器打印機系統(tǒng)總線*微機I/O系統(tǒng)中的總線結構第二十一頁,共九十三頁。4/30/202321總線的發(fā)展過程ISA和EISA總線ISA(IndustryStandardArchitecture)總線EISA(ExtendedISA)總線局部總線(LocalBus)VESA(VideoElectronicStandard)總線PCI(PeripheralComponentInterface)總線第二十二頁,共九十三頁。4/30/2023222、I/O控制方式程序I/O方式中斷驅動I/O方式直接存儲器訪問DMA(字節(jié)—塊)I/O通道控制方式(組織傳送的獨立)宗旨:減少主機對I/O控制的干預,將CPU從繁雜的I/O控制事物中解脫出來。第二十三頁,共九十三頁。4/30/2023231)程序I/O方式處理機對I/O設備的控制采取程序I/O方式,或稱為忙—等待方式向控制器發(fā)送一條I/O指令啟動輸入設備輸入數(shù)據(jù)時,要同時把狀態(tài)寄存器中的忙/閑標志置為1。然后不斷測試標志。當為1時,表示輸入機尚未輸完一個字,處理機應繼續(xù)對該標志測試,直到它為0,表明數(shù)據(jù)已輸入到控制器的數(shù)據(jù)寄存器中。處理機將數(shù)據(jù)取出送入內存單元,便完成了一個字的I/O。在程序I/O方式中,由于CPU高速而I/O設備低速致使CPU極大浪費。注:程序I/O方式也稱作程序查詢方式或輪詢方式。第二十四頁,共九十三頁。4/30/202324程序I/O方式流程圖向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲器中寫字檢查狀態(tài)傳送完成?出錯完成CPU→I/OI/O→CPUI/O→CPUCPU→內存未完未就緒下條指令就緒第二十五頁,共九十三頁。4/30/2023252)中斷驅動I/O方式CPU向相應的設備控制器發(fā)出一條I/O命令然后立即返回繼續(xù)執(zhí)行原來的任務。設備控制器于是按照命令的要求去控制指定I/O設備。這時CPU與I/O設備并行操作。I/O設備輸入數(shù)據(jù)中,無需CPU干預,因而可使CPU與I/O設備并行工作。從而提高了整個系統(tǒng)的資源利用率及吞吐量。第二十六頁,共九十三頁。4/30/202326中斷控制方式流程圖向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲器中寫字檢查狀態(tài)傳送完成?出錯完成CPU→I/OI/O→CPUI/O→CPUCPU→內存未完下條指令就緒CPU做其它事中斷第二十七頁,共九十三頁。4/30/2023273)直接存儲器訪問DMA方式中斷方式比程序I/O方式更有效,但仍以字(節(jié))為單位進行I/O,每當完成一個字(節(jié)),控制器便要請求一次中斷。CPU還是存在頻繁的中斷處理操作。DMA(DirectMemoryAccess)控制方式的引入直接存儲器訪問方式。第二十八頁,共九十三頁。4/30/202328①該方式的特點是:數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊;所傳送的數(shù)據(jù)是從設備直接送入內存的,或者相反;不需要CPU操作。CPU干預進一步減少:僅在傳送一個或多個數(shù)據(jù)塊的開始和結束時,才需CPU干預,整塊數(shù)據(jù)的傳送是在控制器的控制下完成的??梢奃MA方式又是成百倍的減少了CPU對I/O的干預,進一步提高了CPU與I/O設備的并行操作程度。第二十九頁,共九十三頁。4/30/202329DMA方式示意圖向I/O控制器發(fā)布讀塊命令讀DMA控制器的狀態(tài)下條指令CPU做其它事中斷CPU→DMADMA→CPU第三十頁,共九十三頁。4/30/202330②DMA控制器的組成DMA控制器由三部分組成:主機與DMA控制器的接口;DMA控制器與塊設備的接口;I/O控制邏輯。如下頁圖。第三十一頁,共九十三頁。4/30/202331DMA控制器的示意圖countI/O控制邏輯DRMARDCCRCPU內存主機—控制器接口控制器與塊設備接口系統(tǒng)總線DMA控制器命令第三十二頁,共九十三頁。4/30/202332DMA控制器中的寄存器為實現(xiàn)主機與控制器之間塊數(shù)據(jù)的直接交換,必須設置如下四類寄存器:數(shù)據(jù)寄存器DR:暫存設備到內存或從內存到設備的數(shù)據(jù)。內存地址寄存器MAR:它存放把數(shù)據(jù)從設備傳送到內存的起始的目標地址或內存原地址。數(shù)據(jù)計數(shù)器DC:存放本次CPU要讀或寫的字(節(jié))數(shù)。命令/狀態(tài)寄存器CR:用于接收從CPU發(fā)來的I/O命令或有關控制和狀態(tài)信息。第三十三頁,共九十三頁。4/30/202333③DMA工作過程CPU先向磁盤控制器發(fā)送一條讀命令。該命令被送到命令寄存器CR中。同時需發(fā)送本次要將數(shù)據(jù)讀入的內存起始目標地址,該地址被送入MAR中;將磁盤中的原地址直接送入DMA控制器的I/O控制邏輯上。要讀數(shù)據(jù)的字數(shù)則送入數(shù)據(jù)計數(shù)器DC中啟動DMA控制器,按其控制邏輯開始進行數(shù)據(jù)傳送DMA控制器讀入一個數(shù)據(jù)到數(shù)據(jù)寄存器DR中,然后傳到內存中;接著MAR+1,DC-1,判斷DC是否為0,如否,繼續(xù),反之控制器發(fā)中斷請求,傳送完畢。以磁盤讀數(shù)據(jù)為例第三十四頁,共九十三頁。4/30/202334DMA工作方式流程圖設置AR和DC初值啟動DMA傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增1字計數(shù)寄存器減1DC=0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時,準備又一次傳送第三十五頁,共九十三頁。4/30/2023354)I/O通道控制方式DMA適用于讀一個連續(xù)的數(shù)據(jù)塊;如一次讀多個數(shù)據(jù)塊到內存不同區(qū)域,須由CPU分別發(fā)送多條I/O指令、進行多次DMA中斷處理。DMA方式的發(fā)展,引入I/O通道控制方式,實現(xiàn)為對一組數(shù)據(jù)塊的讀(寫)及有關的控制和管理為單位的干預。進一步減少CPU的干預此時,CPU只需發(fā)一條I/O指令,通道程序的首地址及要訪問設備即可。*CPU、通道和I/O設備三者的并行操作,提高整系統(tǒng)資源利用率。第三十六頁,共九十三頁。4/30/202336通道程序通道通過執(zhí)行通道程序,與設備控制器共同實現(xiàn)對I/O設備的控制。通道程序由一系列通道指令構成。通道指令一般包含下列信息:操作碼。規(guī)定指令所執(zhí)行的操作。內存地址。計數(shù)。表示本指令所要操作的字節(jié)數(shù)。通道程序結束位。用以表示程序是否結束。記錄結束標志。表示該指令是否與下條指令有關。第三十七頁,共九十三頁。4/30/202337內存設備CPU緩沖區(qū)數(shù)據(jù)控制器(中斷、DMA)通道有”控制器”或”通道”的幫助后CPU可解放去做其他事物,提高了利用率。但分析單個程序內的執(zhí)行CPU計算工作需等待后續(xù)數(shù)據(jù)輸入才可繼續(xù)CPU計算需等待數(shù)據(jù)輸入完才能計算,雖然數(shù)據(jù)輸入不需CPU干預,但CPU的解放也只是能去做其他程序,需切換工作,還是會產(chǎn)生開銷。一進程中“CPU計算速度”和“設備I/O速度”存在不匹配的矛盾。解決:CPU進行當前計算時,進行后續(xù)數(shù)據(jù)的輸入(先不需CPU干預的存在一個地方——緩沖區(qū))。第三十八頁,共九十三頁。4/30/2023383、緩沖管理利用不同的I/O控制方式減少CPU對輸入輸出的干預,提高利用率;但速度方面還存在問題,為了緩和CPU和I/O設備速度不匹配的矛盾,提高CPU和I/O設備的并行性,在現(xiàn)代OS中,幾乎所有的I/O設備與處理機交換數(shù)據(jù)時,都用了緩沖區(qū)。第三十九頁,共九十三頁。4/30/202339引入緩沖區(qū)的主要原因:緩和CPU與I/O設備間速度不匹配的矛盾。緩沖區(qū)數(shù)據(jù)成批傳入內存,減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制。最終,提高CPU和I/O設備之間的并行性。使用緩沖區(qū)的方式:1)單緩沖、多緩沖2)循環(huán)緩沖3)緩沖池(BufferPool)第四十頁,共九十三頁。4/30/2023401)單緩沖與多緩沖單緩沖(SingleBuffer)每當用戶進程發(fā)出一I/O請求時,字符設備輸入時,緩沖區(qū)用于暫存用戶輸入/輸出的一行數(shù)據(jù);塊設備輸入類似,對成塊數(shù)據(jù)處理。以輸入數(shù)據(jù)為例,比較三個時間:數(shù)據(jù)輸入緩沖區(qū)用時T、從緩沖送入到用戶內存區(qū)用時M、CPU計算用時C。單緩沖下,T、C可并行。所以輸入用時: max(T、C)+MOS在主存中為之分配一個緩沖區(qū)。CPU和外設輪流使用,一方處理完后等待對方處理。第四十一頁,共九十三頁。4/30/202341T1M1C1T2M2C2T3M3C3單緩沖雙緩沖T1M1C1T2M2C2T3M3C3TM①T1M1②T2M2第四十二頁,共九十三頁。4/30/202342雙緩沖(DoubleBuffer)進一步加快輸入和輸出速度,提高設備利用率雙緩沖區(qū)機制,也稱為緩沖對換(BufferSwapping)輸入:先將數(shù)據(jù)送入第一緩沖區(qū),裝滿后便轉向第二緩沖區(qū)。讀出:OS從第一緩沖區(qū)中移出數(shù)據(jù),并送入用戶進程。接著由CPU對數(shù)據(jù)進行計算。兩個緩沖區(qū),CPU和外設都可以連續(xù)處理無需等待對方。要求CPU和外設的速度相近。第四十三頁,共九十三頁。4/30/202343雙機通訊時緩沖區(qū)的設置緩沖區(qū)A機緩沖區(qū)B機單緩沖發(fā)送緩沖區(qū)接收緩沖區(qū)A機接收緩沖區(qū)發(fā)送緩沖區(qū)B機雙緩沖僅配置單緩沖,任意時刻都只能實現(xiàn)單方向的數(shù)據(jù)傳輸,而絕不允許雙方同時向對方發(fā)送數(shù)據(jù)。為實現(xiàn)雙向數(shù)據(jù)傳輸,必須在兩臺機器中都設置兩個緩沖區(qū),一個用作發(fā)送緩沖區(qū),另一個用作接受緩沖區(qū)。第四十四頁,共九十三頁。4/30/2023442)循環(huán)緩沖(circularbuffer)輸入與輸出速度基本相匹配,采用雙緩沖能獲得較好的效果,基本上能并行操作。但若兩者的速度相差甚遠,雙緩沖的效果仍不夠理想;So:增加緩沖區(qū)數(shù)量,引入多緩沖機制。組織形式:循環(huán)緩沖、緩沖池。增加多個緩沖區(qū),CPU和外設的處理速度可以相差較大。第四十五頁,共九十三頁。4/30/202345①循環(huán)緩沖的組成多個緩沖區(qū)。循環(huán)緩沖有多個大小相同的緩沖區(qū)。三種類型緩沖區(qū):用于裝輸入數(shù)據(jù)的空緩沖區(qū)R裝滿數(shù)據(jù)的緩沖區(qū)G計算進程正在使用的現(xiàn)行工作緩沖區(qū)C多個指針。指示計算進程正在使用的緩沖區(qū)C的指針Current指示計算進程下一個可取的緩沖區(qū)G的指針Nextg指示輸入進程下次可放的緩沖區(qū)R的指針Nexti第四十六頁,共九十三頁。4/30/202346循環(huán)緩沖的組成示意圖162534RRGGCGNextiNextgcurrent第四十七頁,共九十三頁。4/30/202347②循環(huán)緩沖區(qū)的使用計算進程(CPU)和輸入進程(I/O操作)可利用兩個過程來使用循環(huán)緩沖區(qū)。主要就是利用指針,操作上述不同類型緩沖區(qū)Getbuf過程:使用緩沖區(qū)時,可調用該過程(?。簭腘extg取,設置current,nextg下移一個。放:使用nexti,nexti下移一個)Releasebuf過程:當計算進程把C緩沖區(qū)中的數(shù)據(jù)提取完畢時,便調用該過程將緩沖區(qū)G釋放。當輸入進程把緩沖區(qū)裝滿時,也調用該進程將緩沖區(qū)釋放。第四十八頁,共九十三頁。4/30/202348③進程同步輸入進程和計算進程并行執(zhí)行,如何控制相應的兩個指針不斷順時針方向移動,這樣就可能出現(xiàn)兩種情況:Nexti趕上Nextg。意味著輸入速度大于計算速度,緩沖區(qū)滿,此情況稱為系統(tǒng)受計算限制。Nextg趕上Nexti。意味著輸入速度低于計算速度,緩沖區(qū)空,此情況稱為系統(tǒng)受I/O限制。第四十九頁,共九十三頁。4/30/2023493)緩沖池(BufferPool)上述的緩沖區(qū)僅適用于某特定的I/O進程和計算進程,因而它們屬于專用緩沖。(每個進程都要維護自己的一個循環(huán)緩沖區(qū))當系統(tǒng)較大時,許多這樣的循環(huán)緩沖,不僅消耗大量內存空間,而且利用率不高。為提高緩沖區(qū)的利用率,目前廣泛流行緩沖池,在池中設置多個可供若干個進程共享的緩沖區(qū)。第五十頁,共九十三頁。4/30/202350系統(tǒng)設置多個緩沖區(qū),形成一個緩沖池。池中緩沖區(qū)為系統(tǒng)中所有的進程共享使用(如UNIX系統(tǒng)在塊設備管理中設置了一個15個緩沖區(qū)組成的緩沖池)組織形式:隊列及隊列指針也是雙方向緩沖技術;緩沖區(qū)整體利用率高。第五十一頁,共九十三頁。4/30/202351①緩沖池的組成對于既可輸入又可輸出的公用緩沖池,至少應含有下列三種類型的緩沖區(qū):空緩沖區(qū);裝滿輸入數(shù)據(jù)的緩沖區(qū);裝滿輸出數(shù)據(jù)的緩沖區(qū); 為方便管理,將上述類型相同的緩沖區(qū)連成隊列空緩沖區(qū)隊列輸入隊列輸出隊列第五十二頁,共九十三頁。4/30/202352使用兩個過程注意,是有同步控制的隊列操作過程每隊設置一個互斥信號量MS;判斷每個隊列是否有可用的緩沖區(qū),需一個資源信號量RS。獲取緩沖區(qū)時P(RS),釋放時V(RS)。Getbuf:Putbuf:第五十三頁,共九十三頁。4/30/202353②緩沖區(qū)的工作方式四種工作方式:收容輸入:Getbuf(emq),hin;輸入數(shù)據(jù)填入一空緩沖區(qū);Putbuf(inq,hin)提取輸入:Getbuf(inq),sin;從輸入緩沖隊列中取出一數(shù)據(jù)區(qū)的內容;Putbuf(emq,sin)收容輸出:Getbuf(emq),hout;輸出數(shù)據(jù)填入一空緩沖區(qū);Putbuf(outq,hout)提取輸出:Getbuf(outq),sout;從輸出緩沖隊列中取一數(shù)據(jù)區(qū)的內容;Putbuf(emq,sout)工作緩沖區(qū)有四種:收容輸入數(shù)據(jù)的工作緩沖區(qū);收容輸出數(shù)據(jù)的工作緩沖區(qū);提取輸入數(shù)據(jù)的工作緩沖區(qū);提取輸出數(shù)據(jù)的工作緩沖區(qū);緩沖池hinsout磁盤打印機sinhout內存用戶程序emq…inq…outq…第五十四頁,共九十三頁。4/30/202354多道環(huán)境下,系統(tǒng)中設備是所有進程共享的。要防止無序競爭,提高外設資源的利用率。所以,除解決基本設備處理問題,還需由OS進行統(tǒng)一、合理的設備分配。4、設備分配第五十五頁,共九十三頁。4/30/2023551)設備分配中的數(shù)據(jù)結構記錄相應設備或控制器的狀態(tài),及對設備或控制器進行控制所需的信息。所需數(shù)據(jù)結構:設備控制表控制器控制表通道控制表系統(tǒng)設備表第五十六頁,共九十三頁。4/30/202356①設備控制表(DCT)系統(tǒng)為每一設備都配置一張記錄本設備的情況。設備類型type設備標識符deviceid設備狀態(tài):等待/不等待忙/閑指向控制器表的指針重復執(zhí)行次數(shù)或時間設備隊列的隊首指針DCT1DCT2DCTn設備控制表集合指向因請求該設備而阻塞的進程的PCB組成的隊列。第五十七頁,共九十三頁。4/30/202357②控制器控制表(COCT)控制器標識符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊列的隊首指針控制器隊列的隊尾指針系統(tǒng)為每一控制器都配置一張記錄本控制器的情況。③通道控制表CHCT通道標識符:channelid通道狀態(tài):忙/閑與通道連接的控制器表首址通道隊列的隊首指針通道隊列的隊尾指針第五十八頁,共九十三頁。4/30/202358④系統(tǒng)設備表(SDT)表目1表目i設備類型設備標識符DCT驅動程序入口系統(tǒng)根據(jù)進程對設備的請求進行設備分配的過程:SDTDCTCOCTCHCT細節(jié)考慮第五十九頁,共九十三頁。4/30/202359設備固有屬性:獨占、共享、獨占但可虛擬。根據(jù)屬性采取不同分配策略。設備分配算法,常采用兩種:FCFS優(yōu)先級高者優(yōu)先設備分配的安全性:進程開始I/O后就阻塞直到I/O完成。不“請求和保持”(安全的);允許連續(xù)I/O請求,是不安全的,此類分配方式需進行安全性檢查。設備獨立性2)設備分配需考慮的因素第六十頁,共九十三頁。4/30/202360設備獨立性(無關性)DeviceIndependence指用戶編程序時所用設備(邏輯上的)與實際設備無關;好處:設備分配時的靈活性
3個物理設備(如打印機),程序中申請一臺打印機,執(zhí)行時不拘泥必須是某臺(如第2個)打印機易于實現(xiàn)I/O重定向
指用于I/O操作的設備可以更換(重定向),而不必改變應用程序。程序調試、運行中的“打印”,可通過修改邏輯設備表的顯示終端,實現(xiàn)不同時候的不同的設備使用。第六十一頁,共九十三頁。4/30/202361引入兩個概念:邏輯設備:用戶應用程序中請求的設備物理設備:系統(tǒng)實際執(zhí)行時使用的設備設備分配時需實現(xiàn):邏輯設備地址映射到物理設備地址設備設備驅動程序設備獨立性軟件用戶層程序:read,write基本硬件控制所有設備的公有操作:獨立設備的分配與回收邏輯設備映射為物理設備設備保護緩沖管理差錯控制給上層的接口第六十二頁,共九十三頁。4/30/202362邏輯設備名物理設備名驅動程序入口地址/dev/tty21024/dev/printer52046…邏輯設備名到物理設備名的映射邏輯設備表LUT(LogicalUnitTable)LUT的設置問題整個系統(tǒng)設置一張LUT(設備重名問題)為每個用戶設置一張LUT,記入各自PCB。第六十三頁,共九十三頁。4/30/2023633)獨占設備的分配過程基本分配步驟(一個有通道的例子):分配設備:根據(jù)請求設備名,查找SDT,找到DCT;狀態(tài)、安全性等因素都可能導致本申請進程阻塞,掛入DCT等待隊列中。分配控制器通過1步分配設備后,從DCT找到COCT;檢查COCT狀態(tài)字,若忙碌,進程PCB掛到其等待隊列分配通道COCT找到CHCT判斷狀態(tài),…第六十四頁,共九十三頁。4/30/202364設備分配程序的改進增加設備的獨立性進程使用邏輯設備名提出I/O請求。系統(tǒng)從SDT中依次找下去,直到找到一個該類設備中空閑可用的進行分配??紤]多通路情況控制器、通道也是反復查找,直到找到一條通路。第六十五頁,共九十三頁。4/30/2023654)設備分配中的虛擬技術
——SPOOLing技術虛擬性是OS的四大特征之一。多道程序技術將一臺物理CPU虛擬為多臺邏輯CPU,實現(xiàn)多個用戶共享一臺主機;如何將一臺物理I/O設備虛擬為多臺邏輯I/O設備,允許多個用戶共享“同時使用”?第六十六頁,共九十三頁。4/30/202366返回假脫機技術多道程序技術引入后,可專門利用一道程序(SPOOLing程序)模擬脫機輸入/輸出工作的外圍機,完成設備的I/O操作。稱這種聯(lián)機情況下實現(xiàn)的同時外圍操作為SPOOLing技術(SimultaneausPeriphernalOperatingOn—Line,或稱為假脫機操作)多道是前提,還需高速、大容量、可隨機存取的外存支持。第六十七頁,共九十三頁。4/30/202367SPOOLing系統(tǒng)的組成輸入設備輸出設備輸入井輸出井磁盤輸入進程SPi輸出進程SP0CPU輸入緩沖區(qū)Bi輸入緩沖區(qū)B0模擬的外圍機(軟防硬)以CPU的視角,就把磁盤當設備第六十八頁,共九十三頁。4/30/202368SPOOLing系統(tǒng)的組成主要有三大部分(如下頁圖)輸入井和輸出井:磁盤上開辟兩大存儲空間。輸入井模擬脫機輸入的磁盤設備,輸出井模擬脫機輸出時的磁盤。輸入緩沖區(qū)和輸出緩沖區(qū):為緩解速度矛盾,內存中開辟兩大緩沖空間,輸入緩沖區(qū)暫存輸入設備送來的數(shù)據(jù),再送給輸入井;輸出緩沖區(qū)暫存輸出井送來的數(shù)據(jù),再送輸出設備。輸入進程和輸出進程。用一進程模擬脫機輸入時外圍設備控制器的功能,把低速輸入設備上的數(shù)據(jù)傳送到高速磁盤上;用另一進程模擬脫機輸出時外圍設備控制器的功能,把數(shù)據(jù)從磁盤上傳送到低速輸出設備上。第六十九頁,共九十三頁。4/30/202369共享打印機打印機屬于獨占設備,利用SPOOLing技術可將其改造為一臺可供多個用戶共享的設備。見P167說明:核心就是不能交叉打印的數(shù)據(jù),虛擬的打印在磁盤的輸出井上(而磁盤的非獨占性解決了打印機不能方便共享的問題)。有打印輸出請求的進程申請“請求打印表”。數(shù)據(jù)虛擬打印到“輸出井”Spooling程序再按“請求表隊列”分配真正的打印機打印數(shù)據(jù)。第七十頁,共九十三頁。4/30/202370SPOOLing系統(tǒng)的特點提高了I/O的速度。利用輸入輸出井模擬成脫機輸入輸出,緩和了CPU和I/O設備速度不匹配的矛盾。將獨占設備改造為共享設備。并沒有為進程分配設備,而是為進程分配一存儲區(qū)和建立一張I/O請求表。最終,實現(xiàn)了虛擬設備功能。多個進程可“同時”使用一臺獨占設備。第七十一頁,共九十三頁。4/30/2023715、設備處理設備處理程序:即驅動程序。I/O設備與控制器間的通信程序。(與硬件密切相關,每類設備配備一種驅動程序)驅動的功能和特點驅動程序的處理過程中斷處理程序的處理過程自學P167~第七十二頁,共九十三頁。4/30/2023726、磁盤存儲器管理磁盤性能簡述磁盤調度方法磁盤高速緩存提高速度的其他方法第七十三頁,共九十三頁。4/30/2023731)磁盤性能簡述首先與格式有關數(shù)據(jù)的組織和格式盤片、面、磁道、扇區(qū)為方便處理,每條磁道存儲容量相同,每個磁道上的每個扇區(qū)相當于一個盤塊。磁盤”格式化”的過程就是按規(guī)定的格式規(guī)劃盤塊。如溫盤格式:P172每道30個扇區(qū),每扇600個字節(jié)。512字節(jié)用于存放數(shù)據(jù),其余存放控制信息。標識符字段:標識一個扇區(qū)的信息記錄; 1+2+1+1+3bytes數(shù)據(jù)字段:每個扇區(qū)存放數(shù)據(jù)的空間。數(shù)據(jù)前后還有若干特定功能字節(jié)。 1+512+2bytesIDfield(7bytes)Datafield(515bytes)第七十四頁,共九十三頁。4/30/202374與速度有關磁盤類型固定磁頭(每道一磁頭)移動磁頭(每盤一磁頭)訪問時間的計算尋道時間(到磁道)旋轉延遲(到扇區(qū))傳輸時間
傳輸時間占總時間的比例最小,磁盤讀寫速度的提高要選擇合適的調度算法,減少前兩項用時,使所有作業(yè)的磁盤處理時間均衡。第七十五頁,共九十三頁。4/30/2023752)磁盤調度方法對所有請求訪問磁盤的進程進行合理調度,使對磁盤的平均訪問時間最小。目標:使平均尋道時間最少。算法:FCFS最短尋道時間優(yōu)先SSTF掃描算法SCAN(磁盤電梯調度算法)循環(huán)掃描算法CSCANN-Step-SCAN算法FSCAN算法第七十六頁,共九十三頁。4/30/202376①FCFS多個進程的磁盤I/O請求構成一個隨機分布的請求隊列。磁盤I/O執(zhí)行順序按磁盤請求的先后順序。設開始位置為53第七十七頁,共九十三頁。4/30/202377②最短尋道時間優(yōu)先SSTF選擇從當前磁頭位置出發(fā)移動最少的磁盤I/O請求使每次磁頭移動時間最少。不一定是最短平均柱面定位時間,但比FIFO算法有更好的性能。對中間的磁道有利,但可能會有進程處于饑餓狀態(tài)(I/O請求總不被執(zhí)行)。第七十八頁,共九十三頁。4/30/202378FCFS SSTF訪問的下一磁道號移動距離(磁道數(shù))5545583391918219072160701501038112184146平均尋道長度55.3訪問的下一磁道號移動距離(磁道數(shù))90105832553391638118201501321601018424平均尋道長度27.5設當前在100磁道上;進程要求的訪問順序:55,58,39,18,90,160,150,38,184第七十九頁,共九十三頁。4/30/202379③掃描算法SCAN(磁盤電梯調度算法)SSTF會導致“饑餓”現(xiàn)象總選擇最近的磁道訪問,遠磁道請求的進程會長時間得不到執(zhí)行。改進:考慮距離的同時,更優(yōu)先考慮方向SCAN算法規(guī)定磁頭移動方向:自里向外,再自外向里移動。后續(xù)的I/O磁道請求,哪個在規(guī)定方向上距離最近,就先執(zhí)行哪個。如當前為100,后續(xù)要求55,86,95,180,165,105先由內向外:選最近的105執(zhí)行,再判斷剩余的,選165,180。再由外向內:95,86,55對55號磁道請求的進程相對“饑餓”很久第八十頁,共九十三頁。4/30/202380循環(huán)掃描CSCANSCAN的錯過問題:容易錯過與當前磁道距離近,但方向不一致的磁道。修改:將SCAN規(guī)定的移動方向改為“單向移動”由里向外后,再由里向外。N-Step-SCAN前述算法共同問題:“磁臂粘著”——磁頭靜止在一個磁道上,導致其它進程無法及時進行磁盤I/O。(高密度盤,某一進程的讀寫可能集中在某一磁道)改進:將磁盤請求隊列分成長為N的子隊列按FCFS選擇子隊列。隊列內又按SCAN算法。處理子隊列過程中產(chǎn)生的新I/O請求放入其他隊列。N=1時,就是FCFS,N很大時就是SCAN。第八十一頁,共九十三頁。4/30/202381F-SCANN-Step-SCAN的簡化:請求隊列只分為兩個子隊列當前一個隊列,按SCAN算法執(zhí)行;掃描期間新生成的組成一個隊列,等待被掃描。第八十二頁,共九十三頁。4/30/2023823)磁盤高速緩存內存中劃出,對外存磁盤讀寫進行緩存的區(qū)域。4)其他提速方法提前讀延遲寫優(yōu)化物理塊分布虛擬盤磁盤冗余陣列(高速、大容量磁盤系統(tǒng))自學第八十三頁,共九十三頁。4/30/202383要點虛擬設備是指:通過虛擬技術將一臺獨占設備改造成若干臺邏輯設備,供若干個用戶進程同時使用。按信息交換單位分類,可將設備分為:塊設備和字符設備。通道是:負責I/O的處理機。字節(jié)多路通道主要用作:連接大量的低速I/O設備。第八十四頁,共九十三頁。4/30/202384從資源分配的角度看,操作系統(tǒng)將外部設備分為:獨占型設備、共享型設備、虛擬設備。根據(jù)信息交換方式的不同,可以將通道分為:字節(jié)多路通道、數(shù)據(jù)選擇通道、數(shù)據(jù)多路通道。設備獨占性是指:應用程序獨立于具體使用的物理設備。緩沖技術中的緩沖池在:主存中。第八十五頁,共九十三頁。4/30/202385進行設備分配時所需要的數(shù)據(jù)表格主要有:設備控制表、設備控制器控制表、通道控制表和系統(tǒng)設備表。如果有多個中斷同時發(fā)生,系統(tǒng)將根據(jù)中斷優(yōu)先級響應優(yōu)先級最高的中斷請求。若要調整中斷事件的響應次序,可以利用:中斷屏蔽。在操作系統(tǒng)中,一種用空間換取時間的資
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國電子廢棄物回收拆解服務行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球微型矩形電連接器行業(yè)調研及趨勢分析報告
- 2025-2030全球點型可燃氣體和有毒氣體探測器行業(yè)調研及趨勢分析報告
- 2025年全球及中國電磁精密儀器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球激勵應用程序行業(yè)調研及趨勢分析報告
- 2025-2030全球半導體用PFA閥門行業(yè)調研及趨勢分析報告
- 2025-2030全球送粉式金屬3D打印機行業(yè)調研及趨勢分析報告
- 2025年全球及中國滑動芯組件行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球工業(yè)級3D傳感器行業(yè)調研及趨勢分析報告
- 2025年全球及中國桌面出版 (DTP) 服務行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年度廚師職業(yè)培訓學院合作辦學合同4篇
- 《組織行為學》第1章-組織行為學概述
- 浙江省杭州市9+1高中聯(lián)盟2025屆高三一診考試英語試卷含解析
- 市場營銷試題(含參考答案)
- 2024年山東省泰安市高考物理一模試卷(含詳細答案解析)
- 護理指南手術器械臺擺放
- 腫瘤患者管理
- 四川省成都市高新區(qū)2024年七年級上學期語文期末試卷【含答案】
- 2025年中國航空部附件維修行業(yè)市場競爭格局、行業(yè)政策及需求規(guī)模預測報告
- 2024年計算機二級WPS考試題庫380題(含答案)
- (高清版)DZT 0399-2022 礦山資源儲量管理規(guī)范
評論
0/150
提交評論