
内存
文章平均质量分 75
Jay14
这个作者很懒,什么都没留下…
展开
-
Linux内核-内存-分区页框分配器
分区页框分配器处理对连续页框组的内存分配请求,主要组成如下图所示:管理区分配器接受动态内存分配与释放的请求,它首先从每CPU页框高速缓存中请求页框,若无法满足才从伙伴系统中请求分配。 源码分析(Linux2.6/mm/page_alloc.c) buffered_rmqueue()此函数从指定内存管理区中分配页框,对应上图中的分配机制。static struct page *buffered_rm原创 2017-02-03 15:45:31 · 900 阅读 · 0 评论 -
Linux内核-内存-伙伴系统算法
Linux采用伙伴系统算法来解决外碎片问题,把所有的空闲框分组为11个块链表,每个块链表分别包含大小为1,2,4……1024原创 2017-02-03 15:40:01 · 797 阅读 · 0 评论 -
Linux内核-内存-slab分配器
前面分析到Linux使用分区页框分配器满足对连续页框的请求,这适合对大块内存的请求,当处理对小内存的请求时,比如几十或几百个字节,很显然,如果此时为其分配一整个页框将会是一种浪费,所以需要引入一种新的数据结构来描述在同一页框中如何分配小内存区,Linux使用slab分配器来解决这个问题。 slab分配器把内存区看做对象,这些对象由一组数据结构和几个叫做构造或析构的函数组成。根据请原创 2017-02-17 23:43:26 · 631 阅读 · 0 评论