1 / 33

Operating Systems

Operating Systems. Operating Systems. Session 6: Real Memory organization management. Introduction. Memory divided into tiers Main memory Relatively expensive Relatively small capacity High-performance Secondary storage Cheap Large capacity Slow

astro
Download Presentation

Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating Systems Operating Systems Session 6: Real Memory organization management

  2. Introduction • Memory divided into tiers • Main memory • Relatively expensive • Relatively small capacity • High-performance • Secondary storage • Cheap • Large capacity • Slow • Main memory requires careful management COP 5614 - Operating Systems

  3. Memory Organization • Memory can be organized in different ways • One process uses entire memory space • Each process gets its own partition in memory • Dynamically or statically allocated • Trend: Application memory requirements tend to increase over time to fill main memory capacities COP 5614 - Operating Systems

  4. Memory Management • Strategies for obtaining optimal memory performance • Performed by memory manager • Which process will stay in memory? • How much memory will each process have access to? • Where in memory will each process go? COP 5614 - Operating Systems

  5. Memory Hierarchy • Main memory • Should store currently needed program instructions and data only • Secondary storage • Stores data and programs that are not actively needed • Cache memory • Extremely high speed • Usually located on processor itself • Most-commonly-used data copied to cache for faster access • Small amount of cache still effective for boosting performance • Due to temporal locality COP 5614 - Operating Systems

  6. Memory Hierarchy COP 5614 - Operating Systems

  7. 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 5614 - Operating Systems

  8. Contiguous vs. Noncontiguous Memory Allocation • Ways of organizing programs in memory • Contiguous allocation • Program must exist as a single block of contiguous addresses • Sometimes it is impossible to find a large enough block • Low overhead • Noncontiguous allocation • Program divided into chunks called segments • Each segment can be placed in different part of memory • Easier to find “holes” in which a segment will fit • Increased number of processes that can exist simultaneously in memory offsets the overhead incurred by this technique COP 5614 - Operating Systems

  9. Single Process: Contiguous Memory Allocation COP 5614 - Operating Systems

  10. Single Process : Overlays COP 5614 - Operating Systems

  11. Protection in a Single Process Environment • Operating system must not be damaged by programs • System cannot function if operating system overwritten • Boundary register • Contains address where program’s memory space begins • Any memory accesses outside boundary are denied • Can only be set by privileged commands • Applications can access OS memory to execute OS procedures using system calls, which places the system in executive mode COP 5614 - Operating Systems

  12. Single Process: Memory Protection COP 5614 - Operating Systems

  13. 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 5614 - Operating Systems

  14. Multi Process: Fixed-Partition Allocation COP 5614 - Operating Systems

  15. Multi Process: Fixed-Partition Allocation with address translation COP 5614 - Operating Systems

  16. Internal Fragmentation Internal fragmentation in a fixed-partition multiprogramming system. COP 5614 - Operating Systems

  17. Multi Process: Fixed-Partition Protection COP 5614 - Operating Systems

  18. 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 5614 - Operating Systems

  19. Multi Process: Variable-Partition Allocation COP 5614 - Operating Systems

  20. 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 5614 - Operating Systems

  21. Variable-Partition: memory holes COP 5614 - Operating Systems

  22. 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 5614 - Operating Systems

  23. Memory coalescing COP 5614 - Operating Systems

  24. Memory compaction COP 5614 - Operating Systems

  25. 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 5614 - Operating Systems

  26. Memory Placement: first fit COP 5614 - Operating Systems

  27. Memory Placement: best fit COP 5614 - Operating Systems

  28. Memory Placement: worst fit COP 5614 - Operating Systems

  29. 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 5614 - Operating Systems

  30. Multi process with Memory Swapping COP 5614 - Operating Systems

  31. Multi process with Memory Swapping • Idea: keep several processes in memory • Less available memory per process • Much faster response times • Similar to paging COP 5614 - Operating Systems

  32. Evolution of memory organization COP 5614 - Operating Systems

  33. Agenda for next week: • Chapter 10 Virtual Memory Organization COP 5614 - Operating Systems

More Related