九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

08第八章 設(shè)備與IO管理1

上傳人:xins****2008 文檔編號:116211417 上傳時間:2022-07-05 格式:PPTX 頁數(shù):78 大?。?17.30KB
收藏 版權(quán)申訴 舉報 下載
08第八章 設(shè)備與IO管理1_第1頁
第1頁 / 共78頁
08第八章 設(shè)備與IO管理1_第2頁
第2頁 / 共78頁
08第八章 設(shè)備與IO管理1_第3頁
第3頁 / 共78頁

下載文檔到電腦,查找使用更方便

30 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《08第八章 設(shè)備與IO管理1》由會員分享,可在線閱讀,更多相關(guān)《08第八章 設(shè)備與IO管理1(78頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第八章第八章 設(shè)備與設(shè)備與I/O管理管理n設(shè)備及其分類設(shè)備及其分類n設(shè)備的物理特性設(shè)備的物理特性nIO傳輸方式(查詢、中斷、通道、傳輸方式(查詢、中斷、通道、DMA)n設(shè)備分配與去配設(shè)備分配與去配n設(shè)備驅(qū)動設(shè)備驅(qū)動n設(shè)備調(diào)度設(shè)備調(diào)度n緩沖技術(shù)緩沖技術(shù)n輸入輸出進程輸入輸出進程nRAID技術(shù)技術(shù)n虛擬設(shè)備虛擬設(shè)備8.1 設(shè)備及其分類設(shè)備及其分類n用途用途n存儲型設(shè)備存儲型設(shè)備n磁盤,磁帶,光盤磁盤,磁帶,光盤nIO型設(shè)備型設(shè)備n掃描儀,打印機,掃描儀,打印機,mouse,keyboard,monitor,n網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)設(shè)備n網(wǎng)卡,交換機,網(wǎng)卡,交換機,etc.8.1 設(shè)備及其分類設(shè)備及其分類n管

2、理管理n共享型設(shè)備(塊型)共享型設(shè)備(塊型)n多個進程的多個進程的IO操作以塊為單位可以交叉操作以塊為單位可以交叉n獨占型設(shè)備(塊型)獨占型設(shè)備(塊型)n多個進程的多個進程的IO操作以塊為單位不宜交叉操作以塊為單位不宜交叉n獨占型設(shè)備(字符型)獨占型設(shè)備(字符型)n多個進程的多個進程的IO操作以字符為單位不能交叉操作以字符為單位不能交叉IO設(shè)備的物理特性設(shè)備的物理特性傳輸一字節(jié)發(fā)生一次中斷傳輸一字節(jié)發(fā)生一次中斷存儲設(shè)備的物理特性存儲設(shè)備的物理特性磁帶的物理特性磁帶的物理特性頭標頭標 信息塊信息塊 信息塊信息塊 信息塊信息塊 .尾標尾標間隙間隙操作:反繞,正向查找,反向查找,讀,寫,操作:反繞,

3、正向查找,反向查找,讀,寫,地址:一維地址:一維文件:順序結(jié)構(gòu)(一個文件占若干連續(xù)塊)文件:順序結(jié)構(gòu)(一個文件占若干連續(xù)塊)8.2 設(shè)備的物理特性.磁盤組的物理特性磁盤組的物理特性.盤面盤面0盤面盤面1盤面盤面2盤面盤面m-1扇區(qū)扇區(qū)1扇區(qū)扇區(qū)0扇區(qū)扇區(qū)n-1柱面柱面0柱面柱面l-1.引臂柱面號柱面號i盤面號盤面號j扇區(qū)號扇區(qū)號k塊號塊號b(一維地址)一維地址)(三維地址)(三維地址)編址方法:使相鄰塊物理上最近編址方法:使相鄰塊物理上最近例子:例子:l=2;m=3;n=3柱面號:柱面號:0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1盤面號:盤面號:0 0 0 1 1

4、1 2 2 2 0 0 0 1 1 1 2 2 2扇區(qū)號:扇區(qū)號:0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2塊塊 號:號:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17三維地址三維地址一維地址:一維地址:b=i m n+j n+k一維地址一維地址三維地址:三維地址:i=b(m n)j=b mod(m n)n k=b mod(m n)mod n未考慮讀寫延遲的扇區(qū)編號:未考慮讀寫延遲的扇區(qū)編號:扇區(qū)扇區(qū)0扇區(qū)扇區(qū)7扇區(qū)扇區(qū)6扇區(qū)扇區(qū)5扇區(qū)扇區(qū)4扇區(qū)扇區(qū)3扇區(qū)扇區(qū)2扇區(qū)扇區(qū)1扇區(qū)扇區(qū)0扇區(qū)扇區(qū)7扇區(qū)扇區(qū)3扇區(qū)扇區(qū)6扇區(qū)扇區(qū)2扇區(qū)扇

