【文件属性】:
文件名称:buddy_allocator:伙伴系统内存分配器
文件大小:384KB
文件格式:ZIP
更新时间:2021-07-09 19:49:38
C
buddy_allocator
buddy system memory allocator from Linux kernel
System Storage
两个大小相等且邻接的内存块被称作伙伴。
如果两个伙伴都是空闲的,会将其合并成一个更大的内存块,作为下一层次上某个内存块的伙伴。
page分为两类:
属于Buddy系统(PG_buddy,待分配)
page->order记录order(page所属的free_area也表示了其order),用于合并时的检测
不属于Buddy系统(已分配)
单页:page->order记录order
组合页:首个(PG_head)page记录order,其余(PG_tail)指向首页。order用于释放时的解组合
===============
Buddy Allocator
每次把一个大的内存块对半切分,一直切到需要的大小。
=============
【文件预览】:
buddy_allocator-master
----.gitignore(223B)
----Makefile(462B)
----buddy_alloc.png(72KB)
----dump_print.c(2KB)
----buddy.h(4KB)
----test.c(3KB)
----dump.png(70KB)
----buddy.c(6KB)
----buddy_system.png(79KB)
----README.md(2KB)
----buddy_free.png(174KB)
----list.h(2KB)
----buddy_system1.png(60KB)