- return to Course Topics
14 - Introduction to Memory Management
- allow multiple users simultaneously?
- space allotted each user? fixed partitions?
- where to place new programs?
- how many programs in memory?
- how to displace existing programs?
- rationale for
- cache --- why small? why fast?
storage management strategies
- fetch strategies
- placement strategies
- replacement strategies
real storage schemes
- single user, contiguous storage systems
- boundary registers
- fixed partition multiprogramming - multiuser, contiguous storage systems
- absolute vs. relocateable translation
- protection, boundary registers
- variable partition multiprogramming - multiuser, contiguous storage systems
- placement problem, free storage list, first fit, worst fit, best fit, next fit
- fragmentation - coalescence vs. compaction
multiprogramming with swapping
- How does fragmentation occur in each of the real storage schemes.
- How would a free storage list be maintained and managed?
- Why is compaction more difficult than coalescing?
- What are the consequences of repartitioning a fixed partition system?
- In a fixed partition system, what happens when
- job is much shorter than any partition
- job is larger than any partition
- a partition is too small for any of the current jobs
- Consider address binding.
- Give examples of address binding at compile time, at load time, at run time.
- What are the implications for address binding of using each of the real storage schemes?
||cache and main storage