270 likes | 280 Views
This unit discusses different strategies for memory management in operating systems, including allocation (contiguous and noncontiguous), placement, and replacement. It also covers the drawbacks of fixed-partition allocation and the characteristics of variable-partition allocation. Furthermore, it explores techniques for reducing external fragmentation, such as coalescing and compaction. The unit concludes with an overview of memory placement strategies, including first-fit, best-fit, and worst-fit, as well as the concept of memory swapping and its impact on multi-process systems.
E N D
Operating Systems Operating Systems Unit 6: Real Memory organization management
Memory Hierarchy COP 5994 - Operating Systems
Memory Management Strategies • Allocation • Single or multiple processes • Fixed or variable • Fetch • Demand or anticipatory • Decides which piece of data to load next • Placement • Decides where in main memory to place incoming data • Replacement • Decides which data to remove from main memory to make more space COP 5994 - Operating Systems
Memory Allocation • Contiguous allocation • single block of contiguous addresses • hard/impossible to find a large enough block • low overhead • Noncontiguous allocation • address space divided into segments • each segment can be placed in different location • easier to find “holes” in which a segment will fit • more processes can run simultaneously • offsets the overhead incurred by this technique COP 5994 - Operating Systems
Single Process: Contiguous Memory Allocation COP 5994 - Operating Systems
Single Process : Overlays COP 5994 - Operating Systems
Single Process: Memory Protection COP 5994 - Operating Systems
Multi Process: Fixed-Partition Allocation • Fixed-partition multiprogramming • Each active process receives a fixed-size block of memory • Processor rapidly switches between each process • Security becomes important COP 5994 - Operating Systems
Multi Process: Fixed-Partition Allocation COP 5994 - Operating Systems
Multi Process: Fixed-Partition Allocation with address translation COP 5994 - Operating Systems
Multi Process: Fixed-Partition Protection COP 5994 - Operating Systems
Multi Process: Fixed-Partition Drawbacks • Internal fragmentation • Process does not take up entire partition, wasting memory • Process can be too big to fit anywhere • Variable partitions designed as replacement COP 5994 - Operating Systems
Multi Process: Variable-Partition Allocation COP 5994 - Operating Systems
Variable-Partition Characteristics • processes placed where they fit • No space wasted initially • Internal fragmentation impossible • Partitions are exactly the size they need to be • External fragmentation occurs when process ends • Leaves holes too small for new processes • Eventually no holes large enough for new processes COP 5994 - Operating Systems
Variable-Partition: memory holes COP 5994 - Operating Systems
Reduce external fragmentation • Coalescing • Combine adjacent free blocks into one large block • Compaction • Rearranges memory into • one contiguous block of free space • one contiguous block of occupied space • Significant overhead COP 5994 - Operating Systems
Memory coalescing COP 5994 - Operating Systems
Memory compaction COP 5994 - Operating Systems
Memory Placement Strategies • Where to put incoming processes • First-fit strategy • Process placed in first hole of sufficient size found • Simple, low execution-time overhead • Best-fit strategy • Process placed in hole that leaves least unused space • More execution-time overhead • Worst-fit strategy • Process placed in hole that leaves most unused space • remaining large hole may be used by another process COP 5994 - Operating Systems
Memory Placement: first fit COP 5994 - Operating Systems
Memory Placement: best fit COP 5994 - Operating Systems
Memory Placement: worst fit COP 5994 - Operating Systems
Multi process with Memory Swapping • remove inactive processes from memory • only running process is in main memory • others temporarily moved to secondary storage • maximizes available memory • significant overhead when switching processes COP 5994 - Operating Systems
Multi process with Memory Swapping COP 5994 - Operating Systems
Multi process with Memory Swapping • Idea: keep several processes in memory • Less available memory per process • Much faster response times • Similar to paging COP 5994 - Operating Systems
Evolution of memory organization COP 5994 - Operating Systems
Agenda for next week: • Midterm exam ! • In 2 weeks: • Chapter 10 & 11: Virtual Memory • Read ahead ! COP 5994 - Operating Systems