本文将详细分析 Linux 是如何有效地管理物理内存的。...
分类:
系统相关 时间:
2014-12-30 11:53:56
阅读次数:
198
首先看具体算法,unsigned long page_idx, mask, order;struct page * base;struct page *buddy1, *buddy2;order = 4;mask (~0UL) << order;page_idx = page - base;budd...
分类:
其他好文 时间:
2014-11-10 19:27:54
阅读次数:
358
在Adempiere系统中会计和生产是它的核心部分,其中会计贯彻了整个ERP系统,构建起环环相扣、处处相连的商业管理模型。将系统的各个功能模组诸如:业务伙伴、系统银行账户、现金账户、物料产品价格、工程项目、进销...
分类:
其他好文 时间:
2014-08-07 23:27:35
阅读次数:
670
2014年7月29日 buddy分配算法
内核需要为分配一组连续的页框提供一种健壮、高效的分配策略。分配连续的页框必须解决内存管理中的外碎片(external fragmentation)。频繁的请求和释放不同大小的一组连续页框,必然导致分配页框的块分算来许多小块的空闲页框无法被一次性大量分配使用。
linux内核采用著名的伙伴系统算法来解决外碎片问题。该算法的核心思想是把所有的空闲页框分成1...
分类:
系统相关 时间:
2014-07-30 01:04:12
阅读次数:
378
Linux的伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为20(1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的块形成一个链表。我们通过一个简单的例子...
分类:
其他好文 时间:
2014-05-14 11:22:07
阅读次数:
247