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

下載本文檔

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

文檔簡介

第五章設(shè)備管理設(shè)備管理的對(duì)象:I/O設(shè)備、設(shè)備控制器、I/O通道。設(shè)備管理的基本任務(wù):完成用戶提出的I/O請(qǐng)求;提高I/O速率;提高I/O設(shè)備的利用率。設(shè)備管理的主要功能:緩沖區(qū)管理、設(shè)備分配、設(shè)備處理、虛擬設(shè)備、實(shí)現(xiàn)設(shè)備獨(dú)立性。1第五章設(shè)備管理5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲(chǔ)器管理2I/O緩沖區(qū)的管理34565.1I/O系統(tǒng)I/O系統(tǒng)是用于實(shí)現(xiàn)數(shù)據(jù)輸入、輸出和數(shù)據(jù)存儲(chǔ)的系統(tǒng)。5.1.1I/O設(shè)備5.1.2設(shè)備控制器5.1.3I/O通道5.1.4總線系統(tǒng)75.1.1I/O設(shè)備1.I/O設(shè)備的類型從OS觀點(diǎn)看,I/O設(shè)備的重要的性能指標(biāo)有:設(shè)備使用特性、數(shù)據(jù)傳輸速率、數(shù)據(jù)的傳輸單位、設(shè)備共享屬性等。2.設(shè)備與控制器之間的接口81.I/O設(shè)備的類型按使用特性分類:存儲(chǔ)設(shè)備,也稱外存或后備存儲(chǔ)器、輔助存儲(chǔ)器。輸入/輸出設(shè)備輸入設(shè)備,如鍵盤、鼠標(biāo)、掃描儀、視頻攝像、各類傳感器等。輸出設(shè)備,如打印機(jī)、繪圖儀、顯示器、音箱等。交互式設(shè)備,集成上述兩類設(shè)備,利用輸入設(shè)備接收用戶命令信息,并通過輸出設(shè)備同步顯示用戶命令以及命令執(zhí)行的結(jié)果。91.I/O設(shè)備的類型型按傳輸速率分分類:低速設(shè)備,每秒鐘幾個(gè)個(gè)字節(jié)至數(shù)百百個(gè)字節(jié)。鍵盤、鼠標(biāo)器器、語音的輸輸入和輸出設(shè)設(shè)備中速設(shè)備,每秒鐘數(shù)千千個(gè)字節(jié)至數(shù)數(shù)萬個(gè)字節(jié)。。行式打印機(jī)、、激光打印機(jī)機(jī)高速設(shè)備,數(shù)百千個(gè)字字節(jié)至數(shù)十兆兆字節(jié)。磁帶機(jī)、光盤盤機(jī)、磁盤機(jī)機(jī)101.I/O設(shè)備的類型型按信息交換的的單位分類::塊設(shè)備(BlockDevice)用于存儲(chǔ)信息息,信息存取取以數(shù)據(jù)塊為為單位,有結(jié)結(jié)構(gòu)設(shè)備。磁盤:傳輸速速率較高;可可尋址;常采采用DMA方式。字符設(shè)備(CharacterDevice)用于數(shù)據(jù)的輸輸入和輸出,,無結(jié)構(gòu)設(shè)備備。交互式終端、、打印機(jī)等。。傳輸速率低,,不可尋址,,常采用中斷斷驅(qū)動(dòng)方式。。111.I/O設(shè)備的類型型按設(shè)備的共享享屬性分類::獨(dú)占設(shè)備,指在一段時(shí)時(shí)間內(nèi)只允許許一個(gè)用戶((進(jìn)程)訪問問的設(shè)備,即即:臨界資源源。共享設(shè)備,指在一段時(shí)時(shí)間內(nèi)允許多多個(gè)進(jìn)程同時(shí)時(shí)訪問的設(shè)備備,對(duì)每一個(gè)個(gè)時(shí)刻只允許許一個(gè)進(jìn)程訪訪問該設(shè)備。。可尋址,可隨隨機(jī)訪問(磁磁盤)虛擬設(shè)備,指通過虛擬擬技術(shù)將一臺(tái)臺(tái)獨(dú)占設(shè)備變變?yōu)槿舾膳_(tái)邏邏輯設(shè)備,供供若干個(gè)用戶戶(進(jìn)程)同同時(shí)使用。122.設(shè)備與與控制器之間間的接口設(shè)備與CPU之間通過設(shè)設(shè)備控制器通通信。在設(shè)備中應(yīng)含含有與設(shè)備控控制器之間的的接口,在該該接口中有三三種類型的信信號(hào),各對(duì)應(yīng)應(yīng)一條信號(hào)線線。緩沖轉(zhuǎn)換器控制邏邏輯數(shù)據(jù)信信號(hào)線線狀態(tài)信信號(hào)線線控制信信號(hào)線線I/O設(shè)備設(shè)備控制器器CPU信號(hào)數(shù)據(jù)135.1.2設(shè)設(shè)備控控制器器職責(zé):控制制一個(gè)個(gè)或多多個(gè)I/O設(shè)備,,實(shí)現(xiàn)現(xiàn)I/O設(shè)備與與計(jì)算算機(jī)之之間的的數(shù)據(jù)據(jù)交換換,是是CPU和I/O設(shè)備之之間的的接口口,它它接收收從CPU發(fā)來的的命令令,并并去控控制I/O設(shè)備工工作,,以使使處理理機(jī)從從繁雜雜的設(shè)設(shè)備控控制事事務(wù)中中解脫脫出來來??删幹分罚阂粋€(gè)個(gè)地址址對(duì)應(yīng)應(yīng)一個(gè)個(gè)設(shè)備備。分類:字符符設(shè)備備控制制器;;塊設(shè)設(shè)備控控制器器。141.設(shè)設(shè)備備控制制器的的基本本功能能接收和和識(shí)別別命令令在控制制器中中應(yīng)具具有控制寄寄存器器,用來來存放放接收收的命命令和和參數(shù)數(shù),并并進(jìn)行行譯碼碼。數(shù)據(jù)交交換((數(shù)據(jù)據(jù)寄存存器))實(shí)現(xiàn)CPU與控制制器,,控制制器與與設(shè)備備間的的數(shù)據(jù)據(jù)交換換。標(biāo)識(shí)和和報(bào)告告設(shè)備備的狀狀態(tài)控制器器中的的狀態(tài)寄寄存器器記錄設(shè)設(shè)備的的狀態(tài)態(tài)供CPU了解。。151.設(shè)設(shè)備備控制制器的的基本本功能能(續(xù)續(xù))地址識(shí)識(shí)別每個(gè)設(shè)設(shè)備都都有一一個(gè)地地址,,控制制器必必須能能識(shí)別別,需需配置置地址址譯碼碼器。。數(shù)據(jù)緩緩沖解決I/O設(shè)備與與CPU、內(nèi)存存速度度不匹匹配的的矛盾盾。差錯(cuò)控控制控制器器兼管管對(duì)由由I/O設(shè)備傳傳送來來的數(shù)數(shù)據(jù)進(jìn)進(jìn)行差差錯(cuò)檢檢測,,保證證數(shù)據(jù)據(jù)輸入入的正正確性性。162.設(shè)設(shè)備備控控制制器器的的組組成成175.1.3I/O通通道道1.I/O通道道設(shè)設(shè)備備的的引引入入目的的::原來來CPU的I/O任務(wù)務(wù)由由通通道道來來承承擔(dān)擔(dān),,從從而而把把CPU從繁繁雜雜的的I/O任務(wù)務(wù)中中解解脫脫出出來來。。特征征::一種種特特殊殊的的處處理理機(jī)機(jī),,它它具具有有執(zhí)執(zhí)行行I/O指令令的的能能力力,,并并通通過過執(zhí)執(zhí)行行通道道((I/O)程程序序來控控制制I/O操作作。。與一一般般處處理理機(jī)機(jī)的的區(qū)區(qū)別別::指令令類類型型單單一一((僅僅能能執(zhí)執(zhí)行行與與I/O操作作有有關(guān)關(guān)的的指指令令))。。沒有有自自己己的的內(nèi)內(nèi)存存((通通道道與與CPU共享享內(nèi)內(nèi)存存))。。182.通通道道類類型型通道道是是用用來來控控制制外外圍圍設(shè)設(shè)備備的的,,由由于于外外圍圍設(shè)設(shè)備備的的類類型型較較多多,,且且其其傳傳輸輸速速率率相相差差較較大大,,因因而而使使通通道道具具有有多多種種類類型型。。根根據(jù)據(jù)信信息息交交換換方方式式的的不不同同,,可可把把通通道道分分為為三三種種類類型型::1)字節(jié)多多路通道道2)數(shù)組選選擇通道道3)數(shù)組多多路通道道192.通通道類型型(續(xù)))1)字節(jié)多多路通道道(ByteMultiplexorChannel)是一種按按字節(jié)交交叉方式式工作的的通道。。一次交換換一個(gè)字字節(jié)。含有許多多非分配配型子通通道。子通道采采用多路路分時(shí)復(fù)復(fù)用---按時(shí)間間片輪轉(zhuǎn)轉(zhuǎn)方式共共享主通通道。控制器A控制器B控制器C控制器D控制器N…A1A2A3…子通道AB1B2B3…子通道BC1C2C3…子通道CN1N2N3…子通道NA1B1C1…A2B2C2…設(shè)備…202.通通道類型型(續(xù)))2)數(shù)組選選擇通道道(BlockSelectorChannel)按數(shù)組方方式進(jìn)行行數(shù)據(jù)傳傳送。含有一個(gè)個(gè)分配型型子通道道。一段時(shí)間間內(nèi)只執(zhí)執(zhí)行一道道通道程程序,控控制一臺(tái)臺(tái)設(shè)備。。設(shè)備獨(dú)占占通道,,通道利利用率低低。3)數(shù)組多多路通道道(BlockMultiplexorChannel)含有許多多非分配配型子通通道,分分時(shí)并行行操作。。按數(shù)組方方式進(jìn)行行數(shù)據(jù)傳傳送。21字節(jié)多路通道數(shù)組選擇通道數(shù)組多路通道223.““瓶頸頸”問題題通道資源源有限,,系統(tǒng)需需要同時(shí)時(shí)啟動(dòng)的的設(shè)備可可能較多多,使它它成為I/O的瓶頸,,進(jìn)而造造成整個(gè)個(gè)系統(tǒng)吞吞吐量的的下降。。設(shè)備1設(shè)備2設(shè)備3設(shè)備4設(shè)備5設(shè)備6設(shè)備7控制器1控制器2控制器3控制器4通道1通道2存儲(chǔ)器單通路I/O系統(tǒng)23解決“瓶瓶頸”問問題的方方法增加通路路,不增增加通道道。不僅解決決瓶頸問問題,而而且提高高了系統(tǒng)統(tǒng)的可靠靠性。245.1.4總總線系統(tǒng)統(tǒng)總線是系系統(tǒng)模塊塊之間傳傳送信息息的公用用通路。。CPU、、存儲(chǔ)器、、I/O設(shè)備之間間通過總線鏈接??偩€的性性能用時(shí)鐘頻率率,帶寬寬,傳輸輸速率來衡量。。25總線型I/O系統(tǒng)的結(jié)結(jié)構(gòu)26通道型的的I/O系統(tǒng)結(jié)構(gòu)構(gòu)27具有控制制器的I/O系統(tǒng)結(jié)構(gòu)構(gòu)281.ISA和和EISA總線線ISA:1984年為80286型微機(jī)設(shè)設(shè)計(jì),帶帶寬:8位16位,最高高傳輸速速率:2Mbps8Mbps16Mbps,能連接接12臺(tái)設(shè)備。。EISA:1989年,帶寬寬:32位,最高高傳輸速速率:32Mbps,能連接接12臺(tái)設(shè)備。。292.局局部總線線(LocalBus)定義:將多媒體體卡、高高速LAN網(wǎng)卡、高高性能圖圖形板等等從ISA總線上卸卸下來,,再通過過局部總總線控制制器直接接接到CPU總線上,,使之與與高速CPU總線相匹匹配。VESA總線:總線帶寬寬為32位,最高高傳輸速速率:132Mbps,能連接接2~4臺(tái)設(shè)備,,控制器器中無緩緩沖;難難于適應(yīng)應(yīng)處理器器速度的的不斷提提高,不不能支持持Pentium微機(jī)。PCI總線:支持64位系統(tǒng),,最高傳傳輸速率率:132Mbps,能支持持10種外設(shè),,有一個(gè)個(gè)復(fù)雜的的管理層層,管理理層中配配有數(shù)據(jù)據(jù)緩沖。。3031325.2I/O控制方方式宗旨:盡盡量減少少主機(jī)對(duì)對(duì)IO控制的干干預(yù),把把主機(jī)從從繁雜的的IO控制事務(wù)務(wù)中解脫脫出來。。1.程程序I/O方式2.中中斷驅(qū)動(dòng)動(dòng)I/O控制方式式3.直直接存儲(chǔ)儲(chǔ)器訪問問DMAI/O控制方式式4.I/O通道控制制方式333435程

