CSE 451: Operating Systems�Spring 2026�Virtual Machines
Rohan Kadekodi
Slides by: Jonathan Trinh
Importance of Virtualization
2
Agenda
3
4/7/26
Motivation
4
Virtualization
A virtual X is an efficient, isolated duplicate of the real X
X = {processor, memory, disk, machine, network, datacenter}
Virtualization: no changes to code running in the virtual X Paravirtualization: (small) code changes ok
What is a Virtual Machine
6
4/7/26
VM Terminology
7
4/7/26
Standard Kernel Structure
8
4/7/26
Hardware
(Host) OS
App
App
App
Kernel Mode
User Mode
9
4/7/26
Hardware
Hypervisor
Type-1 Hypervisor
Type-2 Hypervisor
VM
Guest
OS
Guest
App
VM
Guest
OS
Guest
App
Hardware
Host OS
VM
Guest
OS
Guest
App
VM
Guest
OS
Guest
App
Hypervisor
Kernel Mode
User Mode
User Mode
Virtual Machine Advantages
Virtual Machine Challenges
change the page table or initiate I/O?
System-Level Virtual Machines
12
4/7/26
Hardware
Windows + Virtual Box
VM
Linux
Guest App
Virtualized System Calls
13
4/7/26
Scenario: Migration!
14
4/7/26
15
Memory Virtualization
16
4/7/26
Guest App
mov rax, addr
OS
PT pointer
Page Table
Memory
|
|
data |
|
|
|
|
|
|
Virtual Address
Physical
Address (HPA)
TLB
|
|
|
|
|
|
Virtual
addresses
Physical
addresses
Memory Virtualization
17
4/7/26
Guest App
mov rax, addr
Guest OS
Guest PT pointer
Guest Page Table
Memory
|
|
data |
|
|
|
|
|
|
Virtual Address
TLB
|
|
|
|
|
|
Virtual
addresses
Physical
addresses
Hypervisor
Hardware PT
Pointer
|
|
|
Guest
physical
Address (GPA)
Physical
Address (HPA)
Guest memory map (GPA -> HPA)
Memory Virtualization
18
4/7/26
Shadow Page Table
19
4/7/26
Guest App
mov rax, addr
Guest OS
Virtual PT
Pointer
Guest Page Table
Read Only |
|
|
|
Hypervisor
Hardware PT
Pointer
Shadow Page Table
|
|
|
|
|
|
Memory
|
|
data |
|
|
|
Guest
physical
Address (GPA)
Physical
Address (HPA)
Guest Virtual Address
Guest memory map (GPA -> HPA)
TLB
|
|
|
|
|
|
Virtual
Addresses (GVA)
Physical
Addresses (HPA)
Pros & Cons
20
4/7/26
Paravirtualization
21
4/7/26
Guest App
mov rax, addr
Guest OS
Virtual PT
|
|
|
Hypervisor
Hardware PT
Pointer
Guest PT
Hypervisor’s PT
|
|
|
|
|
|
Memory
|
|
data |
|
|
|
Physical
address
Hypercall
Guest VA
I/O Virtualization
22
4/7/26
VirtIO’s Virtual Queue
23
4/7/26
Tail
RAM
Head
I/O #1
Extra: Containers vs Virtual Machines
24
4/7/26
References
25