- Two general approaches to memory management can be used, depending (in part) on the available hardware
 
- The simplest strategy, called swapping, consists of bringing in each process in its entirety, running it for a while, then putting it back on the disk
 
- The other strategy, called virtual memory, allows programs to run even they are only partially in main memory
 
- The basic idea of swapping is to treat main memory as a preemptable resource
 
- A high-speed swapping device is used as the backing storage of the preempted processes
 
- Fragmentation refers to the unused memory that the memory management system cannot allocate
- Internal fragmentation; Waste of memory within a partition, caused by the difference between the size of a partition and the process loaded. Severe in static partitioning schemes (Multiprogramming with Fixed Partitions (MFT)).
 
- External fragmentation; Waste of memory between partitions, caused by scattered noncontiguous free space. Severe in dynamic partitioning schemes (Multiprogramming with Variable Partitions (MVT), swapping).
 
 
- Compaction (aka relocation) is a technique that is used to overcome external fragmentation
 
- The responsibilities of a swapper include:
- Selection of processes to swap out criteria: suspended/blocked state, low priority, time spent in memory
 
- Selection of processes to swap in criteria: time spent on swapping device, priority
 
- Allocation and management of swap space on a swapping device. Swap space can be: 
- system wide
 
- dedicated (e.g., swap partition or disk)
 
 
 
Subsections
2004-05-25