摘要:
其实题目有些哗众取宠,主要想表达的是对chunk_alloc函数中两个地方存在疑问,想问问诸位怎么理解这两处的。下面先给出chunk_alloc代码实现,同时大概说明一下函数的功能以及每一处代码的作用。SGI的内存配置器分成两层:第一层直接调用malloc,第二层是自己做了一个内存池来分配。下面说下第二层配置器的思路:第二层配置器首先设置了一个free_list[16]的数组,数组中是指针,分别指向一块内存,指针类型定义如下:union obj { union obj *free_list_link; char client_data[1];};总之,free_list每个下标链接的内... 阅读全文