5、區(qū)5扇區(qū)扇區(qū)1扇區(qū)扇區(qū)4考慮讀寫延遲的扇區(qū)編號考慮讀寫延遲的扇區(qū)編號(單交錯單交錯):扇區(qū)扇區(qū)0扇區(qū)扇區(qū)5扇區(qū)扇區(qū)2扇區(qū)扇區(qū)7扇區(qū)扇區(qū)4扇區(qū)扇區(qū)1扇區(qū)扇區(qū)6扇區(qū)扇區(qū)3考慮讀寫延遲的扇區(qū)編號考慮讀寫延遲的扇區(qū)編號(雙交錯雙交錯):光盤的物理特性:讀取原理:pit/land 螺旋線,22188圈(展開5.6km),內(nèi)側(cè)轉(zhuǎn)速:530轉(zhuǎn)/分;外側(cè)轉(zhuǎn)速:200轉(zhuǎn)/分(密度均勻,讀取速度均勻)DataECCP14個bit構(gòu)成一個symble42個symble構(gòu)成一個frame98個frame構(gòu)成一個sectorSector2352bytes588bits的frame各包含24字節(jié)Preamble:16by

6、tes,前12bytes為:00FFFFFFFFFFFFFFFFFFFF00后隨3bytes扇區(qū)編號,最后字節(jié)為mode2048字節(jié)288字節(jié)8.3 I/O 傳輸方式nIO操作演變歷史操作演變歷史n程序查詢方式程序查詢方式 (programmed IO)(polling)nCPU and Device can not work in parallel n中斷方式中斷方式 (interrupt)nCPU and device can work in parallel,too many interrupts for CPUn通道方式通道方式 (channel)nspecial processor

7、for dealing with io operationsn直接內(nèi)存方式直接內(nèi)存方式(DMA)nDMA controller in charge of block io8.3.1 程序控制查詢方式程序控制查詢方式CPU啟動設(shè)備啟動設(shè)備完成完成FT缺點缺點:處理機與設(shè)備串行工作處理機與設(shè)備串行工作;消耗大量處理機時間消耗大量處理機時間.8.3.2 中斷驅(qū)動方式中斷驅(qū)動方式nCPUn計算計算n啟動設(shè)備啟動設(shè)備n計算計算nn計算計算n中斷處理中斷處理n計算計算設(shè)備設(shè)備:工工作作特點特點:CPU與設(shè)備并行工作與設(shè)備并行工作 設(shè)備多時對設(shè)備多時對CPU打擾多打擾多8.3.3 DMA方式 數(shù)據(jù)傳輸數(shù)據(jù)傳

8、輸CPUDMA控制器控制器內(nèi)存內(nèi)存地地 址址計計 數(shù)數(shù)控控 制制緩沖緩沖磁盤磁盤 中斷中斷 DMA請求請求總線總線磁盤磁盤控制器控制器 回答回答 DMA編程編程8.3.3 DMA方式.nCPU通過設(shè)置DMA控制器實現(xiàn)DMA編程,同時啟動磁盤控制器由磁盤讀入數(shù)據(jù)至內(nèi)部緩沖區(qū)并進行和校驗;nDMA控制器向磁盤控制器發(fā)出讀請求,并將內(nèi)存地址放在地址總線上;n磁盤控制器將字節(jié)傳到內(nèi)存指定單元;n磁盤控制器向DMA控制器發(fā)送回答;nDMA控制器將內(nèi)部地址寄存器加1同時將記數(shù)減1,重復(fù)上述過程直至計數(shù)值為0,此時DMA控制器向CPU發(fā)出中斷信號.8.3.4 通道方式通道方式n通道通道n負責(zé)負責(zé)IO操作的處

9、理機操作的處理機n指令系統(tǒng)指令系統(tǒng)n基本操作:讀、寫、控制、轉(zhuǎn)移、結(jié)束基本操作:讀、寫、控制、轉(zhuǎn)移、結(jié)束n指令格式:(操作碼,傳輸量,特征位,地址)指令格式:(操作碼,傳輸量,特征位,地址)n運控部件運控部件nCAW,CCW,CSW,CDWn存儲區(qū)域(與存儲區(qū)域(與CPU共用內(nèi)存共用內(nèi)存,通道內(nèi)有緩沖區(qū))通道內(nèi)有緩沖區(qū))n通道程序,通道程序,IO數(shù)據(jù)(數(shù)據(jù)(channel does have its buffers)通道程序執(zhí)行過程:通道程序執(zhí)行過程:按按CAW取通道命令取通道命令CCW(CAW)+1 CAW是通道結(jié)束命令是通道結(jié)束命令執(zhí)行此命令執(zhí)行此命令F向向CPU發(fā)中斷發(fā)中斷一個通道程序可

10、以控制若干設(shè)備進行多次一個通道程序可以控制若干設(shè)備進行多次IO傳輸。傳輸。T通道類型通道類型n字節(jié)多路通道字節(jié)多路通道(byte multiplexer channel)n 多個非分配型子通道,連接低速外圍設(shè)備多個非分配型子通道,連接低速外圍設(shè)備n數(shù)組選擇通道數(shù)組選擇通道(block selector channel)n 一個分配型子通道,連接多臺高速設(shè)備一個分配型子通道,連接多臺高速設(shè)備n數(shù)組多路通道數(shù)組多路通道(block multiplexer channel)n 多個非分配型子通道,連接多臺高速設(shè)備多個非分配型子通道,連接多臺高速設(shè)備設(shè)備、通道、內(nèi)存連接設(shè)備、通道、內(nèi)存連接選擇通道選擇

11、通道磁盤字節(jié)多路通道字節(jié)多路通道打印機打印機輸入機輸入機內(nèi)存儲器內(nèi)存儲器處理機處理機磁帶數(shù)組多路通道數(shù)組多路通道8.4 設(shè)備的分配與去配設(shè)備的分配與去配n獨占型設(shè)備的分配與去配獨占型設(shè)備的分配與去配n塊型獨占塊型獨占n字符型獨占字符型獨占n共享型設(shè)備的分配與去配共享型設(shè)備的分配與去配n塊型共享塊型共享數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)設(shè)備控制塊設(shè)備控制塊(UCB)通道控制塊通道控制塊(CCB)設(shè)備標識設(shè)備標識設(shè)備狀態(tài)設(shè)備狀態(tài)占有設(shè)備進程占有設(shè)備進程通道標識通道標識通道狀態(tài)通道狀態(tài)通道類型通道類型占有通道進程占有通道進程系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表(SDT)設(shè)備類設(shè)備類 總數(shù)總數(shù) 設(shè)備等待隊列設(shè)備等待隊列 UCB表指針表

