Overview

In this assignment you will implement a basic malloc/free allocator. This lab needs to be completed in C using the provided skeleton framework. You must also make sure your code compiles and works under the programming environment we have specified for this course. The overall goal is to expose you to C programming at some of the very lowest levels and very near to the machine and to solidify your understanding of how memory allocators work.

Before you begin you should read or re-read Chapter 17 Free Space Management and keep this open as you complete this project. This project follows exactly their description of an allocator and will be crucial in your understanding of allocators as well as how to implement one!

Getting Started

Starter Code:

project4-allocator.zip

  1. Download the starter code.
  2. Unzip the project4-allocator.zip with the following command unzip -d PROJECT project4-allocator.zip. This will create a new directory called PROJECT. You can replace PROJECT with a directory name of your choice.
  3. cd into the PROJECT directory and investigate the project.

If you follow the above steps correctly, you should have the following folder structure after unzipping (assuming the project name is "PROJECT"):

PROJECT/
  include/
  lib/
  obj/
  src/
  test/
  Makefile
After you have the code extracted you should go ahead and investigate. You can run `make` from the *command line* and your project will *build* and produce *potential* error results. See more
information below.

Code Structure

This exercise contains the following important folders:

Compiling The Code