日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

缓冲管理

發(fā)布時(shí)間:2024/3/12 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 缓冲管理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為了緩和CPU與I/O設(shè)備速度不匹配的矛盾,提高它們之間的并行性,在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,幾乎所有的I/O設(shè)備在與CPU交換數(shù)據(jù)時(shí),都用了緩沖區(qū)。緩沖管理的主要職責(zé)是組織好這些緩沖區(qū),并向進(jìn)程提供獲得和釋放緩沖區(qū)的手段。

緩沖機(jī)制的作用:1)緩和CPU和I/O設(shè)備間速度不匹配的矛盾 2)減少對(duì)CPU 的中斷頻率 3)提高CPU和I/O設(shè)備的并行性

可以通過(guò)下面這個(gè)例子分析緩沖區(qū)對(duì)CPU中斷頻率和響應(yīng)時(shí)間的影響。

例子:在一個(gè)遠(yuǎn)程通信系統(tǒng)中,在本地接收從遠(yuǎn)程終端發(fā)來(lái)的數(shù)據(jù),速率為100kb/s。

1)對(duì)于一位緩沖

CPU中斷頻率為100kb/1b=100k,CPU響應(yīng)時(shí)間為10us。

2)對(duì)于一個(gè)8緩沖區(qū)

設(shè)備可以等到8位緩沖區(qū)填充完后再向CPU發(fā)出中斷,所以CPU中斷頻率為100kb/8b=12.5k

當(dāng)緩沖區(qū)填滿時(shí),不能再接受下一位的輸入,所以CPU的響應(yīng)時(shí)間必須是1b/100kb=10us。

3)對(duì)于兩個(gè)8位緩沖區(qū)

設(shè)備可以等到1號(hào)8位緩沖區(qū)填充完后再向CPU發(fā)出中斷,所以CPU中斷頻率為100kb/8b=12.5k

當(dāng)1號(hào)8位緩沖區(qū)填滿時(shí),可以將本區(qū)內(nèi)容傳遞至2號(hào)緩沖區(qū)進(jìn)行送內(nèi)存操作,而1號(hào)緩沖區(qū)繼續(xù)接受下8位數(shù)據(jù),所以CPU的響應(yīng)時(shí)間必須是8b/100kb=80us。

緩沖的實(shí)現(xiàn)機(jī)制:

按照系統(tǒng)中設(shè)置的緩沖區(qū)個(gè)數(shù)及對(duì)緩沖區(qū)的組織方式,緩沖區(qū)的實(shí)現(xiàn)機(jī)制分為單緩沖、雙緩沖、循環(huán)緩沖、緩沖池機(jī)制。

1)單緩沖

在塊設(shè)備輸入數(shù)據(jù)的過(guò)程中,首先把磁盤(pán)數(shù)據(jù)送到緩沖區(qū),花費(fèi)的時(shí)間為T(mén)s,(簡(jiǎn)記為T(mén)s過(guò)程)

???????????????????????????????????????????????????然后把操作系統(tǒng)緩沖區(qū)的數(shù)據(jù)送到用戶區(qū),花費(fèi)的時(shí)間為T(mén)m,(簡(jiǎn)記為T(mén)m過(guò)程)

???????????????????????????????????????????????????最后用戶進(jìn)程對(duì)這批數(shù)據(jù)進(jìn)行計(jì)算,花費(fèi)的時(shí)間為T(mén)c。(簡(jiǎn)記為T(mén)c過(guò)程)

當(dāng)Tc過(guò)程與Tm過(guò)程操作同一塊緩沖區(qū)時(shí),這兩個(gè)操作不能并行(讀寫(xiě)鎖),Ts過(guò)程和Tm一直都不能并行

單緩沖的情況如下:

當(dāng)Ts>Tc,(上圖)主要是Tm與Ts不能并行,因此總時(shí)間T=(n*(Ts+Tm)+Tc)/n=Ts+Tm

當(dāng)Ts<Tc,(上圖)主要是Tm與Tc不能并行,因此總時(shí)間T=(n*(Tc+Tm)+Ts)/n=Tc+Tm

綜上,單緩沖下總時(shí)間T=max(Ts+Tc)+Tm

2)

雙緩沖條件下,Ts過(guò)程與Tm過(guò)程可以并行,Tm過(guò)程與Tc過(guò)程不能并行

當(dāng)Ts>Tc時(shí),(上圖)由于Tm<<Tc且Tm<<Ts,所以T=(n*Ts+Tm+Tc)/n=Ts=max(Tc,Ts)

當(dāng)Ts<Tc時(shí),Tm與Tc不能并行,T=(n*(Tm+Tc)+Ts)/n=Tm+Tc=max(Tc,Ts)+Tm,但Ts<Tc這種情況非常少,所以一般做題時(shí)填雙緩沖的時(shí)間都填Ts>Tc情況下的max(Tc,Ts)

綜上,雙緩沖時(shí)間為max(Tc,Ts)
3)循環(huán)緩沖

相比雙緩沖區(qū),增加了緩沖區(qū)的數(shù)量。對(duì)于多緩沖區(qū),將它們組織成循環(huán)緩沖的形式。

4)緩沖池

為了提高緩沖區(qū)的利用率,目前廣泛采用公用緩沖池機(jī)制。在緩沖池中設(shè)置多個(gè)緩沖區(qū),可供若干個(gè)進(jìn)程共享。

參考博客:https://blog.csdn.net/a649339266/article/details/77836813

總結(jié)

以上是生活随笔為你收集整理的缓冲管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。