s********k 发帖数: 6180 | 1 【 以下文字转载自 Programming 讨论区 】
发信人: silverhawk (silverhawk), 信区: Programming
标 题: 怎样高效管理内存?
发信站: BBS 未名空间站 (Tue Apr 19 12:02:30 2011, 美东)
准备修改vendor提供的内存管理程序(embedded device,heap非常少大概1K-2K)。原
来的程序采用walk through整个heap的方法,遇到free的内存块就比较大小,如果足够
大,存入这块内存,如果不够大,查紧接着下一块内存是否free,如果free的话就
merge,不行的话跳过继续查找。同时内存allocation成功在某个block之后比较剩余的
内存是否过大,过大的话split这个block。因为程序可能会遇到比较多的较小的内存并
且大小不一致,这样的话allocation,free多的话内存hole太多。想问一下这样的情况
一般怎么解决比较好?谢谢 |
|