12、指針 lp m Sm UCBUCBUCB 獨占型設(shè)備的分配與去配獨占型設(shè)備的分配與去配用戶使用獨占型設(shè)備活動:用戶使用獨占型設(shè)備活動:申請,使用,使用,申請,使用,使用,使用,釋放,使用,釋放 申請:申請:(1)根據(jù)設(shè)備類查根據(jù)設(shè)備類查SDT表表 (2)P(Sm)(3)查查UCB表找一空閑設(shè)備并分配表找一空閑設(shè)備并分配 使用:使用:(1)IO傳輸傳輸 釋放:釋放:(1)找找SDT表對應(yīng)入口表對應(yīng)入口 (2)查查UCB表,去配表,去配 (3)V(Sm)l共享型設(shè)備的分配與去配共享型設(shè)備的分配與去配用戶使用共享型設(shè)備活動用戶使用共享型設(shè)備活動使用,使用,使用,使用,使用,使用特征特征來自文件系統(tǒng);

13、來自文件系統(tǒng);每次讀(寫)一塊;每次讀(寫)一塊;通常經(jīng)過緩沖;通常經(jīng)過緩沖;排隊優(yōu)化。排隊優(yōu)化。使用使用IO操作操作8.5 設(shè)備驅(qū)動設(shè)備驅(qū)動n通道程序通道程序nCCW指令序列指令序列n靜態(tài)編制或動態(tài)生成靜態(tài)編制或動態(tài)生成n設(shè)備啟動設(shè)備啟動n通道啟動通道啟動n中斷處理中斷處理n通道向通道向CPU發(fā)的中斷發(fā)的中斷8.5 設(shè)備驅(qū)動設(shè)備驅(qū)動設(shè)備設(shè)備CAWCCWCDWCSWCCW1CCW2CCWi.CCWn數(shù)據(jù)區(qū)數(shù)據(jù)區(qū).形成通道程序形成通道程序.地址地址CAW.啟動通道啟動通道.中斷處理中斷處理.啟動啟動中斷中斷內(nèi)存內(nèi)存CPU通道通道 8.6 設(shè)備調(diào)度設(shè)備調(diào)度n優(yōu)化服務(wù)順序優(yōu)化服務(wù)順序n考慮因素考慮因