序I/O方

式向I/O控制器發(fā)發(fā)讀命令令讀I/O控制器的的狀態(tài)從I/O控制器中中讀入字字向存儲(chǔ)器器中寫字字檢查狀態(tài)態(tài)?傳送完成成?出錯(cuò)完成CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存未完未就緒(=1)下條指令令就緒(=0)362.中中斷驅(qū)動(dòng)動(dòng)I/O控制方方式中斷驅(qū)動(dòng)動(dòng)I/O過程啟動(dòng):由由CPU根據(jù)進(jìn)程程的I/O請(qǐng)求,向向設(shè)備控控制器發(fā)發(fā)出一條條I/O命令;此此后CPU繼續(xù)執(zhí)行行其它進(jìn)進(jìn)程,即即CPU與外設(shè)并并行工作作。I/O設(shè)備完成成操作后后,由控控制器通通過控制制線向CPU發(fā)送一中中斷信號(hào)號(hào),由CPU檢查I/O操作是否否正確。。若無錯(cuò)錯(cuò),便向向設(shè)備控控制器發(fā)發(fā)送取走走數(shù)據(jù)的的信號(hào),,將數(shù)據(jù)據(jù)寫入內(nèi)內(nèi)存。37中斷驅(qū)動(dòng)動(dòng)I/O控制方式式向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲(chǔ)器中寫字檢查狀態(tài)傳送完成?出錯(cuò)完成CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存未完下一條指令就緒CPU做其它事中斷382.中中斷驅(qū)動(dòng)動(dòng)I/O控制方方式(續(xù)續(xù))優(yōu)點(diǎn)CPU與I/O并行工作作,提高高了資源源利用率率和吞吐吐量。缺點(diǎn)CPU每次處理理的數(shù)據(jù)據(jù)量少((通常不不超過幾幾個(gè)字節(jié)節(jié)),只只適于傳傳輸率較較低的設(shè)設(shè)備。393.直接存儲(chǔ)儲(chǔ)器訪問問(DMA)I/O控制方式式DMA(DirectMemoryAccess)控制方方式的引引入適應(yīng)一次次傳送大大量數(shù)據(jù)據(jù)的應(yīng)用用要求;;盡量減少少CPU對(duì)高速外外設(shè)的干干預(yù);基本思想想:在外外設(shè)和主主存之間間開辟直直接的數(shù)數(shù)據(jù)交換換通路。。特點(diǎn)數(shù)據(jù)傳輸輸?shù)幕颈締挝皇鞘菙?shù)據(jù)塊塊。數(shù)據(jù)從設(shè)設(shè)備直接接送入內(nèi)內(nèi)存,或或者相反反。僅在傳送送一個(gè)或或多個(gè)數(shù)數(shù)據(jù)塊的的開始和和結(jié)束時(shí)時(shí),才需需CPU干預(yù),整整塊數(shù)據(jù)據(jù)的傳送送是在控控制器的的控制下下完成的的。40DMA方方式向I/O控制器發(fā)布讀塊命令讀DMA控制器的狀態(tài)下條指令CPU做其它事中斷CPU→DMADMA→CPU41DMA控控制器的的組成CPU內(nèi)存主機(jī)-控制器接口DRMARDCCRI/O控制邏輯控制器與塊設(shè)備接口…DMA控制器系統(tǒng)總線命令count為實(shí)現(xiàn)主主機(jī)與控控制器之之間成塊塊數(shù)據(jù)的的交換,,需設(shè)置置:命令/狀態(tài)寄存存器CR內(nèi)存地址址寄存器器MAR數(shù)據(jù)寄存存器DR:暫存從設(shè)設(shè)備到內(nèi)內(nèi)存的數(shù)數(shù)據(jù),或或反之?dāng)?shù)據(jù)計(jì)計(jì)數(shù)器器DC:存放本本次CPU要讀或或?qū)懙牡淖?節(jié))數(shù)42DMA工工作過過程設(shè)置MAR和DC初值啟動(dòng)DMA傳送命令挪用存儲(chǔ)器周期傳送數(shù)據(jù)字存儲(chǔ)器地址增1字計(jì)數(shù)寄存器減1DC=0?請(qǐng)求中斷在繼續(xù)執(zhí)行用戶程序的同時(shí),準(zhǔn)備又一次傳送否是43DMA方方式與與中斷斷的主主要區(qū)區(qū)別中斷方方式是是在數(shù)數(shù)據(jù)緩緩沖寄寄存區(qū)區(qū)滿后后,發(fā)發(fā)中斷斷請(qǐng)求求,CPU進(jìn)行行中斷斷處理理。DMA方式式則是是在所所要求求傳送送的數(shù)數(shù)據(jù)塊塊全部部傳送送結(jié)束束時(shí)要要求CPU進(jìn)行行中斷斷處理理,大大大減減少了了CPU進(jìn)進(jìn)行中中斷處處理的的次數(shù)數(shù)。中斷方方式的的數(shù)據(jù)據(jù)傳送送是由由CPU控控制完完成的的,而而DMA方方式則則是在在DMA控控制器器的控控制下下不經(jīng)經(jīng)過CPU控制制完成成的。。444.I/O通道道控制制方式式I/O通道控控制方方式是是DMA方式的的發(fā)展展:CPU一次讀讀(或或?qū)?多個(gè)個(gè)數(shù)據(jù)據(jù)塊。。多個(gè)數(shù)數(shù)據(jù)塊塊送入入不同同內(nèi)存存區(qū)域域。CPU、通道和和I/O設(shè)備三三者可可并行行操作作。工作過過程::CPU向通道道發(fā)送送一條條I/O指令。。給出通道程程序首址和和要訪訪問的的I/O設(shè)備。。通過執(zhí)執(zhí)行通道程程序完成I/O任務(wù)。。45通道程程序通道是是通過過執(zhí)行行通道道程序序,并并與設(shè)設(shè)備控控制器器共同同實(shí)現(xiàn)現(xiàn)對(duì)I/O設(shè)備的的控制制的。。通道程程序由由一系系列通道指指令(通道道命令令)構(gòu)構(gòu)成。。通道指指令與與一般般的機(jī)機(jī)器指指令不不同,,每條條通道道指令令包含含的信信息::操作碼碼:指令執(zhí)執(zhí)行的的操作作:讀讀、寫寫、、控制制等。。內(nèi)存地地址::字符送送入/取出內(nèi)內(nèi)存的的首址址。計(jì)數(shù)::表示本本條指指令所所要讀讀/寫數(shù)據(jù)據(jù)的字字節(jié)數(shù)數(shù)。通道程程序結(jié)結(jié)束位位P(P=1表示程程序結(jié)結(jié)束))記錄結(jié)結(jié)束標(biāo)標(biāo)志R(R=0表示與與下一一條指指令處處理的的數(shù)據(jù)據(jù)屬于于同一一記錄錄;R=1表示某某記錄錄的最最后一一條指指令))46通道程程序操作PR計(jì)數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720共同寫寫一條記記錄獨(dú)寫一條記記錄共同寫寫一條記記錄475.3緩緩沖管管理什么是是緩沖沖?緩沖是是在兩兩種不不同速速度的的設(shè)備備之間間傳輸輸信息息時(shí)平平滑傳傳輸過過程的的常用用手段段。緩沖的的工作作原理理在進(jìn)程程請(qǐng)求求I/O傳輸時(shí)時(shí),利利用緩緩沖區(qū)區(qū)臨時(shí)時(shí)存放放I/O傳輸信信息,,以緩緩解傳傳輸信信息的的源設(shè)設(shè)備和和目標(biāo)標(biāo)設(shè)備備之間間速度度不匹匹配的的問題題。485.3緩緩沖管管理緩沖的引引入緩和CPU與I/O設(shè)備間速速度不匹匹配的矛矛盾。減少對(duì)CPU的中斷頻頻率,放放寬對(duì)中中斷響應(yīng)應(yīng)時(shí)間的的限制。。提高CPU和I/O設(shè)備之間間的并行行性。緩沖分類類:1.單單緩沖2.雙緩緩沖3.循循環(huán)緩沖沖4.緩沖沖池(BufferPool)緩沖管理理的主要要職責(zé)::組織好這這些緩沖沖區(qū),并并提供獲獲得和釋釋放緩沖沖區(qū)的手手段。491.單單緩沖(SingleBuffer)進(jìn)程發(fā)出出一個(gè)I/O請(qǐng)求時(shí),,操作系系統(tǒng)便在在主存中中為之分分配一緩緩沖區(qū)。。T:數(shù)據(jù)輸入入緩沖區(qū)區(qū)的時(shí)間間。M:數(shù)據(jù)從緩緩沖區(qū)傳傳到用戶戶區(qū)的時(shí)時(shí)間。C:CPU處理數(shù)據(jù)據(jù)時(shí)間。。工作區(qū)處理(C)緩沖區(qū)傳送(M)輸入(T)I/O設(shè)備(a)用戶進(jìn)程501.單單緩沖(SingleBuffer)(續(xù))T1M1C1T2M2C2T3M3C3T4t(b)緩沖區(qū)是是臨界資資源,CPU和外設(shè)輪輪流使用用。I/O設(shè)備與CPU并行工作作。對(duì)數(shù)據(jù)的的處理時(shí)時(shí)間:Max(C,T)+M。512.雙雙緩沖(緩沖對(duì)對(duì)換)在設(shè)備輸輸入時(shí),,先將數(shù)數(shù)據(jù)送入入第一緩緩沖區(qū),,裝滿后后便轉(zhuǎn)向向第二緩緩沖區(qū)。。此時(shí)OS可以從第第一緩沖沖區(qū)中移移出數(shù)據(jù)據(jù),并送送入用戶戶進(jìn)程。。接著由由CPU對(duì)數(shù)據(jù)進(jìn)進(jìn)行計(jì)算算。雙緩沖工工作示意意圖522.雙雙緩沖如果在實(shí)實(shí)現(xiàn)兩臺(tái)臺(tái)機(jī)器通通信時(shí),,只配置置單緩沖沖,那么么在任一一時(shí)刻只只能實(shí)現(xiàn)現(xiàn)單方向向的數(shù)據(jù)據(jù)傳輸。。為了實(shí)現(xiàn)現(xiàn)雙向數(shù)數(shù)據(jù)傳輸輸,必須須在兩臺(tái)臺(tái)機(jī)器中中都設(shè)置置兩個(gè)緩緩沖區(qū)。。分別用用在發(fā)送送和接收收。533.循循環(huán)緩沖沖循環(huán)緩沖沖的引入入:當(dāng)輸入和和輸出的的速度相相差很大大時(shí),雙雙緩沖效效果不理理想,但但可增加加緩沖區(qū)區(qū)的數(shù)量量,改善善情況。。引入多緩緩沖機(jī)制制:將多個(gè)緩緩沖組織織成循環(huán)環(huán)緩沖形形式,對(duì)對(duì)于用于于輸入的的循環(huán)緩緩沖,通通常提供供給輸入入進(jìn)程或或計(jì)算進(jìn)進(jìn)程使用用,輸入入進(jìn)程不不斷向空空緩沖區(qū)區(qū)輸入數(shù)數(shù)據(jù),計(jì)計(jì)算進(jìn)程程從中提提取數(shù)據(jù)據(jù)進(jìn)行計(jì)計(jì)算。54循環(huán)緩沖沖的組成成在主存中中分配一一組大小小相等的的緩沖區(qū)區(qū),并用用指針將將這些緩緩沖區(qū)組組織成一一個(gè)循環(huán)環(huán)鏈表,,構(gòu)成循循環(huán)緩沖沖。(1)多個(gè)緩沖區(qū)::用做輸入的緩緩沖區(qū)的類型型有:空緩沖區(qū)R、已裝滿數(shù)據(jù)據(jù)的緩沖區(qū)G、工作緩沖區(qū)區(qū)C(2)多個(gè)指針:指示計(jì)算進(jìn)程程的下一個(gè)可可用緩沖區(qū)G的指針nextg指示輸入進(jìn)程程下次可用的的空緩沖區(qū)R的指針nexti指示計(jì)算進(jìn)程程正在使用的的緩沖區(qū)C的指針current55循環(huán)緩沖區(qū)的的使用GetBuf()計(jì)算進(jìn)程和輸輸入進(jìn)程可利利用下述兩個(gè)個(gè)過程使用循循環(huán)緩沖區(qū)::GetBuf()ReleaseBuf()RGGGRGnextinextg123456RGGGRCnextinextgcurrent123456RGGGRR123456

