Before you start
Learn what to expect from this tutorial and how to get the most out of it.
This tutorial takes a basic approach to building a memory manager for any application. It explains why a memory manager is needed and provides a few ways in which you can write customized memory managers for an application, catering to its specific needs.
In this tutorial, you'll learn what considerations you need to take before designing a memory manager, the specific techniques available for creating such a memory manager, and, finally, the method for creating it. You'll also learn about the advantages and disadvantages of various types of memory manager designs.
This tutorial is written for Linux® or UNIX® programmers whose skills and
experience are at a beginning to intermediate level. You should have a general
familiarity with using a UNIX command-line shell and a working knowledge of the
C/C++ language. Any additional knowledge of internal workings of routines such
malloc, calloc, free, memcpy, and memset (that is, routines that deal with memory allocation, deallocation, and content modification) is a plus.
To run the examples in this tutorial, you need a Linux or UNIX box that has the g++ compiler toolchain installed on it. A sufficiently large amount of RAM (approximately 256 MB) is also required.