14、素n公平性公平性n防止餓死防止餓死n高效性高效性n減少磁盤引臂移動量減少磁盤引臂移動量磁盤引臂調(diào)度磁盤引臂調(diào)度(disk head scheduling)n先到先先到先服務(wù)(服務(wù)(FCFS)n請求序列:請求序列:130,42,180,15,108,68,970 15 42 53 68 97 108 130 180 199移動量移動量:(130-53)+(130-42)+(180-42)+(180-15)+(108-15)+(108-68)+(97-68)=630磁盤引臂調(diào)度磁盤引臂調(diào)度(disk head scheduling)n最短尋找時間優(yōu)先(最短尋找時間優(yōu)先(SSTF)n請求序列:請求序

15、列:130,42,180,15,108,68,970 15 42 53 68 97 108 130 180 199移動量移動量:(53-42)+(180-42)+(180-15)=314lSCAN(LOOK)請求序列:請求序列:130,42,180,15,108,68,97SCAN移動量移動量:(53-0)+(180-0)=233LOOK移動量移動量:(53-15)+(180-15)=2030 15 42 53 68 97 108 130 180 199 Look ScanlC-SCAN(C-LOOK)請求序列:請求序列:130,42,180,15,108,68,97特點:所有磁道地位最長等待

16、時間相同特點:所有磁道地位最長等待時間相同0 15 42 53 68 97 108 130 180 199 C-Look C-Scan8.7 緩沖技術(shù)n設(shè)備設(shè)備處理數(shù)據(jù)到達與離開速度不一致所采用的技術(shù)處理數(shù)據(jù)到達與離開速度不一致所采用的技術(shù)。nBuffering vs.Cachingnbuffering:one data copyncaching:multiple data copy(slow多多,fast少少)n硬緩沖與軟緩沖硬緩沖與軟緩沖 n硬緩沖區(qū)通常設(shè)在設(shè)備中硬緩沖區(qū)通常設(shè)在設(shè)備中 n軟緩沖區(qū)通常設(shè)在內(nèi)存系統(tǒng)空間中軟緩沖區(qū)通常設(shè)在內(nèi)存系統(tǒng)空間中 n私用緩沖與公共緩沖私用緩沖與公共緩沖

17、n一個緩沖區(qū)與一個固定設(shè)備相聯(lián)系,不同設(shè)備使用不同的緩沖區(qū)一個緩沖區(qū)與一個固定設(shè)備相聯(lián)系,不同設(shè)備使用不同的緩沖區(qū) n利用率低利用率低 n緩沖區(qū)由系統(tǒng)統(tǒng)一管理,按需要動態(tài)分派給正在進行緩沖區(qū)由系統(tǒng)統(tǒng)一管理,按需要動態(tài)分派給正在進行I/O傳輸?shù)脑O(shè)傳輸?shù)脑O(shè)備備空緩沖空緩沖空緩沖空緩沖空緩沖空緩沖.head共共n個個Var buf_num:semaphore;(init n)mutex:semaphore;(init 1)1.申請申請 2.釋放釋放(1)P(buf_num)P(mutex)(2)P(mutex)空緩沖入鏈空緩沖入鏈尾尾(3)取鏈頭空緩沖取鏈頭空緩沖 V(mutex)(4)V(mute

18、x)V(buf_num)緩沖池管理緩沖池管理 tail8.7.5 緩沖技術(shù)實現(xiàn):輸入設(shè)備 進程空間進程空間緩沖緩沖輸入設(shè)備輸入設(shè)備緩沖緩沖緩沖緩沖.io鏈進程方面:進程方面:中斷方面:中斷方面:IO鏈空鏈空設(shè)備忙設(shè)備忙申請空緩沖申請空緩沖啟動設(shè)備啟動設(shè)備等待等待由由io鏈取一緩沖鏈取一緩沖信息信息進程空間進程空間釋放空緩沖釋放空緩沖緩沖入緩沖入io鏈鏈有等待進程有等待進程喚醒喚醒傳輸完畢傳輸完畢申請空緩沖申請空緩沖啟動設(shè)備啟動設(shè)備FTFTFTTF8.7.5 緩沖技術(shù)實現(xiàn):輸出設(shè)備 進程空間進程空間緩沖緩沖輸出設(shè)備輸出設(shè)備緩沖緩沖緩沖緩沖.io鏈進程方面:進程方面:中斷方面:中斷方面:申請一空緩

19、沖申請一空緩沖信息信息緩沖緩沖設(shè)備忙設(shè)備忙啟動設(shè)備啟動設(shè)備緩沖入緩沖入io鏈鏈傳輸完傳輸完TFFT釋放空緩沖釋放空緩沖io鏈空鏈空取一緩沖取一緩沖啟動設(shè)備啟動設(shè)備TF8.7.5 輸入輸出設(shè)備:輸入輸出設(shè)備:(磁帶、磁盤磁帶、磁盤)緩沖區(qū)頭緩沖區(qū)頭緩沖區(qū)體緩沖區(qū)體設(shè)備塊號設(shè)備塊號IO標識標識等待進程等待進程塊型緩沖區(qū):塊型緩沖區(qū):進程空間進程空間緩沖緩沖IO設(shè)備設(shè)備緩沖緩沖緩沖緩沖.io鏈鏈進程方面進程方面(輸入輸入):進程方面進程方面(輸出輸出):中斷方面:中斷方面:申請空緩沖申請空緩沖填寫頭部填寫頭部設(shè)備工作設(shè)備工作入入io鏈尾鏈尾啟動設(shè)備信息信息進程進程釋放緩沖釋放緩沖申請空緩沖申請空緩沖

20、填寫頭部填寫頭部信息信息緩沖緩沖設(shè)備工作設(shè)備工作啟動設(shè)備啟動設(shè)備入入io鏈鏈輸入輸入喚醒喚醒等待等待者者釋放釋放空緩空緩沖沖io鏈空鏈空取一緩沖取一緩沖啟動設(shè)備啟動設(shè)備FTFTTFFT等待等待UNIX緩沖緩沖n字符型緩沖字符型緩沖n100個緩沖區(qū),長度個緩沖區(qū),長度8字節(jié)字節(jié)(6字符字符+2指針指針)n組成公共緩沖池,所有字符型設(shè)備公用組成公共緩沖池,所有字符型設(shè)備公用n緩沖區(qū)或?qū)儆诰彌_區(qū)或?qū)儆赾freelist,或?qū)儆谀匙址O(shè)備或?qū)儆谀匙址O(shè)備(eg.tty,lp)n塊型緩沖塊型緩沖n50個緩沖區(qū),長度個緩沖區(qū),長度514字節(jié)字節(jié)n組成公共緩沖池,所有塊型設(shè)備公用組成公共緩沖池,所有塊型設(shè)備

