Memory Management & Virtual Memory Operating Systems Memory Management & Virtual Memory 1) These notes are © Aiman Hanna. All copyrights reserved. For more information please e-mail to: Contact@AimanHanna.com. 2) These notes are also based on: Operating Systems, 3rd edition by Garry Nutts, published by Addison Wesley, ISBN-10: 0201773449 | ISBN-13: 9780201773446 . These notes still totally enforce all copyrights for Nutts/ Addison Wesley. For more information on these rights, please refer to the original publication of the book. 3) VERY IMPORTANT: These notes are neither complete nor sufficient to study for the course. They are merely given so that you can follow the covered subjects. You should NEVER depend solely on these notes for your study. Any use of these notes that results in violation of any of the copyrights indicated above is strictly prohibited. © Dr. Aiman Hanna Department of Computer Science Concordia University Montreal, Canada Data Communications & Computer Networking, by: Aiman Hanna
Managing Free Memory Blocks Best fit & Worst fit strategies Comparisons between the two, which one is possibly better?
Dynamic Address Space Binding Also referred to as dynamic address relocation CPUs need to include relocation registers If the process is divided/broken into segments, then multiple registers are needed (i.e. code/text register, stack register, data register)
Bound Checking How the memory manager can provide a service to the security manager Include a limit register in the CPU and validate all memory access requests against that limit
Virtual Memory What is it? Implementing virtual memory using segmentation Advantages of segmentation Potential problems and disadvantages of segmentation
Virtual Memory through Demand Paging What is paging? Advantages of paging Difference between pages and frames
Paging – Mapping between Virtual and Physical Addresses Utilization of page tables Virtual address translation of paging Page faults and their overhead Different strategies to reduce page faults What is a paging reference stream?
Static Paging Algorithms for Page Replacement Random Replacement Belady Optimal Replacement Least Recently Used (LRU) / Most Recently Used (MRU) Least Frequently Used (LFU) / Most Frequently Used (MFU)
Static Paging Algorithms for Page Replacement Stack Algorithms Why First In First Out (FIFO) is not a good replacement algorithm Belady’s anomaly problem
Attempts to Reduce Page Faults Increase number of frames allocated to the process Will this always achieve better performance (less page faults)? Why? Are there any disadvantages of such approach?
Dynamic Paging Algorithms The Working Set algorithm Advantages/Disadvantages Are there any disadvantages of such approach?
Severity of Page Faults Examples were given in class to show how sever page faults can be in terms of degrading system performance What is trashing What can be done to reduce page faults? Reserving some memory space to reduce the number of page faults Advantages and disadvantages of this solution
Where is this week coverage in the textbook? Chapter 11: Figure 11.16 (page 435) and its discussion Section 11.5 with the following exceptions: Skip: Using Cache Memory & Shared Memory Multiprocessors (page 446 to page 450)
Where is this week coverage in the textbook? Chapter 12: Section 12.1 to 12.6 with the following exceptions: Skip: Implementing LRU (page 480) Windows NT/2000/XP Virtual Memory (page 489 to 493) Linux Virtual Memory (page 493 to 495) Also Skip section 12.7 Important Notes: Some examples were given in class to show how severe page faults can be on performance. Different solutions & proposals to reduce the number of page faults were also discussed. You must refer to your class notes for these examples and the proposed solutions. Also notice that MRU & MFU were discusses in class.