Memory management

Memory management is a collection of techniques for providing sufficient memory to one or more processes in a computer system, especially when the system does not have enough memory to satisfy all processes' requirements simultaneously. Techniques include (swapping) and virtual memory. Memory management is typically performed in hardware by a memory management unit.