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

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

進程緩沖區和內核緩沖區

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 准格尔旗| 嘉义县| 秀山| 茌平县| 苗栗县| 临泉县| 哈巴河县| 泽库县| 尤溪县| 开江县| 佛冈县| 东兴市| 鹤壁市| 上高县| 准格尔旗| 石林| 浏阳市| 林甸县| 凤冈县| 花莲市| 梁平县| 南宫市| 安乡县| 荆州市| 黄冈市| 庆阳市| 正阳县| 宁安市| 宁蒗| 双柏县| 马尔康县| 和田市| 东阿县| 元氏县| 宝山区| 丹凤县| 达拉特旗| 历史| 吉林市| 抚松县| 曲麻莱县|