What is Memory Management?
refers to the mechanisms implemented by an operating system to provide memory-related services to applications. These services include
(use of ahard disk or other non-RAM storage media to provide additional program memory),
(exclusive access to a region of memory by a process), and
(cooperativeaccess to a region of memory by multiple processes). Linux¶s memory management services are built on a programming foundation that includes a peripheral device called a
Memory Management Unit (MMU)
. An MMU translates physical memory addresses to
used by the operating system, and requests a
interrupt when the CPU tries to accessmemory that it is not entitled to.
Why do we need it?
Compensation for limited address space
High cost of main memory, lower cost and greater abundance of secondary storage
Static storage evaluation became too difficult...
What does it do?
Allows processes that may not be entirely in memory to execute by means of automatic storageallocation.
Programs logical memory is seperated from physical memory.
Data is swapped between main memory and secondary storage according to some replacementalgorithm (Paging and Segmentation)