国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

進程緩沖區和內核緩沖區

2019-11-14 12:54:28
字體:
來源:轉載
供稿:網友

緩沖區的出現是為了減少頻繁的系統調用,由于系統調用需要保存之前的進程數據和狀態等信息,而結束調用之后回來還需要回復之前的信息,為了減少這種耗時耗性能的調用于是出現了緩沖區。 在linux系統中,每個進程有自己獨立的緩沖區,叫做進程緩沖區,而系統內核也有個緩沖區叫做內核緩沖區。 當進程需要指定的磁盤數據的時候,進程先到內核緩沖區去看看數據是否在內核緩沖區,如果沒有,內核把讀取磁盤中此數據的請求添加到內核的請求隊列,然后掛起此進程,等解決了別的進程的問題之后,磁盤中的數據也讀取到了內核緩沖區,然后復制數據到進程緩沖區,接著喚醒這個被掛起的進程,進程從自己的進程緩沖區中拿到數據,然后繼續工作。 但是一般的操作系統在存儲數據的時候也并不是立即存儲的,這個是磁盤文件系統設計的問題,有些UNIX操作系統除外,相對數據安全,但是IO不可避免的會降低。操作系統使用read函數把數據從內核緩沖區復制到進程緩沖區,write把數據從進程緩沖區 復制到內核緩沖區中。至于什么時候讀取和存儲則由內核來決定,內核緩沖區滿則存儲到磁盤,讀取的時候內核緩沖區空則從磁盤讀取到內核緩沖區中,當然,在寫入的時候如果系統突然關閉則會造成內核緩沖區的數據無法存儲到磁盤的事情發生。


上一篇:hdu 2043 密碼

下一篇:C++ 關于namespace

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内黄县| 烟台市| 乐业县| 西青区| 永修县| 曲周县| 赤城县| 义马市| 西城区| 桓仁| 台中县| 墨玉县| 岢岚县| 吉首市| 马尔康县| 广汉市| 德格县| 石狮市| 简阳市| 安乡县| 柳林县| 库伦旗| 株洲市| 襄樊市| 夹江县| 武山县| 洮南市| 万荣县| 阜南县| 璧山县| 高淳县| 通化市| 威海市| 内江市| 美姑县| 新泰市| 崇州市| 苏州市| 米林县| 米易县| 陆川县|