内存管理
GreyBtfly王宝彤
业精于勤,荒于嬉;行成于思,毁于随
展开
-
内存分配算法——FF、BF、WF、buddy(伙伴算法)
分区分配算法: 首次适应算法(First Fit):从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高地址空间保留大的空闲区。 最佳适应算法(Best Fit)...原创 2018-11-30 12:32:21 · 9207 阅读 · 1 评论 -
动手写一个内存池
众所周知,Linux下系统调用非常耗费时间。为了降低小内存申请释放对性能的影响,我们可以考虑一次性申请一大块空间,然后慢慢分配。(调用malloc的时间应该跟申请内存的大小没什么大的关系)所以就有了内存池。要说一点,内存池如果允许不定大小内存的分配,那将是一个大工程和课题(参考一下Linux内存分配为什么那么复杂那么慢)反正博主除了模拟伙伴算法(buddy),也就是模拟操作系统的操作以...原创 2018-12-08 22:29:27 · 694 阅读 · 0 评论