【发布时间】:2016-11-23 11:10:39
【问题描述】:
我很难区分不同的缓存区域 (OS)。我想简要解释一下磁盘\缓冲区\交换\页面缓存。他们住在哪里?它们之间的主要区别是什么?
据我了解,页面缓存是存储从 I/O 设备带来的页面的主内存的一部分。 缓冲区缓存和磁盘缓存是否相同?它们是否“生活”在 I/O 设备上?
非常感谢!!
【问题讨论】:
标签: linux caching operating-system
我很难区分不同的缓存区域 (OS)。我想简要解释一下磁盘\缓冲区\交换\页面缓存。他们住在哪里?它们之间的主要区别是什么?
据我了解,页面缓存是存储从 I/O 设备带来的页面的主内存的一部分。 缓冲区缓存和磁盘缓存是否相同?它们是否“生活”在 I/O 设备上?
非常感谢!!
【问题讨论】:
标签: linux caching operating-system
在 linux 中,两个缓存是不同的:文件在页面缓存中,磁盘块在缓冲区缓存中。鉴于大多数文件由磁盘上的文件系统表示,数据被表示两次,一次在每个缓存中。许多 Unix 系统都遵循类似的模式。
但是,缓冲区高速缓存仍然存在,因为内核仍然需要根据块而不是页来执行块 I/O。由于大多数块代表文件数据,因此大部分缓冲区缓存由页缓存代表。但少量块数据不是文件支持的——例如元数据和原始块 I/O——因此仅由缓冲区缓存表示。
【讨论】:
磁盘缓存/缓冲区缓存
此缓存缓存磁盘块以优化块 I/O。
它是用于更快访问磁盘的 RAM。它嵌入在磁盘中,也可以作为主内存的一部分留出。
交换缓存/页面缓存
此缓存缓存文件页面以优化文件 I/O
交换缓存是页表条目的列表。此页表条目用于换出页面,并描述了该页面保存在哪个交换文件中以及它在交换文件中的位置,因此当必须再次带回时,我们将在交换文件中找到它的位置。
它驻留在磁盘上。
【讨论】: