operating-systems

Definition

Memory Management

Memory management is the OS process of coordinating and handling memory, including allocating main memory (RAM) to processes and moving data between RAM and secondary storage.

Requirements

Partitioning

Dividing memory to accommodate multiple processes.

Relocation

Allowing code and data to be positioned flexibly in memory, as processes may move due to swapping or compaction.

Protection

Preventing processes from accessing or modifying other processes’ memory without permission. See Memory Protection.

Sharing

Allowing multiple processes to access the same physical frames:

  • Shared Libraries: Mapping library code into multiple virtual address spaces
  • Inter-process Communication: Communicating via shared memory

Performance

Minimising the overhead of address translation and management operations.

Evolution

Technique Progression

Memory management evolved from simple to advanced:

  1. Dynamic Partitioning
  2. Segmentation
  3. Paging
  4. Virtual Memory