21、公用n緩沖區(qū)可屬于緩沖區(qū)可屬于bfreelist and/or devtabn預(yù)先讀入的塊預(yù)先讀入的塊(breada)n延遲寫出的塊延遲寫出的塊(bdwrite)字符型設(shè)備緩沖字符型設(shè)備緩沖struct cblock struct cblock*c_next;char info6;struct cblock*cfreelist;/free c blocks struct clist /associated with a character device int c_cc;/character count int c_cf;/pointer to first block int c_cl;/po

22、inter to last blockstruct buf /actually a buffer header,shared by all mounted disks int b_flags;/BUSY,ASYNC,DELWRI,DONE.struct buf*b_forw;/headed by devtab struct buf*b_back;struct buf*av_forw;/position on free list struct buf*av_back;int b_dev;int b_wcount;/transfer count char *b_addr;/low order co

23、re(buffer)address char *b_xmem;/high order core(buffer)address char *b_blkno /block#on device char b_error;char *b_resid;/word not transferred after error bufNBUF塊型設(shè)備緩沖(頭部)15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0B_READ/B_WRITEB_DONEB_ERRORB_BUSYB_WANTEDB_RELOCB_ASYNCB_DELWRIb_flag:struct devtab /設(shè)備設(shè)備IO

24、隊列隊列 char d_active;/busy flag char d_errcnt;/error count struct buf *b_forw;/first buffer for this dev struct buf *b_back;/last buffer for this dev struct buf *d_actf;/head of IO queue struct buf *d_actl;/tail of IO queuechar buffersNBUF514;/塊型緩沖區(qū)塊型緩沖區(qū)struct buf bfreelist;/緩沖區(qū)頭部的緩沖區(qū)頭部的鏈頭鏈頭相關(guān)操作:getbl

25、k(dev,blkno)/assign a buffer for the given block bread(dev,blkno)/read a block(if necessary),return buf pointerbreada(dev,blkno,rablkno)/read in first block,like read;but also start io on second block bwrite(bp)/write the buffer,wait for completion,then releasebawrite(bp)/start the io,release buffer

26、,no wait for completionbdwrite(bp)/release buffer,mark it so that if it is grabbed for another purpose,it will be written out before being given upbrelse(bp)/release the buffer,with no io impliedgetblk(dev,blkno)n參數(shù):參數(shù):dev:設(shè)備號,設(shè)備號,blkno:設(shè)備塊號設(shè)備塊號n返回:緩沖區(qū)指針返回:緩沖區(qū)指針bpn步驟:步驟:n塊在塊在b鏈中,且當(dāng)前空閑鏈中,且當(dāng)前空閑n由由av鏈摘

27、除,標記鏈摘除,標記BUSY,返回緩沖塊指針返回緩沖塊指針n塊在塊在b鏈中,但鏈中,但BUSY(其它進程在用其它進程在用)nsleep(空閑事件發(fā)生空閑事件發(fā)生),由,由av鏈摘除,標記鏈摘除,標記BUSY,返回緩返回緩沖塊指針沖塊指針n不在不在b的鏈中,在的鏈中,在av鏈上取到延遲寫的塊鏈上取到延遲寫的塊n寫出該塊,分配下一個緩沖區(qū)寫出該塊,分配下一個緩沖區(qū)n不在不在b的鏈中,的鏈中,av鏈已空鏈已空n等待任意緩沖區(qū)變空閑的事件等待任意緩沖區(qū)變空閑的事件n不在不在b的鏈中,在的鏈中,在av鏈上得到空緩沖鏈上得到空緩沖n分配,由分配,由av鏈摘除,返回緩沖塊指針鏈摘除,返回緩沖塊指針brels

28、e(bp)n參數(shù):參數(shù):bp:緩沖區(qū)頭指針緩沖區(qū)頭指針n返回:無返回:無n步驟:步驟:nIf 有等待者有等待者(b_flag&B_WANTED!=0),喚醒喚醒;nElsenbfreelist上有等待者上有等待者,喚醒喚醒nbp入入av鏈鏈bread(dev,blkno)n參數(shù):參數(shù):dev:設(shè)備號,設(shè)備號,blkno:設(shè)備塊號設(shè)備塊號n返回:載有信息的緩沖區(qū)返回:載有信息的緩沖區(qū)bpn步驟:步驟:nbp=getblk(dev,blkno)nif(緩沖區(qū)數(shù)據(jù)有效緩沖區(qū)數(shù)據(jù)有效)nreturn(bp)/在在cache中得到中得到n啟動磁盤讀啟動磁盤讀(d_actf/d_actl鏈鏈)nsleep

