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

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

進程緩沖區和內核緩沖區

2019-11-14 13:13:24
字體:
來源:轉載
供稿:網友

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 门头沟区| 湘西| 荥经县| 五寨县| 汕头市| 樟树市| 普格县| 旬阳县| 扶沟县| 泗水县| 岳普湖县| 通州市| 肇州县| 东乌珠穆沁旗| 广丰县| 中方县| 建始县| 天津市| 施秉县| 高尔夫| 望都县| 泌阳县| 石渠县| 灵山县| 全南县| 南康市| 怀宁县| 陈巴尔虎旗| 同仁县| 贵阳市| 河北区| 滁州市| 突泉县| 民丰县| 乌兰浩特市| 久治县| 永春县| 新田县| 宜昌市| 寿阳县| 吴江市|