08第八章 設備與IO管理1
《08第八章 設備與IO管理1》由會員分享,可在線閱讀,更多相關《08第八章 設備與IO管理1(78頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第八章第八章 設備與設備與I/O管理管理n設備及其分類設備及其分類n設備的物理特性設備的物理特性nIO傳輸方式(查詢、中斷、通道、傳輸方式(查詢、中斷、通道、DMA)n設備分配與去配設備分配與去配n設備驅動設備驅動n設備調度設備調度n緩沖技術緩沖技術n輸入輸出進程輸入輸出進程nRAID技術技術n虛擬設備虛擬設備8.1 設備及其分類設備及其分類n用途用途n存儲型設備存儲型設備n磁盤,磁帶,光盤磁盤,磁帶,光盤nIO型設備型設備n掃描儀,打印機,掃描儀,打印機,mouse,keyboard,monitor,n網(wǎng)絡設備網(wǎng)絡設備n網(wǎng)卡,交換機,網(wǎng)卡,交換機,etc.8.1 設備及其分類設備及其分類n管
2、理管理n共享型設備(塊型)共享型設備(塊型)n多個進程的多個進程的IO操作以塊為單位可以交叉操作以塊為單位可以交叉n獨占型設備(塊型)獨占型設備(塊型)n多個進程的多個進程的IO操作以塊為單位不宜交叉操作以塊為單位不宜交叉n獨占型設備(字符型)獨占型設備(字符型)n多個進程的多個進程的IO操作以字符為單位不能交叉操作以字符為單位不能交叉IO設備的物理特性設備的物理特性傳輸一字節(jié)發(fā)生一次中斷傳輸一字節(jié)發(fā)生一次中斷存儲設備的物理特性存儲設備的物理特性磁帶的物理特性磁帶的物理特性頭標頭標 信息塊信息塊 信息塊信息塊 信息塊信息塊 .尾標尾標間隙間隙操作:反繞,正向查找,反向查找,讀,寫,操作:反繞,
3、正向查找,反向查找,讀,寫,地址:一維地址:一維文件:順序結構(一個文件占若干連續(xù)塊)文件:順序結構(一個文件占若干連續(xù)塊)8.2 設備的物理特性.磁盤組的物理特性磁盤組的物理特性.盤面盤面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),內側轉速:530轉/分;外側轉速:200轉/分(密度均勻,讀取速度均勻)DataECCP14個bit構成一個symble42個symble構成一個frame98個frame構成一個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直接內存方式直接內存方式(DMA)nDMA controller in charge of block io8.3.1 程序控制查詢方式程序控制查詢方式CPU啟動設備啟動設備完成完成FT缺點缺點:處理機與設備串行工作處理機與設備串行工作;消耗大量處理機時間消耗大量處理機時間.8.3.2 中斷驅動方式中斷驅動方式nCPUn計算計算n啟動設備啟動設備n計算計算nn計算計算n中斷處理中斷處理n計算計算設備設備:工工作作特點特點:CPU與設備并行工作與設備并行工作 設備多時對設備多時對CPU打擾多打擾多8.3.3 DMA方式 數(shù)據(jù)傳輸數(shù)據(jù)傳
8、輸CPUDMA控制器控制器內存內存地地 址址計計 數(shù)數(shù)控控 制制緩沖緩沖磁盤磁盤 中斷中斷 DMA請求請求總線總線磁盤磁盤控制器控制器 回答回答 DMA編程編程8.3.3 DMA方式.nCPU通過設置DMA控制器實現(xiàn)DMA編程,同時啟動磁盤控制器由磁盤讀入數(shù)據(jù)至內部緩沖區(qū)并進行和校驗;nDMA控制器向磁盤控制器發(fā)出讀請求,并將內存地址放在地址總線上;n磁盤控制器將字節(jié)傳到內存指定單元;n磁盤控制器向DMA控制器發(fā)送回答;nDMA控制器將內部地址寄存器加1同時將記數(shù)減1,重復上述過程直至計數(shù)值為0,此時DMA控制器向CPU發(fā)出中斷信號.8.3.4 通道方式通道方式n通道通道n負責負責IO操作的處
9、理機操作的處理機n指令系統(tǒng)指令系統(tǒng)n基本操作:讀、寫、控制、轉移、結束基本操作:讀、寫、控制、轉移、結束n指令格式:(操作碼,傳輸量,特征位,地址)指令格式:(操作碼,傳輸量,特征位,地址)n運控部件運控部件nCAW,CCW,CSW,CDWn存儲區(qū)域(與存儲區(qū)域(與CPU共用內存共用內存,通道內有緩沖區(qū))通道內有緩沖區(qū))n通道程序,通道程序,IO數(shù)據(jù)(數(shù)據(jù)(channel does have its buffers)通道程序執(zhí)行過程:通道程序執(zhí)行過程:按按CAW取通道命令取通道命令CCW(CAW)+1 CAW是通道結束命令是通道結束命令執(zhí)行此命令執(zhí)行此命令F向向CPU發(fā)中斷發(fā)中斷一個通道程序可
10、以控制若干設備進行多次一個通道程序可以控制若干設備進行多次IO傳輸。傳輸。T通道類型通道類型n字節(jié)多路通道字節(jié)多路通道(byte multiplexer channel)n 多個非分配型子通道,連接低速外圍設備多個非分配型子通道,連接低速外圍設備n數(shù)組選擇通道數(shù)組選擇通道(block selector channel)n 一個分配型子通道,連接多臺高速設備一個分配型子通道,連接多臺高速設備n數(shù)組多路通道數(shù)組多路通道(block multiplexer channel)n 多個非分配型子通道,連接多臺高速設備多個非分配型子通道,連接多臺高速設備設備、通道、內存連接設備、通道、內存連接選擇通道選擇
11、通道磁盤字節(jié)多路通道字節(jié)多路通道打印機打印機輸入機輸入機內存儲器內存儲器處理機處理機磁帶數(shù)組多路通道數(shù)組多路通道8.4 設備的分配與去配設備的分配與去配n獨占型設備的分配與去配獨占型設備的分配與去配n塊型獨占塊型獨占n字符型獨占字符型獨占n共享型設備的分配與去配共享型設備的分配與去配n塊型共享塊型共享數(shù)據(jù)結構數(shù)據(jù)結構設備控制塊設備控制塊(UCB)通道控制塊通道控制塊(CCB)設備標識設備標識設備狀態(tài)設備狀態(tài)占有設備進程占有設備進程通道標識通道標識通道狀態(tài)通道狀態(tài)通道類型通道類型占有通道進程占有通道進程系統(tǒng)設備表系統(tǒng)設備表(SDT)設備類設備類 總數(shù)總數(shù) 設備等待隊列設備等待隊列 UCB表指針表
12、指針 lp m Sm UCBUCBUCB 獨占型設備的分配與去配獨占型設備的分配與去配用戶使用獨占型設備活動:用戶使用獨占型設備活動:申請,使用,使用,申請,使用,使用,使用,釋放,使用,釋放 申請:申請:(1)根據(jù)設備類查根據(jù)設備類查SDT表表 (2)P(Sm)(3)查查UCB表找一空閑設備并分配表找一空閑設備并分配 使用:使用:(1)IO傳輸傳輸 釋放:釋放:(1)找找SDT表對應入口表對應入口 (2)查查UCB表,去配表,去配 (3)V(Sm)l共享型設備的分配與去配共享型設備的分配與去配用戶使用共享型設備活動用戶使用共享型設備活動使用,使用,使用,使用,使用,使用特征特征來自文件系統(tǒng);
13、來自文件系統(tǒng);每次讀(寫)一塊;每次讀(寫)一塊;通常經(jīng)過緩沖;通常經(jīng)過緩沖;排隊優(yōu)化。排隊優(yōu)化。使用使用IO操作操作8.5 設備驅動設備驅動n通道程序通道程序nCCW指令序列指令序列n靜態(tài)編制或動態(tài)生成靜態(tài)編制或動態(tài)生成n設備啟動設備啟動n通道啟動通道啟動n中斷處理中斷處理n通道向通道向CPU發(fā)的中斷發(fā)的中斷8.5 設備驅動設備驅動設備設備CAWCCWCDWCSWCCW1CCW2CCWi.CCWn數(shù)據(jù)區(qū)數(shù)據(jù)區(qū).形成通道程序形成通道程序.地址地址CAW.啟動通道啟動通道.中斷處理中斷處理.啟動啟動中斷中斷內存內存CPU通道通道 8.6 設備調度設備調度n優(yōu)化服務順序優(yōu)化服務順序n考慮因素考慮因
14、素n公平性公平性n防止餓死防止餓死n高效性高效性n減少磁盤引臂移動量減少磁盤引臂移動量磁盤引臂調度磁盤引臂調度(disk head scheduling)n先到先先到先服務(服務(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磁盤引臂調度磁盤引臂調度(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 緩沖技術n設備設備處理數(shù)據(jù)到達與離開速度不一致所采用的技術處理數(shù)據(jù)到達與離開速度不一致所采用的技術。nBuffering vs.Cachingnbuffering:one data copyncaching:multiple data copy(slow多多,fast少少)n硬緩沖與軟緩沖硬緩沖與軟緩沖 n硬緩沖區(qū)通常設在設備中硬緩沖區(qū)通常設在設備中 n軟緩沖區(qū)通常設在內存系統(tǒng)空間中軟緩沖區(qū)通常設在內存系統(tǒng)空間中 n私用緩沖與公共緩沖私用緩沖與公共緩沖
17、n一個緩沖區(qū)與一個固定設備相聯(lián)系,不同設備使用不同的緩沖區(qū)一個緩沖區(qū)與一個固定設備相聯(lián)系,不同設備使用不同的緩沖區(qū) n利用率低利用率低 n緩沖區(qū)由系統(tǒng)統(tǒng)一管理,按需要動態(tài)分派給正在進行緩沖區(qū)由系統(tǒng)統(tǒng)一管理,按需要動態(tài)分派給正在進行I/O傳輸?shù)脑O傳輸?shù)脑O備備空緩沖空緩沖空緩沖空緩沖空緩沖空緩沖.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 緩沖技術實現(xiàn):輸入設備 進程空間進程空間緩沖緩沖輸入設備輸入設備緩沖緩沖緩沖緩沖.io鏈進程方面:進程方面:中斷方面:中斷方面:IO鏈空鏈空設備忙設備忙申請空緩沖申請空緩沖啟動設備啟動設備等待等待由由io鏈取一緩沖鏈取一緩沖信息信息進程空間進程空間釋放空緩沖釋放空緩沖緩沖入緩沖入io鏈鏈有等待進程有等待進程喚醒喚醒傳輸完畢傳輸完畢申請空緩沖申請空緩沖啟動設備啟動設備FTFTFTTF8.7.5 緩沖技術實現(xiàn):輸出設備 進程空間進程空間緩沖緩沖輸出設備輸出設備緩沖緩沖緩沖緩沖.io鏈進程方面:進程方面:中斷方面:中斷方面:申請一空緩
19、沖申請一空緩沖信息信息緩沖緩沖設備忙設備忙啟動設備啟動設備緩沖入緩沖入io鏈鏈傳輸完傳輸完TFFT釋放空緩沖釋放空緩沖io鏈空鏈空取一緩沖取一緩沖啟動設備啟動設備TF8.7.5 輸入輸出設備:輸入輸出設備:(磁帶、磁盤磁帶、磁盤)緩沖區(qū)頭緩沖區(qū)頭緩沖區(qū)體緩沖區(qū)體設備塊號設備塊號IO標識標識等待進程等待進程塊型緩沖區(qū):塊型緩沖區(qū):進程空間進程空間緩沖緩沖IO設備設備緩沖緩沖緩沖緩沖.io鏈鏈進程方面進程方面(輸入輸入):進程方面進程方面(輸出輸出):中斷方面:中斷方面:申請空緩沖申請空緩沖填寫頭部填寫頭部設備工作設備工作入入io鏈尾鏈尾啟動設備信息信息進程進程釋放緩沖釋放緩沖申請空緩沖申請空緩沖
20、填寫頭部填寫頭部信息信息緩沖緩沖設備工作設備工作啟動設備啟動設備入入io鏈鏈輸入輸入喚醒喚醒等待等待者者釋放釋放空緩空緩沖沖io鏈空鏈空取一緩沖取一緩沖啟動設備啟動設備FTFTTFFT等待等待UNIX緩沖緩沖n字符型緩沖字符型緩沖n100個緩沖區(qū),長度個緩沖區(qū),長度8字節(jié)字節(jié)(6字符字符+2指針指針)n組成公共緩沖池,所有字符型設備公用組成公共緩沖池,所有字符型設備公用n緩沖區(qū)或屬于緩沖區(qū)或屬于cfreelist,或屬于某字符設備或屬于某字符設備(eg.tty,lp)n塊型緩沖塊型緩沖n50個緩沖區(qū),長度個緩沖區(qū),長度514字節(jié)字節(jié)n組成公共緩沖池,所有塊型設備公用組成公共緩沖池,所有塊型設備
21、公用n緩沖區(qū)可屬于緩沖區(qū)可屬于bfreelist and/or devtabn預先讀入的塊預先讀入的塊(breada)n延遲寫出的塊延遲寫出的塊(bdwrite)字符型設備緩沖字符型設備緩沖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塊型設備緩沖(頭部)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 /設備設備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ū)頭部的鏈頭鏈頭相關操作: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:設備號,設備號,blkno:設備塊號設備塊號n返回:緩沖區(qū)指針返回:緩沖區(qū)指針bpn步驟:步驟:n塊在塊在b鏈中,且當前空閑鏈中,且當前空閑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:設備號,設備號,blkno:設備塊號設備塊號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:設備號,設備號,blkno:讀塊號,讀塊號,rablkno:預讀塊號預讀塊號n返回:返回:blk緩沖塊指針緩沖塊指針rbpn步驟:步驟:nrbp=getblk(dev,blkno)nif(信息無效信息無效)n啟動設備讀入啟動設備讀入(d_actf/d_actl鏈鏈)nrabp=getblk(dev,rablkno)nif(B_DONE)/緩沖區(qū)從緩沖區(qū)從b鏈得到鏈得到nbrelse(rabp)/入入
30、av鏈鏈nelse /緩沖區(qū)從緩沖區(qū)從av鏈得到鏈得到n啟動設備讀入啟動設備讀入(d_actf/d_actl鏈鏈)/中斷時入中斷時入b鏈和鏈和av鏈鏈niowait(rbp)nreturn(rbp)bwrite(bp)n參數(shù):參數(shù):bp:緩沖區(qū)指針緩沖區(qū)指針n步驟:步驟:n入設備入設備d_act隊列隊列(若設備不忙啟動設備若設備不忙啟動設備)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入設備入設備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專門負責專門負責IO傳輸?shù)倪M程傳輸?shù)倪M程n另外一種另外一種IO模式模式服務模式服務模式nC/S Modeln特點特點n界面清晰界面清晰,方便使用方便使用n兩次進程切換兩次進程切換,速度問題速度
32、問題8.9 RAID技術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技術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 /導引卷不能是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 虛擬設備虛擬設備n概念概念n利用共享型設備實現(xiàn)的數(shù)量較多、速度較快的獨占型設利用共享型設備實現(xiàn)的數(shù)量較多、速度較快的獨占型設備備n引入引
40、入n用戶直接使用獨占型設備效率低用戶直接使用獨占型設備效率低n實現(xiàn)實現(xiàn)n輸入型虛擬設備輸入型虛擬設備n輸出型虛擬設備輸出型虛擬設備n虛擬設備的例子虛擬設備的例子nSPOOLing輸入輸入nSPOOLing輸出輸出l用戶使用獨占型設備活動:用戶使用獨占型設備活動:申請,使用,使用,申請,使用,使用,使用,釋放,使用,釋放l缺點:缺點:速度:速度:CPU與設備速度不匹配與設備速度不匹配設備利用率:占有期間不一定一直使用設備利用率:占有期間不一定一直使用進程獨占此設備進程獨占此設備l方法:方法:在進程與獨占型設備之間增加共享設備緩沖在進程與獨占型設備之間增加共享設備緩沖虛擬虛擬設備設備虛擬虛擬設備設
41、備虛擬虛擬設備設備虛擬虛擬設備設備進程進程獨占設備獨占設備 共享設備共享設備(如磁盤)(如磁盤)間斷傳輸間斷傳輸連續(xù)傳輸連續(xù)傳輸l輸入型虛擬設備的實現(xiàn)輸入型虛擬設備的實現(xiàn)申請:申請:l分配一虛設備分配一虛設備l分配一實設備分配一實設備l信息由實設備信息由實設備虛設備虛設備l去配該實設備去配該實設備使用:使用:l信息由虛設備信息由虛設備進程空間進程空間釋放:釋放:l去配虛設備去配虛設備l輸出型虛擬設備的實現(xiàn)輸出型虛擬設備的實現(xiàn)申請:申請:l分配一虛設備分配一虛設備使用:使用:l信息由進程空間信息由進程空間虛設備虛設備釋放:釋放:l分配一實設備分配一實設備l信息由虛設備信息由虛設備實設備實設備l去
42、配實設備去配實設備l去配虛設備去配虛設備8.10.3 虛擬設備的例子虛擬設備的例子nSPOOLing輸入輸入n作業(yè)預輸入(輸入機作業(yè)預輸入(輸入機輸入井)輸入井)nSPOOLing輸出輸出n作業(yè)緩輸出(輸出井作業(yè)緩輸出(輸出井輸出機)輸出機)nSPOOLingnSimultaneous Peripheral Operation On-Linen由由SPOOLing程序控制通道完成程序控制通道完成.job11job1m.輸入井輸入井預輸入進程預輸入進程輸入機輸入機輸入機輸入機預輸入進程預輸入進程通道通道通道通道內存內存.SPOOLing輸入程序(輸入程序(1)vs.SPOOLing輸入進程(輸入
43、進程(n)有待輸入作業(yè)有待輸入作業(yè) 有空閑作業(yè)表有空閑作業(yè)表等待等待等待等待取一取一“空閑空閑”作業(yè)表為作業(yè)表為JCB作業(yè)狀態(tài)改為作業(yè)狀態(tài)改為“提交提交”申請輸入井空間申請輸入井空間作業(yè)內容作業(yè)內容輸入井輸入井填寫填寫JCB作業(yè)狀態(tài)改為作業(yè)狀態(tài)改為“后備后備”作業(yè)調度作業(yè)調度1等待等待 “后備后備”作作業(yè)業(yè)喚醒喚醒SPOOLing 輸入程序輸入程序FTFTFT.通道通道通道通道job11job1n.輸出井輸出井緩輸出進程緩輸出進程緩輸出進程緩輸出進程內存內存輸出機輸出機輸出機輸出機SPOOLing輸出程序(輸出程序(1)vs.SPOOLing輸出進程輸出進程(n)輸出作業(yè)結果輸出作業(yè)結果釋放輸
44、出井空間釋放輸出井空間狀態(tài)改為狀態(tài)改為“空空閑閑”有等空閑有等空閑JCB的預輸入進程的預輸入進程喚醒一個喚醒一個輸出井有輸出井有“完成完成”作作業(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不存在絕對可靠的存儲介質不存在絕對可靠的存儲介質n策略:冗余策略:冗余n在兩種失效獨立的介質上構建在兩種失效獨立的介質上構建n保存保存n將信息寫到第一個存儲塊將信息寫到第一個存儲塊n上述操作成功后,將相同
45、信息寫到第二存儲塊上述操作成功后,將相同信息寫到第二存儲塊n僅當?shù)诙蝹鬏斠渤晒r,整個保存操作完成僅當?shù)诙蝹鬏斠渤晒r,整個保存操作完成8.11 穩(wěn)定存儲器穩(wěn)定存儲器(stable storage)n實現(xiàn)實現(xiàn)n恢復恢復n鑒別兩個數(shù)據(jù)塊內容鑒別兩個數(shù)據(jù)塊內容n一對信息完全相同,且無檢測到錯誤,正常一對信息完全相同,且無檢測到錯誤,正常n其中一塊檢測到錯誤,用另一塊取代其中一塊檢測到錯誤,用另一塊取代n兩塊均未檢測到錯誤,但內容不同,用第二塊內容取兩塊均未檢測到錯誤,但內容不同,用第二塊內容取代第一塊內容代第一塊內容8.12 系統(tǒng)舉例系統(tǒng)舉例Linuxn涉及內容涉及內容n設備驅動,設備緩沖,文
46、件管理設備驅動,設備緩沖,文件管理n主要特點主要特點n允許系統(tǒng)管理員動態(tài)添加或刪除設備,其相應的驅動程序通常允許系統(tǒng)管理員動態(tài)添加或刪除設備,其相應的驅動程序通常以以DLL的形式動態(tài)加載,設備驅動程序可以采用高級語言編寫,的形式動態(tài)加載,設備驅動程序可以采用高級語言編寫,移植性好移植性好n除除NTFS外,支持多種可裝卸的文件系統(tǒng),如外,支持多種可裝卸的文件系統(tǒng),如FAT32、OS/2、HPFS、CDFS等支持映像文件等支持映像文件I/On設備管理子系統(tǒng)以設備管理子系統(tǒng)以I/O請求包請求包(I/O Request Package,IRP)方式驅動,每個方式驅動,每個I/O請求均以表示為請求均以表
47、示為I/O請求包,請求包,I/O管理器管理器負責協(xié)調所有各組成部分之間的相互作用負責協(xié)調所有各組成部分之間的相互作用n通過系統(tǒng)進程通過系統(tǒng)進程(線程線程)提供異步提供異步I/O,在,在I/O請求的進程請求的進程(線程線程)不需要等待不需要等待I/O傳輸結果的情況下,請求者可以立即返回,具傳輸結果的情況下,請求者可以立即返回,具體體I/O操作由系統(tǒng)線程負責完成異步操作由系統(tǒng)線程負責完成異步I/O是通過異步過程調是通過異步過程調用用(Asynchronous Procedure Call,APC)實現(xiàn)的實現(xiàn)的應用程序應用程序系統(tǒng)服務系統(tǒng)服務IO管理程序文件系統(tǒng)磁盤驅動磁盤驅動光盤驅動光盤驅動磁帶驅動磁帶驅動Windows2000/XP IO子系統(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。