Memory Management Basic Terminology

Use

The meaning of all the terms used in memory management is explained below. SAP-specific terms and features are based on this terminology.

Virtual Memory

All operating systems (supported by SAP) support virtual memory technology. A process allocates virtual memory using virtual addresses. Each process has its own virtual address space.

Virtual memory is independent of the physical main memory.

Address Space

On 64 bit platforms a virtual address can have values between 0 and 2^32-1.

Memory Allocation

Allocating memory for a process consists of the following steps:

  1. Reservation of a segment in the virtual memory.

  2. Linking the virtual memory segment to the physical memory segment of the process, which means reserving a segment of the same size in the virtual address space and mapping the virtual addresses to physical addresses.

Local Process Memory

The operating system differentiates between local process memory and shared memory. For local process memory the operating system keeps the two allocation steps transparent. Using an API virtual memory only is requested; the operating system does the other tasks, such as reserving physical memory, loading and unloading virtual memory into and out of the main memory.

Shared Memory

If several processs are to access the same memory area, the two allocation steps are not transparent.

One object is created that represents the physical memory and can be used by various processes. The processes can map the object fully or partially into the address space. The way this is done varies from platform to platform. Memory mapped files, unnamed mapped files, and shared memory are used.