Show TOC

Background documentationMemory Management Basic Terminology Locate this document in the navigation structure

 

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 logical (virtual) addresses. Each process has its own virtual address space. (This also applies to SAP work processes, see Virtual Address Space of a Work Process.)

Virtual memory is fully independent of the physical main memory.

Address Space

On 32 bit platforms a virtual address can have values between 0 and 2^32-1, which restricts the sizes to 4GB. As areas of the virtual address space are reserved, this leaves about 2GB available on most platforms. This is not a problem for large SAP systems.

Memory Allocation

Allocating memory for a process consists of the following steps:

  1. Reservation of a segment in the physical memory.

  2. Linking the physical memory segment to the virtual address space 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. For more information see Platform-Specific Description of Memory Management.