Memory management

The memory management is that part of an operating system, which allows an efficient and convenient access to the physical memory of a computer. Depending on the use of the computer different techniques are used for memory management.

Direct memory management

In many embedded systems, only one process, so only one program is running at the same time. This process then has exclusive access to the physical memory and can address this directly. A storage management is very simple in these computers and is to make the requested address accessible to the data bus.

Segmentation

In systems with low memory, but several active processes, the technique of segmentation can be applied. Here, the memory is divided into fixed segments. All processes have knowledge of this firm arrangement. The memory management can now all segments, such as the program segment, when a process is currently not reckoning to outsource on slower memory (eg hard disk ) and store as needed.

This type of memory management was widespread in the early days of the development of computers. The operating system MS-DOS used initially only the segmentation. In present-day processors in general, the segmentation is combined with the page address, and is referred to as paging.

Virtual memory management

The two variants described have the limitation that the active processes themselves should never use more memory than is physically available. To solve this problem caused by ever more complex programs, the principle of virtual memory management has been developed. It processes only use virtual addresses. The translation of the virtual address to a physical address using the memory management unit does.

The virtual memory management is now implemented in almost every modern operating system.

741151
de