上次讲的buddy system算法虽然效率很高,但是要从buddy system中分配出一个内存页块来,还是要做不少工作的,有时想想都会觉得很累。在系统运行过程中,Kernel经常会有单个页面的申请和释放操作。为了进一步提高性能,也为了让生活变得轻松一点,Kernel采用了这样一种cache机制:Memory zone为每个CPU定义了page frame cache。Kernel会在适当的时机
上次我们讲到page frame是物理内存的基本组成单位。那Kernel就必须要有一套机制来管理空闲的page frames。这一点不难理解。每个县长必须要把本县可用的劳动力登记在册,这样哪天皇帝要征兵了,你才不至于手忙脚乱。这个问题看似简单,实则不然。因为这里面有一个外碎片的问题。在物理内存中,连续的物理内存页有时是很重要的。例如在DMA操作中,由于大部分DMA处理器都没有分页机制,它们会直接访
上次介绍了物理内存管理中三位主要人物中的node 和zone。这两位是当官的,一个是县长,一个是里长,不敢不先介绍啊。接下来出场的就是我们的老百姓了 --- page frame。Page frame是物理内存的基本组成单位,在Kernel中由结构体 struct page 来描述。struct page { unsig
有人的地方就有江湖。要介绍内存管理这个江湖,首先还得从这里面的主要人物讲起。在NUMA结构中,物理内存首先被分成若干nodes。每一个node进一步被分成若干zones。每一个zone又关联了一个描述page frames的数组,该数组包含了属于该zone的所有page frame的描述符。不难看出,在这个江湖里主要有三位重要人物:nodes, zones 和 page frames。这三者的关系
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号