基于嵌入式设备的内存分配器实现,使用C/C++语言进行设计。
2022-12-06 18:02:31 3KB C/C++ 内存管理
1
内存分配器 dlmalloc2.8.3 源码浅析
2021-11-14 00:18:38 539KB 内存分配器 dlmalloc 2.8.3 源码浅析
1
一个简单的malloc
2021-11-12 19:54:13 9KB malloc
1
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 每次把一个大的内存块对半切分,一直切到需要的大小。 =============
2021-07-10 12:03:39 384KB C
1
内存分配器dlmalloc 2.8.3源码浅析.doc
2021-03-01 18:02:23 373KB 内存分配器
1
网格:用于C / C ++的压缩内存管理 Mesh是替代品,它可以透明地从内存碎片中恢复,而无需更改应用程序代码。 在PLDI 2019上发表的中详细描述了网格。 或观看《怪圈》中Bobby Powers的演讲: Mesh在Linux和macOS上运行。 Windows正在开发中。 Mesh使用作为构建系统,但将其包装在Makefile中,除了libc之外没有其他运行时依赖项: $ git clone https://github.com/plasma-umass/mesh $ cd mesh $ make; sudo make install # example: run git with mesh as its allocator: $ LD_PRELOAD=libmesh.so git status 如果您有任何疑问,请打开一个问题! 但是会融合吗? 如果运行与网格(或带
2021-02-23 14:03:21 2.97MB memory allocator memory-allocator memory-management
1
内存分配器dlmalloc
2021-02-01 19:32:37 584KB 内存分配器 dlmalloc
1