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

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

進程緩沖區和內核緩沖區

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 珠海市| 铜川市| 广南县| 宝清县| 浏阳市| 南宁市| 垦利县| 云梦县| 莎车县| 铜陵市| 炉霍县| 四平市| 固始县| 祁东县| 太湖县| 南和县| 安平县| 莱芜市| 汝城县| 固安县| 吴忠市| 聂拉木县| 丰都县| 武义县| 白银市| 赫章县| 瓮安县| 东丽区| 柘荣县| 宝鸡市| 石棉县| 鹤山市| 台前县| 徐汇区| 金湖县| 定边县| 静安区| 海安县| 平果县| 信阳市| 叙永县|