




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
緩沖管理在兩種不同速度的設(shè)備之間傳輸信息時(shí)平滑傳輸過程的手段高速設(shè)備低速設(shè)備緩沖5.4緩沖管理1、分析說明引入緩沖的目的2、緩沖的實(shí)現(xiàn)機(jī)制:
(1)分析說明單緩沖的概念及工作過程
(2)分析說明雙緩沖的概念及工作過程
(3)分析說明循環(huán)緩沖的概念及工作過程
(4)緩沖池:緩沖池的概念、緩沖池的組成緩沖池的使用:同步互斥問題get_buff()、put_buff()緩沖池的工作方式(講解)緩沖池舉例:Unix的塊緩沖池(講解)5.4緩沖管理(2)提高CPU和I/O設(shè)備之間的并行性。(3)減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制。(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾。cpu設(shè)備緩沖引入緩沖管理的目的有哪些呢?5.4緩沖管理拓展:緩沖的類型全緩沖行緩沖無緩沖1位緩沖100Kb/s8位緩沖寄存器送內(nèi)存100Kb/s(b)(a)例:在一個(gè)遠(yuǎn)程通信系統(tǒng)中,在本地接收從遠(yuǎn)程終端發(fā)來的數(shù)據(jù),速率為100kb/s。送內(nèi)存CPU中斷頻率:100K;CPU響應(yīng)時(shí)間:10us;CPU中斷頻率:12.5K;CPU響應(yīng)時(shí)間:10us;●
●
●
●
●
●
●
●
●
1位數(shù)據(jù)到達(dá)需要多少時(shí)間?每1位數(shù)據(jù)到達(dá)約10微秒兩個(gè)8位緩沖寄存器100Kb/s送內(nèi)存(c)CPU中斷頻率:12.5K;CPU響應(yīng)時(shí)間:80us;送內(nèi)存●
●
●
●
●
●
●
●
●
●
5.4緩沖管理思考題:1、高速緩存與緩沖區(qū)的區(qū)別?區(qū)別高速緩存緩沖存放數(shù)據(jù)存放的是低速設(shè)備上某些數(shù)據(jù)的拷貝,即高速緩存上的數(shù)據(jù)低速設(shè)備上一定有存放的是低速設(shè)備上傳輸給高速設(shè)備的數(shù)據(jù)(或者相反),這些數(shù)據(jù)在低速設(shè)備(或高速設(shè)備)上不一定有目的存放的是高速設(shè)備經(jīng)常要訪問的數(shù)據(jù),如果高速設(shè)備要訪問的數(shù)據(jù)不在高速緩存中,則需要訪問低速設(shè)備緩和高速設(shè)備與低速設(shè)備之間速度不匹配的矛盾,提高兩者的并行性哪個(gè)小組來分析一下?二.緩沖實(shí)現(xiàn)機(jī)制1.單緩沖(SingleBuffer)系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間:5.4緩沖管理
Max(C,T)+MT、M、C三個(gè)時(shí)間之間的串行與并行關(guān)系是怎樣的?2.雙緩沖(DoubleBuffer)
系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間:T
M
C5.4緩沖管理
二.緩沖實(shí)現(xiàn)機(jī)制Max(C+M,T)T、M、C三個(gè)時(shí)間之間的串行與并行關(guān)系是怎樣的?設(shè)從磁盤將一塊數(shù)據(jù)傳送到緩沖區(qū)所用時(shí)間為80us,將緩沖區(qū)中的數(shù)據(jù)傳送到用戶區(qū)所用時(shí)間為40us,CPU處理一塊數(shù)據(jù)所用時(shí)間為30us。如果有多塊數(shù)據(jù)要處理,則下面結(jié)果正確的是()。采用單緩沖區(qū)機(jī)制,處理一塊數(shù)據(jù)所用的總時(shí)間是120us采用單緩沖區(qū)機(jī)制,處理一塊數(shù)據(jù)所用的總時(shí)間是80us采用雙緩沖區(qū)機(jī)制,處理一塊數(shù)據(jù)所用的總時(shí)間是120us采用雙緩沖區(qū)機(jī)制,處理一塊數(shù)據(jù)所用的總時(shí)間是80usABCD提交多選題10分解題思路:1、設(shè)從磁盤將一塊數(shù)據(jù)傳送到緩沖區(qū)所用時(shí)間為80us,將緩沖區(qū)中的數(shù)據(jù)傳送到用戶區(qū)所用時(shí)間為40us,CPU處理一塊數(shù)據(jù)所用時(shí)間為30us。如果有多塊數(shù)據(jù)要處理,并采用單緩沖區(qū)機(jī)制,則處理一塊數(shù)據(jù)所用的總時(shí)間是多少?如果是雙緩沖呢?5.4緩沖管理解答:單緩沖中,設(shè)備與處理機(jī)對(duì)緩沖的操作是串行的,當(dāng)進(jìn)行第i次讀磁盤數(shù)據(jù)至緩沖區(qū)時(shí),系統(tǒng)在同時(shí)處理第i-1次讀入的數(shù)據(jù),即兩項(xiàng)工作是并行的,所以處理一塊數(shù)據(jù)的總時(shí)間為:=MAX(80us,30us)+40us=120us雙緩沖:對(duì)一塊數(shù)據(jù)的處理時(shí)間是max((C+M),T)=max((30+40),80)=80大家算一下,結(jié)果是多少?發(fā)彈幕3.循環(huán)緩沖5.4緩沖管理
二.緩沖實(shí)現(xiàn)機(jī)制
2341n…765outin滿緩沖區(qū)空緩沖區(qū)要特別注意的一個(gè)問題是什么?同步互斥應(yīng)如何解決?4.緩沖池(BufferPool)(1)緩沖池的組成①緩沖隊(duì)列
輸入隊(duì)列inq;輸出隊(duì)列outq。
空緩沖區(qū):空緩沖隊(duì)列emq;裝滿輸入數(shù)據(jù)的緩沖區(qū):裝滿輸出數(shù)據(jù)的緩沖區(qū):5.4緩沖管理有哪幾種緩沖隊(duì)列?4.緩沖池(BufferPool)(1)緩沖池的組成②工作緩沖區(qū)
進(jìn)程正在使用的緩沖區(qū)收容輸入工作緩沖區(qū)提取輸入工作緩沖區(qū)收容輸出工作緩沖區(qū)提取輸出工作緩沖區(qū)5.4緩沖管理有哪幾種工作緩沖區(qū)?這幾種工作緩沖區(qū)的含義?(2)緩沖池的使用:
①Getbuf(type):
申請(qǐng)一個(gè)緩沖區(qū);
②
Putbuf(type,number):
釋放一個(gè)緩沖區(qū);信號(hào)量設(shè)置:資源信號(hào)量:表示某類緩沖隊(duì)列中緩沖區(qū)的數(shù)量:
RS(emq)=n;RS(inq)=0;RS(outq)=0;互斥信號(hào)量:實(shí)現(xiàn)相應(yīng)緩沖隊(duì)列的互斥使用:
MS(emq)=MS(inq)=MS(outq)=1;4.緩沖池(BufferPool)為實(shí)現(xiàn)互斥同步,需要設(shè)置哪些信號(hào)量?voidGet_buf(type){wait(Rs(type));wait(mutex(type));B(number)=takebuf(type);signal(mutex(type));}(2)緩沖池的使用:4.緩沖池(BufferPool)type代表:empq,inq,outq哪個(gè)小組來解釋下這段偽代碼?voidPut_buf(type,number){wait(mutex(type));add_buf(type,number);signal(mutex(type));signal(Rs(type));}Number表示緩沖區(qū)編號(hào)哪個(gè)小組來解釋下這段偽代碼?(2)緩沖池的使用:4.緩沖池(BufferPool)(3)緩沖池的工作方式
輸入隊(duì)列
空緩沖隊(duì)列
輸出隊(duì)列Getbuf(emq)收容輸入Putbuf(inq)Putbuf(outq)Getbuf(emq)Getbuf(inq)Putbuf(emq)Getbuf(outq)Putbuf(emq)提取輸入收容輸出提取輸出4.緩沖池(BufferPool)哪個(gè)小組來分析下緩沖池四種工作方式的大致工作過程?(1)UNIX系統(tǒng)緩沖管理的思路目標(biāo):盡量減少對(duì)磁盤的I/O操作次數(shù),加快系統(tǒng)響應(yīng)。預(yù)先緩存:當(dāng)進(jìn)程要從磁盤讀數(shù)據(jù)時(shí),首先從高速緩沖中讀延遲發(fā)送:當(dāng)進(jìn)程要寫數(shù)據(jù)到磁盤時(shí),先寫入高速緩沖中高速緩沖
用戶數(shù)據(jù)區(qū)用戶進(jìn)程磁盤高速緩沖
用戶數(shù)據(jù)區(qū)用戶進(jìn)程磁盤5.UNIX系統(tǒng)的緩沖區(qū)管理(塊緩沖)(2)緩沖管理數(shù)據(jù)結(jié)構(gòu)①
緩沖區(qū)的組成
ⅰ緩存數(shù)組
——含有磁盤上的數(shù)據(jù)的存儲(chǔ)器數(shù)組
ⅱ緩存首部
——描述緩沖區(qū)特性的數(shù)據(jù)結(jié)構(gòu)5.UNIX系統(tǒng)的緩沖區(qū)管理(塊緩沖)
②緩存首部結(jié)構(gòu)設(shè)備號(hào)dev塊號(hào)blkno狀態(tài)flag指向數(shù)據(jù)區(qū)域的指針字節(jié)數(shù)返回的I/O出錯(cuò)信息b_forw
設(shè)備緩沖區(qū)隊(duì)列前向指針b_back
設(shè)備緩沖區(qū)隊(duì)列后向指針av_forw
空閑緩沖區(qū)隊(duì)列前向指針av_back
空閑緩沖區(qū)隊(duì)列后向指針設(shè)備號(hào)、塊號(hào)說明緩存信息對(duì)應(yīng)的磁盤上的塊狀態(tài)flag——描述了緩沖區(qū)當(dāng)前的狀態(tài)忙標(biāo)志BUSY:緩沖區(qū)當(dāng)前正“忙”延遲寫DELWR:還未真正寫到磁盤上寫標(biāo)志W(wǎng)RITE:正把緩沖區(qū)的內(nèi)容寫到磁盤讀標(biāo)志READ:正從磁盤往緩沖區(qū)讀信息等待位
WAIT:有進(jìn)程當(dāng)前正在等候緩沖區(qū)變?yōu)榭臻e(2)緩沖管理數(shù)據(jù)結(jié)構(gòu)③緩沖區(qū)隊(duì)列結(jié)構(gòu)
ⅰ設(shè)備緩沖區(qū)隊(duì)列:散列隊(duì)列(設(shè)備號(hào)、塊號(hào)):簡稱b鏈5.UNIX系統(tǒng)的緩沖區(qū)管理(2)緩沖管理數(shù)據(jù)結(jié)構(gòu)b_forwb_backb_forwb_backb_forwb_backb_forwb_back設(shè)備緩沖區(qū)隊(duì)列
③緩沖區(qū)隊(duì)列結(jié)構(gòu)
ⅱ空閑緩沖區(qū)隊(duì)列:簡稱av鏈。
av_forwav_backav_forwav_backav_forwav_backav_forwav_back空閑緩沖區(qū)隊(duì)列
空閑緩沖區(qū)與空緩沖區(qū)一樣嗎?5.UNIX系統(tǒng)的緩沖區(qū)管理(2)緩沖管理數(shù)據(jù)結(jié)構(gòu)③緩沖區(qū)隊(duì)列結(jié)構(gòu)
緩沖區(qū)
設(shè)備緩沖區(qū)隊(duì)列
空閑緩沖區(qū)隊(duì)列存放著某個(gè)設(shè)備的數(shù)據(jù)沒有正在被進(jìn)程使用
B_BUSY=05.UNIX系統(tǒng)的緩沖區(qū)管理(2)緩沖管理數(shù)據(jù)結(jié)構(gòu)是否有可能一個(gè)緩沖區(qū)同時(shí)位于兩個(gè)緩沖隊(duì)列中?分配一個(gè)buf讀/寫某設(shè)備上的塊使用設(shè)備號(hào)、塊號(hào)查找設(shè)備緩沖隊(duì)列b鏈:(3)UNIX緩沖管理算法:LRU算法5.UNIX系統(tǒng)的緩沖區(qū)管理找到B_BUSY=0B_BUSY=1分配一個(gè)buf讀/寫某設(shè)備上的塊
若找不到,去空閑緩沖隊(duì)列鏈?zhǔn)自兀?)UNIX緩沖管理算法:LRU算法5.UNIX系統(tǒng)的緩沖區(qū)管理緩沖區(qū)無延遲寫標(biāo)記緩沖區(qū)有延遲寫標(biāo)記對(duì)延遲寫的處理(3)UNIX緩沖管理算法5.UNIX系統(tǒng)的緩沖區(qū)管理移出空閑緩沖隊(duì)列寫入磁盤插入空閑緩沖隊(duì)列隊(duì)首保留在原設(shè)備緩沖隊(duì)列中釋放緩沖區(qū)緩沖區(qū)讀寫操作結(jié)束插入空閑緩沖隊(duì)列隊(duì)尾保留在原設(shè)備緩沖隊(duì)列中某文件占10個(gè)磁盤塊,現(xiàn)要把該文件磁盤塊依次讀入主存緩沖區(qū),并送至用戶區(qū)進(jìn)行處理,假設(shè)一個(gè)緩沖區(qū)與一個(gè)磁盤塊大小相同,把一個(gè)磁盤塊讀入緩沖區(qū)的時(shí)間為100us,將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)的時(shí)間為50us,CPU對(duì)一塊數(shù)據(jù)的處理時(shí)間為50us,在單緩沖區(qū)機(jī)制下,讀入并處理完成該文件的時(shí)間是()us。150015505001600ABCD提交單選題10分解題思路:某文件占10個(gè)磁盤塊,現(xiàn)要把該文件磁盤塊依次讀入主存緩沖區(qū),并送至用戶區(qū)進(jìn)行處理,假設(shè)一個(gè)緩沖區(qū)與一個(gè)磁盤塊大小相同,把一個(gè)磁盤塊讀入緩沖區(qū)的時(shí)間為100us,將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)的時(shí)間為50us,CPU對(duì)一塊數(shù)據(jù)的處理時(shí)間為50us,在單緩沖區(qū)和雙緩沖區(qū)機(jī)制下,讀入并處理完成該文件的時(shí)間分別是多少?單緩沖:每塊數(shù)據(jù)處理完成需要150us,第10塊最后還需要處理50us:
總時(shí)間=150us*10+50=1550us某文件占10個(gè)磁盤塊,現(xiàn)要把該文件磁盤塊依次讀入主存緩沖區(qū),并送至用戶區(qū)進(jìn)行處理,假設(shè)一個(gè)緩沖區(qū)與一個(gè)磁盤塊大小相同,把一個(gè)磁盤塊讀入緩沖區(qū)的時(shí)間為100us,將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)的時(shí)間為50us,CPU對(duì)一塊數(shù)據(jù)的處理時(shí)間為50us,在雙緩沖區(qū)機(jī)制下,讀入并處理完成該文件的時(shí)間是()us。1000110012001500ABCD提交單選題10分每一塊所花時(shí)間100us:從緩沖到用戶區(qū)50us,處理50us:=100us*10=1000us
最后
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公共營養(yǎng)師四級(jí)復(fù)習(xí)資料練習(xí)試卷附答案
- 鄉(xiāng)鎮(zhèn)新建房出售合同范例
- 古董古玩寄售合同范例
- 國家合同范本庫查詢
- 合資飯店合同范例
- 買賣土地建筑合同范本
- 上海裝修合同范本
- 廚師飯店勞務(wù)合同范例
- 醫(yī)藥代表合同范本
- 辦低保申請(qǐng)書格式
- 《保密法》培訓(xùn)課件
- 期權(quán)入門基礎(chǔ)知識(shí)單選題100道及答案解析
- 2024 年江蘇高考【生物】真題及答案解析(江蘇卷)
- 中國華電校園招聘在線測(cè)評(píng)題
- 高原裝配式鋼結(jié)構(gòu)建筑技術(shù)標(biāo)準(zhǔn)DBJ540003-2018
- 盤扣支模架工程監(jiān)理細(xì)則
- 移動(dòng)商務(wù)專業(yè)教學(xué)資源庫申報(bào)書
- 人教鄂教版-科學(xué)-三年級(jí)下冊(cè)-知識(shí)點(diǎn)
- 2024年北師大版五年級(jí)數(shù)學(xué)下冊(cè)第二單元長方體(一)檢測(cè)卷(提高卷)含答案
- DZ∕T 0248-2014 巖石地球化學(xué)測(cè)量技術(shù)規(guī)程(正式版)
- 四宮格兒童數(shù)獨(dú)練習(xí)60題
評(píng)論
0/150
提交評(píng)論