2016-07-20 194 views
0

我很難區分不同的緩存區域(OS)。我喜歡關於disk \ buffer \ swap \ page緩存的簡單解釋。他們居住在哪裏?它們之間的主要區別是什麼?Linux內存管理(緩存)

從我所瞭解的頁面緩存是存儲從I/O設備帶來的頁面的主要內存的一部分。 緩衝區緩存和磁盤緩存相同嗎?他們是否「活在」I/O設備?

非常感謝!

回答

4

在linux中,兩個緩存是不同的:文件在頁面緩存中,磁盤塊在緩衝區緩存中。鑑於大多數文件都是由磁盤上的文件系統表示的,因此數據會被表示兩次,每次緩存中都會有一次。許多Unix系統都遵循類似的模式。

但是,緩衝區高速緩存仍然存在,因爲內核仍然需要根據塊而不是頁面執行塊I/O。由於大多數塊代表文件數據,因此大部分緩衝區緩存均由頁面緩存表示。但少量的塊數據不是由文件支持的 - 例如元數據和原始塊I/O - 因此僅由緩衝區緩存表示。

2

磁盤高速緩存/緩衝緩存

此緩存緩存磁盤塊來優化塊I/O。

它是用於更快訪問磁盤的RAM。它嵌入在磁盤中,或者它可以是預留的主存儲器的一部分。

交換緩存/頁緩存文件的

這種緩存緩存頁面,以優化文件I/O

的交換緩存頁表項的列表。這個換出頁面的頁表條目描述了頁面被保存在哪個交換文件以及它在交換文件中的位置,以便當必須再次返回時,我們將把它的位置放在交換文件中。

它駐留在磁盤上。

+0

謝謝馬哈拉傑! – elti

+0

我該如何接受答案?我是新來的,找不到任何接受選項 – elti