This paper introduces the Linux 2.4 kernel’s memory management hardware API, from an embedded developer’s perspective. It briefly discusses the fundamental concepts of memory management, and how Linux uses the host environment’s memory management hardware to implement memory services like virtual, shared and protected memory.

This article then focuses on the programming interface Linux uses to interact with the host processor’s Memory Management Unit (MMU).