29、(等待讀盤完成事件等待讀盤完成事件)n中斷中斷nbp入入b_forw/b_back鏈鏈,標記標記BUSYnreturn(bp)breada(dev,blkno,rablkno)n參數(shù):參數(shù):dev:設(shè)備號,設(shè)備號,blkno:讀塊號,讀塊號,rablkno:預(yù)讀塊號預(yù)讀塊號n返回:返回:blk緩沖塊指針緩沖塊指針rbpn步驟:步驟:nrbp=getblk(dev,blkno)nif(信息無效信息無效)n啟動設(shè)備讀入啟動設(shè)備讀入(d_actf/d_actl鏈鏈)nrabp=getblk(dev,rablkno)nif(B_DONE)/緩沖區(qū)從緩沖區(qū)從b鏈得到鏈得到nbrelse(rabp)/入入

30、av鏈鏈nelse /緩沖區(qū)從緩沖區(qū)從av鏈得到鏈得到n啟動設(shè)備讀入啟動設(shè)備讀入(d_actf/d_actl鏈鏈)/中斷時入中斷時入b鏈和鏈和av鏈鏈niowait(rbp)nreturn(rbp)bwrite(bp)n參數(shù):參數(shù):bp:緩沖區(qū)指針緩沖區(qū)指針n步驟:步驟:n入設(shè)備入設(shè)備d_act隊列隊列(若設(shè)備不忙啟動設(shè)備若設(shè)備不忙啟動設(shè)備)nif(!B_ASYNC)nsleep(等待等待IO完成事件完成事件)n中斷中斷nbp入入b鏈鏈,(b_forw/b_back)nbrelse(bp),(bp入入av鏈鏈)bdwrite(bp)n參數(shù)參數(shù):bp:緩沖區(qū)指針緩沖區(qū)指針n返回返回:無無n步驟:

31、步驟:n標記標記b_flags=|B_DELWRI|B_DONEnbp入設(shè)備入設(shè)備b_forw/b_back隊列隊列nbrelse(bp),(bp入入av鏈鏈)bawrite(bp)n參數(shù):參數(shù):bp:緩沖區(qū)頭指針緩沖區(qū)頭指針n返回:無返回:無n步驟:步驟:nbp-b_flag=|B_ASYNCnbwrite(bp)n中斷中斷n(入入b_act隊列隊列)n入入av隊列隊列8.8 輸入輸出進程輸入輸出進程n專門負責(zé)專門負責(zé)IO傳輸?shù)倪M程傳輸?shù)倪M程n另外一種另外一種IO模式模式服務(wù)模式服務(wù)模式nC/S Modeln特點特點n界面清晰界面清晰,方便使用方便使用n兩次進程切換兩次進程切換,速度問題速度

32、問題8.9 RAID技術(shù)nRAID:nRedundant Array of Inexpensive Disksncompared with SLEDs(Single Large Expensive Disks)nRedundant Array of Independent Disks/獨立磁盤冗余陣列獨立磁盤冗余陣列nProposed by researchers at UC BerkeleynDavid A.PattersonnBackgroundndisk access speed increases slowly compared with CPUnsolution:multiple p

33、arallel componentnObjectivenenhanced performancenhigh reliabilityRAID技術(shù)nRAIDnRAID is a set of physical disks viewed by the operating system as a single logical drivenData are distributed across an array of physical drivesnRedundant disk capacity is used to store parity information,which guarantees d

34、ata recoverability in case of disk failurenHardware RAID vs.Software RAIDnhardware based:special controller nWindows NT,2000,UNIX support software RAIDnSCSI RAID vs.IDE RAIDnperformance:SCSI outperforms IDEnprice:IDE beats SCSI8.9.1 RAID級別nHow to organize data across multiple disks?nIndustry standar

35、ds schemen levels:nlevel 0,level 5nlevel 6,level 7nlevel 01/10nlevel 03/30nlevel 05/50nlevel 15/51Level 0nStrip(Striping):ndata are striped and stored on multiple disksnhigh data transfer capacity nno fault toleranced0d3d6d9disk0d1d4d7d10disk1d2d5d8d11disk2d0,d1,d2,d3,d11Level 1nMirror(mirroring)nco

36、mpletely duplicatednhigh recoverabilitynexpensived0d1d2d3disk1d0d1d2d3disk2d0,d1,d2,d3,.Level 0+1nRAID01/10nhigh reliabilitynhigh availabilitynexpensived0d2d4d6disk1d1d3d5d7disk2d0,d1,d2,d3,d4,d5,d6,d7d0d2d4d6disk0d1d3d5d7disk3Level 5nStrip+paritynsafety between 1 and 0neconomy between 1 and 0nspeed

37、 0,less than 1d1d4p3d9disk1d2p1d7d10disk2d0,d1,d2,d3,d4,d5,d6,d7d0d3d6p4disk0p0d5d8d11disk3JBOD-SPANnNot a standard RAID levelnjust bundle of disksnno performance improvementnno safety guaranteed0d1d2d3disk0d4d5disk1disk2d1,d2,d3,d4,d5RAID level 0 1 5N#of disks 2,3,4 2 3,4,5Capacity SN SN/2 S(N-1)St