nextgnextiReleaseBuf()56進(jìn)程同步Nexti指針追上Nextg指針。意味著輸入進(jìn)進(jìn)程輸入數(shù)據(jù)據(jù)的速度大于計(jì)計(jì)算進(jìn)程處理理數(shù)據(jù)的速度,,再無空緩沖沖區(qū)可用。輸入入進(jìn)程應(yīng)阻塞塞。該情況被稱為為系統(tǒng)受計(jì)算算控制。Nextg指針追上Nexti指針。意味著輸入數(shù)數(shù)據(jù)的速度低低于計(jì)算進(jìn)程程處理數(shù)據(jù)的的速度,再無無裝有數(shù)據(jù)的的緩沖區(qū)可用用。計(jì)算進(jìn)程程應(yīng)阻塞。該情況被稱為為系統(tǒng)受I/O控制。574.緩沖池池(BufferPool)緩沖池的引入入把專用循環(huán)緩緩沖變?yōu)楣糜镁彌_池提高高內(nèi)存利用率率。緩沖池的組成成同時(shí)用于輸入入/輸出的公用緩緩沖池至少包包括三種類型型:空閑緩沖區(qū)裝滿輸入數(shù)據(jù)據(jù)的緩沖區(qū)裝滿輸出數(shù)據(jù)據(jù)的緩沖區(qū)58緩沖池的組成成為了方便管理理,將相同類類型的緩沖區(qū)區(qū)鏈成一個(gè)隊(duì)隊(duì)列:空緩沖(區(qū)))隊(duì)列emq:隊(duì)首指針F(emq)、隊(duì)尾指針L(emq)。輸入緩沖(區(qū)區(qū))隊(duì)列inq:隊(duì)首指針F(inq)、隊(duì)尾指針L(inq)輸出緩沖(區(qū)區(qū))隊(duì)列outq:隊(duì)首指針F(outq)、隊(duì)尾指針L(outq)59緩沖池的組成成BufferPoolinqueueemptyqueueoutqueueDeviceCPU四種工作緩沖沖區(qū):收容輸入數(shù)據(jù)據(jù)的緩沖區(qū);;提取輸入數(shù)數(shù)據(jù)的緩沖區(qū)區(qū);收容輸出數(shù)據(jù)據(jù)的緩沖區(qū);;提取輸出數(shù)數(shù)據(jù)的緩沖區(qū)區(qū)。60Getbuf過程和Putbuf過過程Addbuf(type,number)過程:用于將由參數(shù)數(shù)number所指示的緩沖沖區(qū)B掛在type隊(duì)列上。Takebuf(type)過程:用于從從type所指示的隊(duì)列列的對(duì)首摘下下一個(gè)緩沖區(qū)區(qū)。由于緩沖池中中的隊(duì)列本身身是臨界資源源,多個(gè)進(jìn)程程在訪問一個(gè)個(gè)隊(duì)列時(shí),既既應(yīng)互斥,又又須同步。為此需對(duì)這兩兩個(gè)過程進(jìn)行行改造,形成成可用于對(duì)緩緩沖池中的隊(duì)隊(duì)列進(jìn)行操作作的Getbuf和Putbuf過程。61Getbuf過程和Putbuf過過程為每一隊(duì)列列設(shè)置一個(gè)個(gè)互斥信號(hào)號(hào)量MS(type)。為每個(gè)緩沖沖隊(duì)列設(shè)置置一個(gè)資源源信號(hào)量RS(type)。。ProcedureGetbuf(type)beginWait(RS(type));Wait(MS(type));B(number):=Takebuf(type);Signal(MS(type));endProcedurePutbuf(type)beginWait(MS(type));Addbuf(type,number);Signal(MS(type));Signal(RS(type));end62緩沖區(qū)的四四種工作方方式:收容輸入::收容輸入入設(shè)備的輸輸入數(shù)據(jù)提取輸入::計(jì)算進(jìn)程提提取緩沖區(qū)區(qū)中的數(shù)據(jù)據(jù)使用收容輸出::計(jì)算進(jìn)程程輸出結(jié)果果數(shù)據(jù)到緩緩沖區(qū)提取輸出::輸出設(shè)備備提取緩沖沖區(qū)中的數(shù)數(shù)據(jù)緩沖池收容輸入提取輸入提取輸出收容輸出hinsinsouthout用戶程序Getbuf(inq)Putbuf(emq,sin)Getbuf(outq)Putbuf(emq,sout)Getbuf(emq)Putbuf(outq,hout)Getbuf(emq)Putbuf(inq,hin)635.4I/O軟件件I/O軟件的總體體設(shè)計(jì)目標(biāo)標(biāo)是:高效性和通用性。為此將軟軟件組織成成一種層次次結(jié)構(gòu),底底層軟件用用于實(shí)現(xiàn)與與硬件相關(guān)關(guān)的操作,,并可屏蔽蔽硬件的具具體細(xì)節(jié),,高層軟件件則主要是是為用戶提提供一個(gè)簡簡潔、規(guī)范范的界面。。5.4.1I/O軟件的設(shè)計(jì)計(jì)目標(biāo)和原原則5.4.2中斷處處理程序5.4.3設(shè)備驅(qū)驅(qū)動(dòng)程序5.4.4設(shè)備獨(dú)獨(dú)立性軟件件5.4.5用戶層層的I/O軟件645.4.1I/O軟件的設(shè)設(shè)計(jì)目標(biāo)和和原則I/O軟件的設(shè)計(jì)計(jì)目標(biāo)與具體設(shè)備備無關(guān)統(tǒng)一命名對(duì)錯(cuò)誤的處處理緩沖技術(shù)設(shè)備的分配配和釋放I/O控制方式65I/O系統(tǒng)的層次次及功能用戶層軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動(dòng)程序中斷處理程序硬件I/O應(yīng)答產(chǎn)生I/O請(qǐng)求、格式化I/O、Spooling映射、保護(hù)、分塊、緩沖、分配設(shè)置設(shè)備寄存器,檢查寄存器狀態(tài)執(zhí)行I/O操作665.4.2中斷處處理程序中斷處理層層的主要工工作:進(jìn)行行進(jìn)程上下下文的切換換,對(duì)處理理中斷信號(hào)號(hào)源進(jìn)行測測試,讀取取設(shè)備狀態(tài)態(tài)和修改進(jìn)進(jìn)程狀態(tài)等等。中斷處理程程序的處理理過程:喚醒被阻塞塞的驅(qū)動(dòng)((程序)進(jìn)進(jìn)程保護(hù)被中斷斷進(jìn)程的CPU環(huán)境轉(zhuǎn)入相應(yīng)的的設(shè)備處理理程序中斷處理恢復(fù)被中斷斷進(jìn)程的現(xiàn)現(xiàn)場67中

斷處處

理程程

序685.4.3設(shè)備驅(qū)驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程程序又稱為為設(shè)備處理理程序,是I/O進(jìn)程與設(shè)備備控制器之之間的通信信程序。驅(qū)動(dòng)程序與與硬件密切切相關(guān),為為每一類或或非常類似似的兩類設(shè)設(shè)備配置一一種驅(qū)動(dòng)程程序。691.設(shè)備備驅(qū)動(dòng)程程序功能能為了實(shí)現(xiàn)現(xiàn)I/O進(jìn)程與設(shè)設(shè)備控制制器之間間的通信信,設(shè)備備驅(qū)動(dòng)程程序應(yīng)具具有以下下功能::接收由設(shè)設(shè)備獨(dú)立立性軟件件發(fā)來的的命令和和參數(shù),,將命令令中的抽抽象請(qǐng)求求轉(zhuǎn)換為為具體請(qǐng)請(qǐng)求。檢查用戶戶I/O請(qǐng)求的合合法性,,了解I/O設(shè)備的狀狀態(tài),傳傳遞有關(guān)關(guān)參數(shù),,設(shè)置設(shè)設(shè)備的工工作方式式。發(fā)出I/O命令:設(shè)備空閑閑,啟動(dòng)動(dòng)I/O設(shè)備,否否則將請(qǐng)請(qǐng)求塊掛掛在設(shè)備備隊(duì)列上上等待。。及時(shí)響應(yīng)應(yīng)控制器器或通道道發(fā)來的的中斷請(qǐng)請(qǐng)求,根根據(jù)類型型進(jìn)行處處理。自動(dòng)地構(gòu)構(gòu)成通道道程序。。702.設(shè)設(shè)備處理理方式根據(jù)在設(shè)設(shè)備處理理時(shí)是否否設(shè)置進(jìn)進(jìn)程,以以及設(shè)置置什么樣樣的進(jìn)程程而把設(shè)設(shè)備處理理方式分分為以下下三類::為每一類類設(shè)備設(shè)設(shè)置一個(gè)個(gè)進(jìn)程,,專門用用于執(zhí)行行這類設(shè)設(shè)備的I/O操作。在整個(gè)系系統(tǒng)中設(shè)設(shè)置一個(gè)個(gè)I/O進(jìn)程,專專門用于于執(zhí)行系系統(tǒng)中所所有各類類設(shè)備的的輸入或或輸出操操作。不設(shè)置專專門的設(shè)設(shè)備處理理進(jìn)程,,而只為為各類設(shè)設(shè)備設(shè)置置相應(yīng)的的設(shè)備處處理程序序,供用用戶進(jìn)程程或系統(tǒng)統(tǒng)進(jìn)程調(diào)調(diào)用。713.設(shè)備備驅(qū)動(dòng)程程序的特特點(diǎn)設(shè)備驅(qū)動(dòng)動(dòng)程序?qū)賹儆诘图?jí)級(jí)的系統(tǒng)統(tǒng)例程,,它與一一般的應(yīng)應(yīng)用程序序及系統(tǒng)統(tǒng)程序之之間有明明顯差異異:驅(qū)動(dòng)程序序主要是是指在請(qǐng)請(qǐng)求I/O的進(jìn)程與與設(shè)備控控制器之之間的一一個(gè)通信信和轉(zhuǎn)換換程序。。與硬件特特性緊密密相關(guān),,不同類類型的設(shè)設(shè)備配置置不同的的驅(qū)動(dòng)程程序。驅(qū)動(dòng)程序序與I/O設(shè)備所采采用的I/O控制方式式緊密相相關(guān)。一般使用用匯編語語言書寫寫。驅(qū)動(dòng)程序序應(yīng)允許許可重入入。723.設(shè)備備驅(qū)動(dòng)程程序的處處理過程程設(shè)備驅(qū)動(dòng)動(dòng)程序的的主要任任務(wù)是啟啟動(dòng)指定定設(shè)備。。具體的的處理過過程如下下:將抽象要要求轉(zhuǎn)換換為具體體要求。。檢查I/O請(qǐng)求的合合法性。。讀出和檢檢查設(shè)備備的狀態(tài)態(tài)。傳送必要要的參數(shù)數(shù)。工作方式式的設(shè)置置。啟動(dòng)I/O設(shè)備。735.4.4設(shè)設(shè)備獨(dú)立立性軟件件1.設(shè)備獨(dú)立立性的概概念:設(shè)備獨(dú)立立性(設(shè)設(shè)備無關(guān)關(guān)性):應(yīng)用程程序獨(dú)立立于具體體使用的的物理設(shè)設(shè)備。為了實(shí)現(xiàn)現(xiàn)設(shè)備獨(dú)獨(dú)立性,,引入了了邏輯設(shè)設(shè)備和物物理設(shè)備備:應(yīng)用程序序中使用用邏輯設(shè)備備名稱來請(qǐng)請(qǐng)求使用用某類設(shè)設(shè)備;系系統(tǒng)將其其轉(zhuǎn)換為為物理設(shè)備備名稱。好處:設(shè)備分配配時(shí)的靈靈活性。。易于實(shí)現(xiàn)現(xiàn)I/O重定向。。742.設(shè)設(shè)備獨(dú)立立性軟件件是驅(qū)動(dòng)程程序之上上的一層層軟件,,功能如如下:執(zhí)行所有有設(shè)備的的公有操操作:對(duì)獨(dú)立設(shè)設(shè)備的分分配與回回收。將邏輯設(shè)設(shè)備名映映射為物物理設(shè)備備名,找找到相應(yīng)應(yīng)物理設(shè)設(shè)備的驅(qū)驅(qū)動(dòng)程序序。對(duì)設(shè)備進(jìn)進(jìn)行保護(hù)護(hù),禁止止用戶直直接訪問問設(shè)備。。緩沖管理理。差錯(cuò)控制制。向用戶層層(或文文件層)軟件提提供統(tǒng)一一接口。。753.邏輯設(shè)備備名到物物理設(shè)備備名映射射的實(shí)現(xiàn)現(xiàn)邏輯設(shè)備備表LUT:為了實(shí)現(xiàn)現(xiàn)邏輯設(shè)設(shè)備名到到物理設(shè)設(shè)備名的的映射,,系統(tǒng)必必須設(shè)置置一張邏輯設(shè)備備表LUT(LogicalUnitTable),能夠夠?qū)?yīng)用用程序中中所使用用的邏輯輯設(shè)備名名映射為為物理設(shè)設(shè)備名,,并提供供該設(shè)備備驅(qū)動(dòng)程程序的入入口地址址。邏輯設(shè)備名物理設(shè)備名驅(qū)動(dòng)程序入口地址/dev/tty31024/dev/printer52046………763.邏邏輯設(shè)備備名到物物理設(shè)備備名映射射的實(shí)現(xiàn)現(xiàn)LUT的設(shè)置問問題整個(gè)系統(tǒng)統(tǒng)一張LUT(單用戶戶系統(tǒng)))每個(gè)用戶戶一張LUT(多用戶戶系統(tǒng)))邏輯設(shè)備名/dev/tty/dev/printer…系統(tǒng)設(shè)備表指針35775.4.5用用戶層的的I/O軟件用戶層軟軟件必須須通過一一組系統(tǒng)統(tǒng)調(diào)用來來取得操操作系統(tǒng)統(tǒng)服務(wù)。。785.5設(shè)設(shè)備分分配在多道程程序環(huán)境境下,設(shè)設(shè)備必須須由系統(tǒng)統(tǒng)分配。。每當(dāng)進(jìn)進(jìn)程向系系統(tǒng)提出出I/O請(qǐng)求時(shí),,設(shè)備分分配程序序按照一一定的分分配策略略,把其其所需的的設(shè)備及及其有關(guān)關(guān)資源((如緩沖沖區(qū)、控控制器和和通道))分配給給該進(jìn)程程。在分分配設(shè)備備時(shí)還必必須考慮慮系統(tǒng)的的安全性性,避免免發(fā)生死死鎖現(xiàn)象象。5.5.1設(shè)設(shè)備分配配中的數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)5.5.2設(shè)設(shè)備分配配時(shí)應(yīng)考考慮的因因素5.5.3獨(dú)獨(dú)占設(shè)備備的分配配程序5.5.4SPOOLing技術(shù)795.5.1設(shè)設(shè)備分配配中的數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)設(shè)備控制制表DCT(每個(gè)設(shè)設(shè)備配置置一張?jiān)O(shè)設(shè)備控制制表)設(shè)備類型type設(shè)備標(biāo)識(shí)符:deviceid設(shè)備狀態(tài):等待/不等待忙/閑指向控制器表的指針重復(fù)執(zhí)行次數(shù)或時(shí)間設(shè)備隊(duì)列的隊(duì)首指針DCT1DCT2DCTn設(shè)備控制表集合805.5.1設(shè)設(shè)備分配配中的數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)控制器控控制表控制器標(biāo)識(shí)符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)尾指針(a)控制器表COCT815.5.1設(shè)設(shè)備分配配中的數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)通道控制制表通道標(biāo)識(shí)符:channelid通道狀態(tài):忙/閑與通道連接的控制器表首址通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)尾指針(b)通道表CHCT825.5.1設(shè)設(shè)備分配配中的數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)系統(tǒng)設(shè)備備表83845.5.2設(shè)設(shè)備分配配時(shí)應(yīng)考考慮的因因素設(shè)備的固固有屬性性獨(dú)享設(shè)備備;共享享設(shè)備;;虛擬設(shè)設(shè)備設(shè)備分配配算法先來先服服務(wù);優(yōu)優(yōu)先級(jí)高高者優(yōu)先先設(shè)備分配配中的安安全性安全分配配方式::進(jìn)程發(fā)發(fā)出I/O請(qǐng)求后就就進(jìn)入阻阻塞態(tài)不安全分分配方式式:進(jìn)程程發(fā)出I/O請(qǐng)求仍繼繼續(xù)運(yùn)行行設(shè)備獨(dú)立立性855.5.3獨(dú)獨(dú)占設(shè)備備的分配配程序基本的設(shè)設(shè)備分配配程序::分配設(shè)備備分配控控制器分配通通道設(shè)備分配配程序的的改進(jìn)::增加設(shè)備備的獨(dú)立立性使用邏輯輯設(shè)備名名考慮多通通路情況況865.5.4SPOOLing技術(shù)術(shù)1.什么是SPOOLing技術(shù)(假假脫機(jī)技技術(shù))定義:在聯(lián)機(jī)的的情況下下實(shí)現(xiàn)的的同時(shí)外外圍操作作。特點(diǎn):是對(duì)脫機(jī)機(jī)輸入輸輸出系統(tǒng)統(tǒng)的模擬擬。因此此,必必須建立立在具有有多道程程序功能能的操作作系統(tǒng)上上,而且且需要高高速外存存的支持持。方式:將數(shù)據(jù)從從輸入設(shè)設(shè)備傳送送到磁盤盤或反之之。通過它可可以將一一臺(tái)獨(dú)占占的物理理設(shè)備虛虛擬為多多臺(tái)邏輯輯設(shè)備,,從而允允許多個(gè)個(gè)用戶((進(jìn)程))共享。。872.SPOOLing系統(tǒng)統(tǒng)的組成成883.共共享打印印機(jī)用戶進(jìn)程程請(qǐng)求打打印時(shí),,SPOOLing系統(tǒng)并不不真正立立即把打打印機(jī)分分配給該該進(jìn)程,,而只做做兩件事事:①輸出進(jìn)進(jìn)程在在輸出出井中中申請(qǐng)請(qǐng)一個(gè)個(gè)空閑閑磁盤盤塊區(qū)區(qū),并并將要要打印印的數(shù)數(shù)據(jù)送送入其其中。。②輸出進(jìn)進(jìn)程再再為用用戶進(jìn)進(jìn)程申申請(qǐng)一一張空空白的的用戶戶請(qǐng)求求打印印表,,并將將用戶戶的打打印要要求填填入其其中,,再將將該表表掛到到請(qǐng)求求打印印隊(duì)列列上。。當(dāng)打印印機(jī)空空閑時(shí)時(shí),輸輸出進(jìn)進(jìn)程將將從請(qǐng)請(qǐng)求打打印隊(duì)隊(duì)列的的隊(duì)首首取出出一張張請(qǐng)求求打印印表,,再從從輸出出井把把數(shù)據(jù)據(jù)送到到內(nèi)存存緩沖沖區(qū),,啟動(dòng)動(dòng)打印印機(jī)打打印輸輸出。。打印印完后后,輸輸出進(jìn)進(jìn)程檢檢查請(qǐng)請(qǐng)求打打印隊(duì)隊(duì)列……894.SPOOLing系統(tǒng)統(tǒng)的特特點(diǎn)提高了了I/O的速度度,緩緩和了了CPU與低速速I/O設(shè)備速速度不不匹配配的矛矛盾。。利用高高速共共享設(shè)設(shè)備,,將獨(dú)獨(dú)占設(shè)設(shè)備改改造為為共享享設(shè)備備。實(shí)現(xiàn)了了虛擬擬設(shè)備備功能能,用用戶都都感到到獨(dú)占占了一一臺(tái)設(shè)設(shè)備。。905.6磁磁盤存存儲(chǔ)器器管理理磁盤存存儲(chǔ)器器特點(diǎn)點(diǎn):容容量大大、存存取速速度快快、隨隨機(jī)存存取,,主要要存放放文件件。磁盤存存儲(chǔ)器器管理理內(nèi)容容:5.6.1磁盤性性能簡簡述5.6.2磁磁盤調(diào)調(diào)度5.6.3磁磁盤高高速緩緩存(DiskCache)5.6.4提高磁磁盤I/O速度的的其它它方法法5.6.5廉廉價(jià)磁磁盤冗冗余陣陣列915.6.1磁磁盤性性能簡簡述硬盤的的結(jié)構(gòu)構(gòu)925.6.1磁磁盤性性能簡簡述1.數(shù)據(jù)的的組織織和格格式磁盤的的結(jié)構(gòu)構(gòu)柱面盤面磁臂磁頭935.6.1磁磁盤性性能簡簡述磁盤盤盤面結(jié)結(jié)構(gòu)磁道間間隔扇區(qū)磁道扇區(qū)間間隔945.6.1磁磁盤性性能簡簡述(0柱面,0磁頭,1扇區(qū))(0,0,63)(1,0,3)(0,0,2)(0,1,1)(0,3,1)(1,0,1)(0柱面,0磁頭,1扇區(qū))老式磁磁盤的的物理理地址址(CHS尋址))3D參數(shù)::柱面面數(shù)(Cylinders),磁頭頭數(shù)(Heads),扇區(qū)區(qū)數(shù)(Sectors)柱面,,磁頭頭,扇扇區(qū)的的取值值范圍圍分別別為0到Cylinders––1,0到Heads––1,1到Sectors(注意S是從1開始)955.6.1磁磁盤性性能簡簡述為了提提高磁磁盤的的存儲(chǔ)儲(chǔ)容量量,現(xiàn)現(xiàn)代磁磁盤不不再把把磁道道劃分分為相相同數(shù)數(shù)目的的扇區(qū)區(qū),而而是將將盤面面劃分分成若若干條條環(huán)帶,同一一環(huán)帶帶內(nèi)的的磁道道具有有相同同的扇扇區(qū)數(shù)數(shù)。顯顯然,,外層層環(huán)帶帶的磁磁道的的扇區(qū)區(qū)比內(nèi)內(nèi)層的的多。。采用這這種結(jié)結(jié)構(gòu)后后,硬硬盤不不再具具有實(shí)實(shí)際的的3D參數(shù),,尋址址方式式也改改為線線性尋尋址,,即以以扇區(qū)區(qū)為單單位進(jìn)進(jìn)行尋尋址。。大多數(shù)數(shù)現(xiàn)代代磁盤盤都隱隱藏了了這些些細(xì)節(jié)節(jié),向向操作作系統(tǒng)統(tǒng)提供供虛擬擬幾何何的磁磁盤規(guī)規(guī)格,,而不不是實(shí)實(shí)際的的物理理幾何何規(guī)格格。965.6.1磁磁盤性性能簡簡述磁盤的的低級(jí)級(jí)格式式化溫盤((溫切切斯特特盤))磁盤分分區(qū)每個(gè)分分區(qū)是是一個(gè)個(gè)獨(dú)立立的邏邏輯磁磁盤。。每個(gè)分分區(qū)的的起始始扇區(qū)區(qū)和大大小記記錄在在磁盤盤0扇扇區(qū)的的主引引導(dǎo)記記錄分分區(qū)表表中。。磁盤高高級(jí)格格式化化(使使用))設(shè)置一一個(gè)引引導(dǎo)塊塊、空空閑存存儲(chǔ)管管理、、根目目錄和和一個(gè)個(gè)空文文件系系統(tǒng)。。在分區(qū)區(qū)表中中標(biāo)記記該分分區(qū)所所使用用的文文件系系統(tǒng)。。975.6.1磁磁盤性性能簡簡述磁盤容容量算算法硬盤容容量==盤面面數(shù)((磁頭頭數(shù)))×柱柱面數(shù)數(shù)(磁磁道數(shù)數(shù))××扇區(qū)區(qū)數(shù)××每扇扇區(qū)字字節(jié)16××16383××63××600=9,908,438,400≈10G16×16383×63××512=8,455,200,76898磁盤的類型型硬盤、軟盤盤單片盤、多多片盤固定磁頭盤盤(用于大大磁盤)每條磁道都都有一讀/寫磁頭,裝裝在一鋼性性磁臂上,,可對(duì)所有有磁道實(shí)現(xiàn)現(xiàn)并行讀寫寫,提高磁磁盤I/O速度。移動(dòng)磁頭盤盤(用于中中小型磁盤盤)每盤面配一一磁頭,裝裝入磁臂中中,通過磁磁頭移動(dòng)進(jìn)進(jìn)行尋道,,從而訪問問磁盤上所所有磁道,,可對(duì)所有有磁道實(shí)現(xiàn)現(xiàn)串行讀寫寫,I/O速度較慢。。99尋道時(shí)間((磁頭移動(dòng)動(dòng)到磁道上上所經(jīng)歷的的時(shí)間):Ts=m×n+ss啟動(dòng)磁臂的的時(shí)間,m磁頭移動(dòng)一一條磁道花花費(fèi)的時(shí)間間。旋轉(zhuǎn)延遲時(shí)時(shí)間(扇區(qū)區(qū)移動(dòng)到磁磁頭下面所所經(jīng)歷的時(shí)時(shí)間):平均Tτ=1/2r(r為磁盤每秒秒鐘的轉(zhuǎn)數(shù)數(shù))傳輸時(shí)間((讀/寫數(shù)據(jù)所經(jīng)經(jīng)歷的時(shí)間間):Tt=b為每次所讀讀/寫的字字節(jié)數(shù)。N為一條磁道道上的字節(jié)節(jié)數(shù)。訪問時(shí)間::磁盤訪問時(shí)時(shí)間rNbrTTsa++=21rNb100磁盤訪問時(shí)時(shí)間尋道時(shí)間和旋轉(zhuǎn)延遲時(shí)時(shí)間在訪問時(shí)間間中占主要要部分假設(shè)尋道時(shí)時(shí)間和旋轉(zhuǎn)轉(zhuǎn)延遲時(shí)間間平局為20ms,磁盤傳輸輸速率10Mbps,則傳輸10KB數(shù)據(jù)總訪問問時(shí)間為:21ms,而傳輸100KB數(shù)據(jù)總訪問問時(shí)間為30ms合理組織磁磁盤數(shù)據(jù)的的存儲(chǔ)位置置(集中存存儲(chǔ))可提提高磁盤I/O性能。隨機(jī)分布時(shí)時(shí)的訪問時(shí)時(shí)間為連續(xù)續(xù)分布時(shí)的的33.5倍。1015.6.2磁盤盤調(diào)度磁盤調(diào)度目目標(biāo):采用用一種最佳佳調(diào)度算法法,使各進(jìn)進(jìn)程對(duì)磁盤盤的平均訪訪問時(shí)間((尋道時(shí)間間)最小。。磁盤調(diào)度算算法:1.先來來先服務(wù)FCFS2.最短短尋道時(shí)間間優(yōu)先SSTF3.掃描描(SCAN)算法4.循環(huán)環(huán)掃描(CSCAN)算法5.N-Step-SCAN算法6.FSCAN算法1021.先來來先服務(wù)FCFS磁道號(hào)183839555890100150160184請(qǐng)求次序483125開始769平均尋道長長度:(45+3+19+21+72+70+10+112+146)/9=55.31031.先先來先服服務(wù)FCFS公平,簡簡單。I/O負(fù)負(fù)載較輕輕且每次次讀寫多多個(gè)連續(xù)續(xù)扇區(qū)時(shí)時(shí),性能能較好。。適用于I/O進(jìn)進(jìn)程較少少的場合合。(從100號(hào)磁道開始)被訪問的下一個(gè)磁道號(hào)移動(dòng)距離(磁道數(shù))5558391890160150381844531921727010112146平均尋道長度:55.31042.最最短尋道道時(shí)間優(yōu)優(yōu)先SSTF磁道號(hào)183839555890100150160184請(qǐng)求次序序483125開始769平均尋道道長度:(10+32+3+16+1+20+132+10+24)/9=27.51052.最最短尋道道時(shí)間優(yōu)優(yōu)先SSTF磁頭移動(dòng)動(dòng)距離最最近,時(shí)時(shí)間最少少。不能保證證平均尋尋道時(shí)間間最短。。可能會(huì)有有進(jìn)程處處于“饑餓”狀態(tài)。。(從100號(hào)磁道開始)被訪問的下一個(gè)磁道號(hào)移動(dòng)距離(磁道數(shù))90585539381815016018410323161201321024平均尋道長度:27.51063.掃掃描(SCAN)算法法磁道號(hào)183839555890100150160184請(qǐng)求次序序483125開始7691073.掃掃描(SCAN)算法法電梯調(diào)度度算法。。防止“饑饑餓”現(xiàn)現(xiàn)象。被廣泛應(yīng)應(yīng)用。磁頭剛剛剛越過了了某一磁磁道,恰恰好又有有一進(jìn)程程請(qǐng)求訪訪問此磁磁道,該該進(jìn)程長長時(shí)間等等待。(從100號(hào)磁道開始,向磁道號(hào)增加的方向訪問)被訪問的下一個(gè)磁道號(hào)移動(dòng)距離(磁道數(shù))1501601849058553938185010249432316120平均尋道長度:27.81084.循循環(huán)掃描描(CSCAN)算法法磁道號(hào)183839555890100150160184請(qǐng)求次序序483125開開始7691094.循循環(huán)掃描描(CSCAN)算法法磁頭單向向移動(dòng)。。該算法在在中負(fù)載載或重負(fù)負(fù)載時(shí),,性能比比掃描算算法好。。(從100號(hào)磁道開始,向磁道號(hào)增加的方向訪問)被訪問的下一個(gè)磁道號(hào)移動(dòng)距離(磁道數(shù))15016018418383955589050102416620116332平均尋道長度:35.81105.N-Step-SCAN算法法在高密度度磁盤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論