Memory allocators in modern Operating Systems

Author: Ariane van der Steldt

Memory in a modern computer has changed a lot in the past decade. NUMA memory layouts became more common and ASLR (Address Space Layout Randomization) was introduced. The rise of the 64 bit machines also creates new problems, were not all memory is available to each device in the machine.

In this talk, I will discuss the new allocators in OpenBSD, why they were required and what problems they solve. I will discuss their algorithms and their implementation. Furthermore I will discuss what problems arrive from software being programmed to specific behaviours and show why, despite 64-bit computing having been around since 1970, software is still not 64-bit clean.