38、ore efficiency 100%50%(N-1)/NFault tolerance no 2 3 Availability 1 2 2Random read 4 3 5Random write 4 3 2Sequential read 5 2 4Sequential write 4 3 3Cost$8.9.2 Remark on Software RAIDnPros:ncost lessnsimplicitynCons:nperformancenboot volume limitation /導(dǎo)引卷不能是RAIDnlevel support:only 0,1,5 are supporte

39、dnOS compatibility:multiple problemnother software compatibilitynreliabilitynsoftware bugsBenefit from RAIDnIncreased read/write speednImproved data reliabilitynEnlarged storage capacitynmultiple disks viewed as a single volume8.10 虛擬設(shè)備虛擬設(shè)備n概念概念n利用共享型設(shè)備實現(xiàn)的數(shù)量較多、速度較快的獨占型設(shè)利用共享型設(shè)備實現(xiàn)的數(shù)量較多、速度較快的獨占型設(shè)備備n引入引

40、入n用戶直接使用獨占型設(shè)備效率低用戶直接使用獨占型設(shè)備效率低n實現(xiàn)實現(xiàn)n輸入型虛擬設(shè)備輸入型虛擬設(shè)備n輸出型虛擬設(shè)備輸出型虛擬設(shè)備n虛擬設(shè)備的例子虛擬設(shè)備的例子nSPOOLing輸入輸入nSPOOLing輸出輸出l用戶使用獨占型設(shè)備活動:用戶使用獨占型設(shè)備活動:申請,使用,使用,申請,使用,使用,使用,釋放,使用,釋放l缺點:缺點:速度:速度:CPU與設(shè)備速度不匹配與設(shè)備速度不匹配設(shè)備利用率:占有期間不一定一直使用設(shè)備利用率:占有期間不一定一直使用進程獨占此設(shè)備進程獨占此設(shè)備l方法:方法:在進程與獨占型設(shè)備之間增加共享設(shè)備緩沖在進程與獨占型設(shè)備之間增加共享設(shè)備緩沖虛擬虛擬設(shè)備設(shè)備虛擬虛擬設(shè)備設(shè)

41、備虛擬虛擬設(shè)備設(shè)備虛擬虛擬設(shè)備設(shè)備進程進程獨占設(shè)備獨占設(shè)備 共享設(shè)備共享設(shè)備(如磁盤)(如磁盤)間斷傳輸間斷傳輸連續(xù)傳輸連續(xù)傳輸l輸入型虛擬設(shè)備的實現(xiàn)輸入型虛擬設(shè)備的實現(xiàn)申請:申請:l分配一虛設(shè)備分配一虛設(shè)備l分配一實設(shè)備分配一實設(shè)備l信息由實設(shè)備信息由實設(shè)備虛設(shè)備虛設(shè)備l去配該實設(shè)備去配該實設(shè)備使用:使用:l信息由虛設(shè)備信息由虛設(shè)備進程空間進程空間釋放:釋放:l去配虛設(shè)備去配虛設(shè)備l輸出型虛擬設(shè)備的實現(xiàn)輸出型虛擬設(shè)備的實現(xiàn)申請:申請:l分配一虛設(shè)備分配一虛設(shè)備使用:使用:l信息由進程空間信息由進程空間虛設(shè)備虛設(shè)備釋放:釋放:l分配一實設(shè)備分配一實設(shè)備l信息由虛設(shè)備信息由虛設(shè)備實設(shè)備實設(shè)備l去

