More Virtual Memory Policies
Photo by
Tom Swinnen
from
Pexels
We've learned the mechanisms of virtual memory, including address translation, the TLB, multi-level page tables, and swap. We've also begun discussion policies, including demand paging and a few page replacement algorithms. Let's continue our exploration of those policies!
Learning Objectives
We'll wrap up our learning about modern virtual memory systems and how they provide the illusion of infinite memory.
Upon completion of this module, you will be able to:
- Explain the purpose of the working set model and how it can work in conjunction with page replacement algorithms.
- Demonstrate how the components of a virtual memory system work together given a set of processes and page accesses.
- Assess the advantages and disadvantages of paging.
- Describe how the components of a virtual memory system relate to each other.
- Evaluate how changes to one part of a virtual memory system affect the other pieces.
- Analyze how the virtual memory system behaves from the time a process(es) arrives to the time it ex.ts
- Given a hypothetical situation, consider how a virtual memory system should be defined.
Learning
- Video: Page Replacement Algorithms: Clock (15 minutes)
- Video: Page Replacement Algorithms: Enhanced Clock (8 minutes)
- Video: Page Replacement Algorithms: Local vs. Global (9 minutes)
- Video: Working Set (18 minutes)
- Video: Load Control (4 minutes)
- Video: Page Sizes (6 minutes)
-
Slides that were presented in the videos
Note that these videos have embedded formative assessments---you'll want to watch the videos and complete those before class, so that you can earn participation credit.
Fun Insights
- The Life of a Computer Program, Part 1: Fetching the Recipe
- The Life of a Computer Program, Part 2: Virtual Memory
- The Life of a Computer Program, Part 3: Program Segments
- The Life of a Computer Program, Part 4: How Computers Store Programs
From Class
Any in-class resources will be posted here after class.
Evaluating Your Understanding
We are providing these rubrics for each module so that you can better understand what is expected and evaluate your understanding against those expectations. The hope is that, if you find yourself earning a 3 or below, you will continue to enhance your understanding until you find yourself earning a 4 or a 5.
| 5 | 4 | 3 | 2 | |
|---|---|---|---|---|
| VM Implementation and Behavior | Student accurately constructs and uses the mechanisms of address translation, accurately assesses the effects of VM on a process's performance and memory accesses, and accurately employs related performance improvement mechanisms. | Student accurately constructs and uess the mechanisms of address translation, satisfactorily assesses the effects of VM on a process's performance and memory accesses, and satisfactorily employs related performance improvement mechanisms. | Student satisfactorily constructs and uses the mechanisms of address translation, unsatisfactorily assesses the effects of VM on a process's performance and memory accesses, and unsatisfactorily employs related performance improvement mechanisms. | Student does not submit the work OR student unsatisfactorily constructs and uses the mechanisms of address translation, unsatisfactorily assesses the effects of VM on a process's performance and memory accesses, and unsatisfactorily employs related performance improvement mechanisms. |
| VM Policies | Student accurately explains the purpose and use of swap, including of page replacement policies and the working set algorithm, and accurately demonstrates their use on example problems; student accurately analyzes the effects of page sizes. | Student accurately explains the purpose and use of swap, including of page replacement policies and the working set algorithm, and satisfactorily demonstrates their use on example problems; student satisfactorily analyzes the effects of page sizes. | Student satisfactorily explains the purpose and use of swap, including of page replacement policies and the working set algorithm, and unsatisfactorily demonstrates their use on example problems; student unsatisfactorily analyzes the effects of page sizes. | Student does not submit the work OR student unsatisfactorily explains the purpose and use of swap, including of page replacement policies and the working set algorithm, and unsatisfactorily demonstrates their use on example problems; student unsatisfactorily analyzes the effects of page sizes. |
| VM Project | Student submitted project that 1) when executed, passes all tests cases, 2) when visually inspected, does not reveal any race conditions or concurrency errors, 3) includes a design document that accurately describes the code and answers the given questions, and 4) follows all given formatting guidelines | Student submitted project that 1) when executed, passes most tests cases, 2) when visually inspected, does reveals one or no race conditions or concurrency errors, 3) includes a design document that satisfactorily describes the code and answers the given questions, and 4) follows most given formatting guidelines | Student submitted project that 1) when executed, passes some tests cases, 2) when visually inspected, does reveals a few race conditions or concurrency errors, 3) includes a design document that unsatisfactorily describes the code and answers the given questions, and 4) follows few given formatting guidelines | Student fails to submit the project or submitted project that 1) when executed, passes no or few tests cases or doesn’t execute, 2) when visually inspected, does reveals many race conditions or concurrency errors, 3) includes a design document that incorrectly describes the code and answers the given questions, and 4) follows few given formatting guidelines |
| Short Answer Questions: VM-Specific | Student submitted answers to given questions that accurately and succinctly answer the questions. | Student submitted answers to given questions that satisfactorily and succinctly answer the questions. | Student submitted answers to given questions that unsatisfactorily answer the questions. | Student does not submit the answers OR submitted answers to given questions that incorrectly answer the questions. |
| Short Answer Questions: VM as part of the larger system | Student submitted answers to given questions that accurately and succinctly answer the questions. | Student submitted answers to given questions that satisfactorily and succinctly answer the questions. | Student submitted answers to given questions that unsatisfactorily answer the questions. | Student does not submit the answers OR submitted answers to given questions that incorrectly answer the questions. |