技能要求:
C
经验要求:
5-10年经验
工作描述:
项目编号:【166551】
您将为 x86-64 架构创建一个具有以下功能的分配器:
- 按大小类别隔离空闲列表,并在每个大小类别内使用优先适应策略。
- 在空闲时立即将大块与相邻的空闲块聚合。
- 支持高效聚合的边界标记,脚注优化允许
省略脚注。
- 分割区块时不会产生碎片。
- 分配的块与 “四内存行”(32 字节)边界对齐。
- 使用**后进先出(LIFO)**规则维护空闲列表。
- 使用 “序幕 ”和 “尾声 ”来避免堆末端的边缘情况。
- 采用 “荒野保护 ”启发式,避免堆的不必要增长。
您将实现自己版本的 **malloc**、**realloc**、**free**、
和 **memalign**函数。
您将使用现有的 Criterion 单元测试并编写自己的测试,以帮助调试您的实现。