1

FreeBSD 使用分页队列实现页面着色。队列根据处理器的 L1 和 L2 缓存大小排列;当需要分配一个新页面时,FreeBSD 会尝试获取一个与缓存最佳对齐的页面。

有人可以解释一下上述几行,分页队列的概念是什么?

谢谢!

4

1 回答 1

3

操作系统必须管理 CPU 缓存的大小以减少缓存未命中(也解释了页面着色)。更简单地说,存储在缓存中的数据(以页为单位)必须根据使用频率、是否可能很快再次使用以及重新检索数据的“昂贵”程度来仔细选择。来自主存储器/HD/SomeOtherDevice 的数据。这些选择在内存带宽成为瓶颈的应用中很重要。

这种类型的事情通常使用优先级队列来完成,该队列实现了操作系统开发人员选择的分页替换策略。这些队列确定当新数据移动到缓存时哪些页面被替换,以及数据在缓存中的位置。如果您想了解正在使用的策略,您应该查阅 FreeBSD 的文档。

为了对齐,高速缓存(或主存)中的数据需要从特定边界开始放置,以便有效访问(即移动到 CPU 寄存器中)。如果数据未对齐,则需要额外的计算来对齐它。

于 2009-04-19T17:27:14.937 回答