0
衆所周知,操作系統實現一個頁面機制來實現快速訪問。每當進程請求內核將二進制數據從磁盤加載到內存空間時,內核將首先查看頁面緩存。如果二進制文件已經緩存在頁面緩存中,則不需要訪問硬件磁盤。這樣,操作系統可以減少開銷。頁面緩存如何在內存中工作?具體在Linux
但是,我有問題。
正如我們所知,操作系統將幫助頁面緩存在物理內存中分配頁面以保存即將可能使用的數據。當內核在頁面緩存中發現進程的請求數據時,內核會將什麼傳遞給進程?內核會將保存有需要的數據的PageCache頁面的內容複製到分配給此進程的新頁面中?或者內核只是返回PageCache頁面的指針?
如果我們在談論Linux,該怎麼辦?我們知道操作系統將使用struct address_space來描述文件的頁面緩存。 Linux如何處理這個問題? –
文件內容只加載一次並共享。見http://duartes.org/gustavo/blog/post/page-cache-the-affair-between-memory-and-files/ –
非常感謝! –