42、配實設(shè)備去配實設(shè)備l去配虛設(shè)備去配虛設(shè)備8.10.3 虛擬設(shè)備的例子虛擬設(shè)備的例子nSPOOLing輸入輸入n作業(yè)預(yù)輸入(輸入機作業(yè)預(yù)輸入(輸入機輸入井)輸入井)nSPOOLing輸出輸出n作業(yè)緩輸出(輸出井作業(yè)緩輸出(輸出井輸出機)輸出機)nSPOOLingnSimultaneous Peripheral Operation On-Linen由由SPOOLing程序控制通道完成程序控制通道完成.job11job1m.輸入井輸入井預(yù)輸入進程預(yù)輸入進程輸入機輸入機輸入機輸入機預(yù)輸入進程預(yù)輸入進程通道通道通道通道內(nèi)存內(nèi)存.SPOOLing輸入程序(輸入程序(1)vs.SPOOLing輸入進程(輸入

43、進程(n)有待輸入作業(yè)有待輸入作業(yè) 有空閑作業(yè)表有空閑作業(yè)表等待等待等待等待取一取一“空閑空閑”作業(yè)表為作業(yè)表為JCB作業(yè)狀態(tài)改為作業(yè)狀態(tài)改為“提交提交”申請輸入井空間申請輸入井空間作業(yè)內(nèi)容作業(yè)內(nèi)容輸入井輸入井填寫填寫JCB作業(yè)狀態(tài)改為作業(yè)狀態(tài)改為“后備后備”作業(yè)調(diào)度作業(yè)調(diào)度1等待等待 “后備后備”作作業(yè)業(yè)喚醒喚醒SPOOLing 輸入程序輸入程序FTFTFT.通道通道通道通道job11job1n.輸出井輸出井緩輸出進程緩輸出進程緩輸出進程緩輸出進程內(nèi)存內(nèi)存輸出機輸出機輸出機輸出機SPOOLing輸出程序(輸出程序(1)vs.SPOOLing輸出進程輸出進程(n)輸出作業(yè)結(jié)果輸出作業(yè)結(jié)果釋放輸

44、出井空間釋放輸出井空間狀態(tài)改為狀態(tài)改為“空空閑閑”有等空閑有等空閑JCB的預(yù)輸入進程的預(yù)輸入進程喚醒一個喚醒一個輸出井有輸出井有“完成完成”作作業(yè)業(yè)取一取一“完成完成”作作業(yè)業(yè)狀態(tài)改為狀態(tài)改為“退出退出”等待等待SPOOLing 輸出程序FTTF8.11 穩(wěn)定存儲器穩(wěn)定存儲器(stable storage)n定義定義n不丟失信息的存儲器稱為穩(wěn)定存儲器不丟失信息的存儲器稱為穩(wěn)定存儲器n實現(xiàn)實現(xiàn)n不存在絕對可靠的存儲介質(zhì)不存在絕對可靠的存儲介質(zhì)n策略:冗余策略:冗余n在兩種失效獨立的介質(zhì)上構(gòu)建在兩種失效獨立的介質(zhì)上構(gòu)建n保存保存n將信息寫到第一個存儲塊將信息寫到第一個存儲塊n上述操作成功后,將相同

45、信息寫到第二存儲塊上述操作成功后,將相同信息寫到第二存儲塊n僅當(dāng)?shù)诙蝹鬏斠渤晒r,整個保存操作完成僅當(dāng)?shù)诙蝹鬏斠渤晒r,整個保存操作完成8.11 穩(wěn)定存儲器穩(wěn)定存儲器(stable storage)n實現(xiàn)實現(xiàn)n恢復(fù)恢復(fù)n鑒別兩個數(shù)據(jù)塊內(nèi)容鑒別兩個數(shù)據(jù)塊內(nèi)容n一對信息完全相同,且無檢測到錯誤,正常一對信息完全相同,且無檢測到錯誤,正常n其中一塊檢測到錯誤,用另一塊取代其中一塊檢測到錯誤,用另一塊取代n兩塊均未檢測到錯誤,但內(nèi)容不同,用第二塊內(nèi)容取兩塊均未檢測到錯誤,但內(nèi)容不同,用第二塊內(nèi)容取代第一塊內(nèi)容代第一塊內(nèi)容8.12 系統(tǒng)舉例系統(tǒng)舉例Linuxn涉及內(nèi)容涉及內(nèi)容n設(shè)備驅(qū)動,設(shè)備緩沖,文

46、件管理設(shè)備驅(qū)動,設(shè)備緩沖,文件管理n主要特點主要特點n允許系統(tǒng)管理員動態(tài)添加或刪除設(shè)備,其相應(yīng)的驅(qū)動程序通常允許系統(tǒng)管理員動態(tài)添加或刪除設(shè)備,其相應(yīng)的驅(qū)動程序通常以以DLL的形式動態(tài)加載,設(shè)備驅(qū)動程序可以采用高級語言編寫,的形式動態(tài)加載,設(shè)備驅(qū)動程序可以采用高級語言編寫,移植性好移植性好n除除NTFS外,支持多種可裝卸的文件系統(tǒng),如外,支持多種可裝卸的文件系統(tǒng),如FAT32、OS/2、HPFS、CDFS等支持映像文件等支持映像文件I/On設(shè)備管理子系統(tǒng)以設(shè)備管理子系統(tǒng)以I/O請求包請求包(I/O Request Package,IRP)方式驅(qū)動,每個方式驅(qū)動,每個I/O請求均以表示為請求均以表

47、示為I/O請求包,請求包,I/O管理器管理器負責(zé)協(xié)調(diào)所有各組成部分之間的相互作用負責(zé)協(xié)調(diào)所有各組成部分之間的相互作用n通過系統(tǒng)進程通過系統(tǒng)進程(線程線程)提供異步提供異步I/O,在,在I/O請求的進程請求的進程(線程線程)不需要等待不需要等待I/O傳輸結(jié)果的情況下,請求者可以立即返回,具傳輸結(jié)果的情況下,請求者可以立即返回,具體體I/O操作由系統(tǒng)線程負責(zé)完成異步操作由系統(tǒng)線程負責(zé)完成異步I/O是通過異步過程調(diào)是通過異步過程調(diào)用用(Asynchronous Procedure Call,APC)實現(xiàn)的實現(xiàn)的應(yīng)用程序應(yīng)用程序系統(tǒng)服務(wù)系統(tǒng)服務(wù)IO管理程序文件系統(tǒng)磁盤驅(qū)動磁盤驅(qū)動光盤驅(qū)動光盤驅(qū)動磁帶驅(qū)動磁帶驅(qū)動Windows2000/XP IO子系統(tǒng)

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!