




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、6.7 緩沖區(qū)管理在現(xiàn)代操作系統(tǒng)中,幾乎所有的I/O設(shè)備在與處理機(jī)交換數(shù)據(jù)時(shí)都用了緩沖區(qū)。緩沖區(qū)是一個(gè)存儲(chǔ)區(qū)域,它可以由專(zhuān)門(mén)的硬件寄存器組成,但由于硬件的成本較高,容量也較小,一般僅用在對(duì)速度要求非常高的場(chǎng)合,如存儲(chǔ)器管理中所用的聯(lián)想存儲(chǔ)器;設(shè)備控制器中用的數(shù)據(jù)緩沖區(qū)等。 6.7 緩沖區(qū)管理在現(xiàn)代操作系統(tǒng)6.7.1 緩沖的引入 引入緩沖區(qū)的原因有很多,可歸結(jié)為以下幾點(diǎn):(1) 緩和CPU與I/O設(shè)備間速度不匹配的矛盾。(2) 減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制。(3) 解決數(shù)據(jù)粒度不匹配的問(wèn)題。(4) 提高CPU和I/O設(shè)備之間的并行性。6.7.1 緩沖的引入 引入緩沖區(qū)的
2、原因有很多,可圖6-22 利用緩沖寄存器實(shí)現(xiàn)緩沖圖6-22 利用緩沖寄存器實(shí)現(xiàn)緩沖6.7.2 單緩沖區(qū)和雙緩沖區(qū) 1. 單緩沖區(qū)(Single Buffer)在單緩沖情況下,每當(dāng)用戶(hù)進(jìn)程發(fā)出一I/O請(qǐng)求時(shí),操作系統(tǒng)便在主存中為之分配一緩沖區(qū),如圖6-23所示。 6.7.2 單緩沖區(qū)和雙緩沖區(qū) 1. 單緩沖區(qū)(S圖6-23 單緩沖工作示意圖圖6-23 單緩沖工作示意圖2. 雙緩沖區(qū)(Double Buffer)由于緩沖區(qū)是共享資源,生產(chǎn)者與消費(fèi)者在使用緩沖區(qū)時(shí)必須互斥。如果消費(fèi)者尚未取走緩沖區(qū)中的數(shù)據(jù),即使生產(chǎn)者又生產(chǎn)出新的數(shù)據(jù),也無(wú)法將它送入緩沖區(qū),生產(chǎn)者等待。如果為生產(chǎn)者與消費(fèi)者設(shè)置了兩個(gè)緩
3、沖區(qū),便能解決這一問(wèn)題。2. 雙緩沖區(qū)(Double Buffer)由于緩圖6-24 雙緩沖工作示意圖圖6-24 雙緩沖工作示意圖如果在實(shí)現(xiàn)兩臺(tái)機(jī)器之間的通信時(shí)僅為它們配置了單緩沖,如圖6-25(a)所示,那么,它們之間在任一時(shí)刻都只能實(shí)現(xiàn)單方向的數(shù)據(jù)傳輸。例如,只允許把數(shù)據(jù)從A傳送到B,或者從B傳送到A,而絕不允許雙方同時(shí)向?qū)Ψ桨l(fā)送數(shù)據(jù)。為了實(shí)現(xiàn)雙向數(shù)據(jù)傳輸,必須在兩臺(tái)機(jī)器中都設(shè)置兩個(gè)緩沖區(qū),一個(gè)用作發(fā)送緩沖區(qū),另一個(gè)用作接收緩沖區(qū),如圖6-25(b)所示。如果在實(shí)現(xiàn)兩臺(tái)機(jī)器之間的通信時(shí)僅為它們配置了單緩沖,如圖圖6-25 雙機(jī)通信時(shí)緩沖區(qū)的設(shè)置圖6-25 雙機(jī)通信時(shí)緩沖區(qū)的設(shè)置6.7.3
4、環(huán)形緩沖區(qū) 1. 環(huán)形緩沖區(qū)的組成(1) 多個(gè)緩沖區(qū)。在環(huán)形緩沖中包括多個(gè)緩沖區(qū),其每個(gè)緩沖區(qū)的大小相同。作為輸入的多緩沖區(qū)可分為三種類(lèi)型:用于裝輸入數(shù)據(jù)的空緩沖區(qū)R、已裝滿(mǎn)數(shù)據(jù)的緩沖區(qū)G以及計(jì)算進(jìn)程正在使用的現(xiàn)行工作緩沖區(qū)C,如圖6-26所示。6.7.3 環(huán)形緩沖區(qū) 1. 環(huán)形緩沖區(qū)的組成圖6-26 環(huán)形緩沖區(qū)圖6-26 環(huán)形緩沖區(qū)2. 環(huán)形緩沖區(qū)的使用計(jì)算進(jìn)程和輸入進(jìn)程可利用下述兩個(gè)過(guò)程來(lái)使用形環(huán)緩沖區(qū)。(1) Getbuf過(guò)程。(2) Releasebuf過(guò)程。2. 環(huán)形緩沖區(qū)的使用計(jì)算進(jìn)程和輸入進(jìn)程可利用下述3. 進(jìn)程之間的同步問(wèn)題使用輸入循環(huán)緩沖,可使輸入進(jìn)程和計(jì)算進(jìn)程并行執(zhí)行。相應(yīng)
5、地,指針Nexti和指針Nextg將不斷地沿著順時(shí)針?lè)较蛞苿?dòng),這樣就可能出現(xiàn)下述兩種情況:(1) Nexti指針追趕上Nextg指針。(2) Nextg指針追趕上Nexti指針。 3. 進(jìn)程之間的同步問(wèn)題使用輸入循環(huán)緩沖,可使輸入6.7.4 緩沖池(Buffer Pool) 1. 緩沖池的組成緩沖池管理著多個(gè)緩沖區(qū),每個(gè)緩沖區(qū)由用于標(biāo)識(shí)和管理的緩沖首部以及用于存放數(shù)據(jù)的緩沖體兩部分組成。緩沖首部一般包括緩沖區(qū)號(hào)、設(shè)備號(hào)、設(shè)備上的數(shù)據(jù)塊號(hào)、同步信號(hào)量以及隊(duì)列鏈接指針等。為了管理上的方便,一般將緩沖池中具有相同類(lèi)型的緩沖區(qū)鏈接成一個(gè)隊(duì)列,于是可形成以下三個(gè)隊(duì)列:(1) 空白緩沖隊(duì)列emq。(2) 輸入隊(duì)列inq。(3) 輸出隊(duì)列outq。 6.7.4 緩沖池(Buffer Pool) 1.2. Getbuf過(guò)程和Putbuf過(guò)程在數(shù)據(jù)結(jié)構(gòu)課程中,曾介紹過(guò)隊(duì)列和對(duì)隊(duì)列進(jìn)行操作的兩個(gè)過(guò)程,第一個(gè)是 Addbuf(type,number)過(guò)程。該過(guò)程用于將由參數(shù)number所指示的緩沖區(qū)B掛在type隊(duì)列上。第二個(gè)是Takebuf(type)過(guò)程。它用于從type所指示的隊(duì)列的隊(duì)首摘下一個(gè)緩沖區(qū)。2. Getbuf過(guò)程和Putbuf過(guò)程在數(shù)據(jù)結(jié)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 0107-2024眼科A型超聲測(cè)量?jī)x
- 肉雞養(yǎng)殖購(gòu)銷(xiāo)合同樣本
- 建筑外墻清洗服務(wù)合同范本
- 合同終止通知書(shū)模板與合同范本
- 工程技術(shù)人才勞動(dòng)合同書(shū)
- 應(yīng)收賬款質(zhì)押貸款合同
- 機(jī)動(dòng)車(chē)維修服務(wù)合同標(biāo)準(zhǔn)范本
- 勞動(dòng)合同簡(jiǎn)化版合同模板
- 個(gè)人貸款合同還款計(jì)劃書(shū)范本大全
- 簡(jiǎn)版?zhèn)€人商業(yè)空間租賃合同
- 跨文化商務(wù)交際導(dǎo)論 課件 Unit 1 Culture
- 電梯整機(jī)功能檢驗(yàn)記錄
- 醫(yī)治與釋放-課件
- (外研社版)小學(xué)英語(yǔ)語(yǔ)法大全
- 急危重癥護(hù)理學(xué)4課件
- 新疆民族發(fā)展史(精簡(jiǎn))
- 華為機(jī)器視覺(jué)好望系列產(chǎn)品介紹
- 《旅游經(jīng)濟(jì)學(xué)》全書(shū)PPT課件
- 中國(guó)醫(yī)院質(zhì)量安全管理 第3-5部分:醫(yī)療保障 消毒供應(yīng) T∕CHAS 10-3-5-2019
- 安全評(píng)價(jià)理論與方法第五章-事故樹(shù)分析評(píng)價(jià)法
- 幼兒園一日活動(dòng)流程表
評(píng)論
0/150
提交評(píng)論