CS 332 s20 — Software Protection and Virtual Machines
Table of Contents
1 Video Lecture
Please watch the video lecture: It contains sections on
- Software Protection and Virtual Machines (0:01)
- Announcements (0:24)
- Why Handle Memory Protection in Software? (1:11)
- Software Protection via a Single-Language System (5:33)
- Most Systems Use Both Software and Hardware Protection (9:57)
- Language-Independent Software Fault Isolation (13:05)
- The Java Virtual Machine: Sandbox via Intermediate Code (16:34)
- Virtualize Everything: the Virtual Machine (19:43)
- Process VM vs System VM (21:52)
- System VM Types (24:19)
- Example Use Cases of Virtual Machines (25:46)
- Benefits of Virtual Machines (27:26)
- Making a Virtual CPU (VCPU): Trap-and-Emulate (31:04)
- Making a Virtual CPU: Binary Translation (33:34)
- Modern CPUs Provide Extensive VM Support (36:02)
- Paravirtualization: Guest and VMM Meet in the Middle (38:22)
- Virtual Machine Page Tables (41:57)
- Virtual Machine Page Tables (43:28)
- Reading: Xen and the art of virtualization (45:24)
The Panopto viewer has table of contents entries for each slide (https://carleton.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=0a564ad6-056b-4a84-9719-abcd0154914d). You can access the lecture slides here.
2 Reading: Xen and the Art of Virtualization
If you want to learn more about virtualization, read this foundational paper: Barham, Paul, et al. "Xen and the art of virtualization." ACM SIGOPS operating systems review 37.5 (2003): 164-177.
3 Homework
- Lab 4 peer review is due 9pm tonight, June 1.
- The week 8 quiz is due 9pm Wednesday, June 3.
- Make a lab 4 check-in forum post by 9pm Wednesday, June 3