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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

緩沖區管理

什么是緩沖區?有什么作用?

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

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

緩沖區的作用

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

    什么是單緩沖:

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

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

    雙緩沖

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

    使用單緩沖/雙緩沖在通信時的區別

    單緩沖

    雙緩沖。若是雙緩沖通信,則同一時刻可以實現雙向的數據傳輸。

    管道通信中的管道就是緩沖區。要想實現雙向通信必須設置兩個管道。

    循環緩沖區

    將大小相等的緩沖區連接成一個循環隊列。循環隊列中有兩種緩沖區,一種是沒有數據的空閑緩沖區,一種是由數據的滿緩沖區。又有兩個指針分別指向空緩沖區和滿緩沖區。

    緩沖池

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

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。