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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

单缓冲、双缓冲、循环缓冲

發(fā)布時間:2024/3/12 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单缓冲、双缓冲、循环缓冲 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

緩沖區(qū)管理

什么是緩沖區(qū)?有什么作用?

緩沖區(qū)是一個存儲區(qū)域,可以由專門的硬件寄存器組成,也可以利用內(nèi)存作為緩沖區(qū)。
使用硬件作為緩沖區(qū)的成本較高,容量也較小,一般僅用在對速度非常高的場合(存儲器管理寄存器,有對頁表訪問的頻率較高,因此使用速度很快的聯(lián)想寄存器 來存放頁表項的副本)

一般情況下更多的是使用內(nèi)存作為緩沖區(qū),“設(shè)備獨立性軟件”的緩沖區(qū)就是要組織管理好這些緩沖區(qū)。

緩沖區(qū)的作用

  • 緩和CPU和IO設(shè)備之間速度不匹配矛盾。
  • 減少對CPU的中斷頻率,放寬對CPU中斷相應(yīng)的時間限制
  • 解決數(shù)據(jù)粒度不匹配的問題
  • 提高CPU和IO設(shè)備之間的并行性。
  • 單緩沖

    什么是單緩沖:

    假設(shè)某用戶進(jìn)程請求某塊設(shè)備讀入若干塊數(shù)據(jù)。若采用單緩沖的策略,操作系統(tǒng)會在主存中為其分配一個緩沖區(qū)。
    當(dāng)緩沖區(qū)不為空時不能往里面放入數(shù)據(jù),只有緩沖區(qū)為空才能放入數(shù)據(jù),但是一次放入的數(shù)據(jù)必須充滿整個緩沖塊,才能從緩沖區(qū)把數(shù)據(jù)傳出。

    結(jié)論:采用單緩沖策略,處理一塊數(shù)據(jù)平均耗時MAX(C,T)+M。其中C是CPU處理工作區(qū)的時間,T是從IO到緩沖區(qū)的時間,M是緩沖區(qū)的數(shù)據(jù)存到工作區(qū)的時間。

    雙緩沖

    若采用雙緩沖策略,操作系統(tǒng)會在主存中為其分配兩個緩沖區(qū)。
    采用雙緩沖策略,處理一個數(shù)據(jù)塊的平均耗時是Max(T, C+M).

    使用單緩沖/雙緩沖在通信時的區(qū)別

    單緩沖

    雙緩沖。若是雙緩沖通信,則同一時刻可以實現(xiàn)雙向的數(shù)據(jù)傳輸。

    管道通信中的管道就是緩沖區(qū)。要想實現(xiàn)雙向通信必須設(shè)置兩個管道。

    循環(huán)緩沖區(qū)

    將大小相等的緩沖區(qū)連接成一個循環(huán)隊列。循環(huán)隊列中有兩種緩沖區(qū),一種是沒有數(shù)據(jù)的空閑緩沖區(qū),一種是由數(shù)據(jù)的滿緩沖區(qū)。又有兩個指針分別指向空緩沖區(qū)和滿緩沖區(qū)。

    緩沖池

    緩沖池有系統(tǒng)中共用的緩沖區(qū)組成。這些緩沖區(qū)按照使用狀況可以分為:空緩沖隊列、裝滿輸入數(shù)據(jù)的緩沖隊列、裝滿輸出數(shù)據(jù)的緩沖隊列
    根據(jù)一個緩沖區(qū)在實際運算中扮演的功能不同,又設(shè)置了四種工作緩沖區(qū):用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(hin)、用于提取輸入數(shù)據(jù)的工作緩沖區(qū)(sin)、用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(hout)、用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(sout)。

    總結(jié)

    以上是生活随笔為你收集整理的单缓冲、双缓冲、循环缓冲的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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