Current computer architectures arrange the computer's memory in a hierarchical manner, starting from the fastest registers, CPU cache random access memory and disk storage. An operating system's memory manager coordinates the use of these various types of memory by tracking which one is available, which is to be allocated or deallocated and how to move data between them.
This activity usually referred to as virtual memory management, increases the amount of memory available for each process by making the disk storage seem like main memory.
Another important part of memory management is managing virtual addresses. If multiple processes are in memory at once, they must be prevented from interfering with each other's memory.