看了一下glibc 的malloc,发现它的算法和windows的heap管理差不多,都是有个固定大小的用来快速分配的列表,然后就是排序的freelist,太大的块就直接mmap了.不过在多线程的管理上和windows的heap有很大的不同, 有空的话,再细写一下.
此外,还发现glibc提供了一套obstack的内存管理机制.挺有用的.不知道有没有人有兴趣知道.
看了一下glibc 的malloc,发现它的算法和windows的heap管理差不多,都是有个固定大小的用来快速分配的列表,然后就是排序的freelist,太大的块就直接mmap了.不过在多线程的管理上和windows的heap有很大的不同, 有空的话,再细写一下.
此外,还发现glibc提供了一套obstack的内存管理机制.挺有用的.不知道有没有人有兴趣知道.