Virtual Memory
Photo by Jessica Ruscello on Unsplash
We are now able to manage memory in such a way as to support mutiprogramming---but our current techniques, static and dynamic relocation, have many limitations. Let's develop a new technique that meets all of our criteria!
Learning Objectives
We'll begin 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:
- Describe the paging techniques used by today's virtual memory systems
- Explain how virtual addresses are translated into physical and the data structures that support the translation
- Analyze how paging techniques meet our goals for our memory subsystem
Learning
- Video: Introduction to Virtual Memory (29 minutes)
- Video: Fundamentals (16 minutes)
- Video: Address Translation (7 minutes)
- Video: Advantages of Paging (12 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.
Recommended Readings
Completing the readings in this class is highly recommended---it can be very helpful to see how the concepts are explained by a different person, and the extra details can help the pieces fit together.
OSTEP: Paging: An Introduction
Fun Insights
- Julia Evan's (@b0rk) comic on virtual memory
- @b0rk's comic on page tables
From 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. |
| 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. |