FreeBSD使用分页队列实现页面着色。队列是根据处理器的L1和L2缓存的大小排列的;当需要分配一个新页面时,FreeBSD试图得到一个对缓存进行优化的队列。
请有人解释一下上面的几行,分页队列的概念是什么?
谢谢!
发布于 2009-04-19 17:27:14
操作系统必须管理CPU缓存的大小,以减少缓存漏掉 (也解释页面着色)。更简单地说,存储在缓存中的数据(以称为页面的单位)必须根据其使用频率、是否可能很快再次使用以及从主存/HD/SomeOtherDevice重新检索数据的“成本”来仔细选择。在内存带宽是瓶颈的应用程序中,这些选择非常重要。
这种类型的事情通常是通过优先级队列来完成的,该队列实现了OS开发人员选择的分页替换策略。这些队列确定在将新数据移动到缓存时替换哪些页面,以及数据将位于缓存中的位置。如果您想找出正在使用的策略,您应该查阅FreeBSD的文档。
为了对齐,需要将高速缓存(或主内存)中的数据放在特定的边界上,以便有效地访问(即移动到CPU寄存器)。如果数据没有对齐,则需要额外的计算来对齐数据。
https://stackoverflow.com/questions/765650
复制相似问题