Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Cpu Virtualization

Stephen M. Reaves

::

2024-01-29

Notes about Lecture 3c for CS-6210

Summary

CPU Virtualization

Hypervisor has to give illusion of ownership of cpu for each VM

The hypervisor schedules execution of VMs, just like guest schedules execution of its processes

Delivering Events to Parent Guest OS

Interrupts from currently executing process (owned by guest OS) need to get back to that guest

Program discontinuities (PD) need to be passed up from hypervisor to guest OS in full and para virtualization:

Some PDs needs elevated privileges, but guest OS has normal user-level privileges (especially in fully virtualized)

Device Virtualization

Control Transfer

Data Transfer

Xen provides async IO rings

Control and Data Transfer in Action

Network virtualization

2 IO Rings

If you want to transmit data, you place file descriptors on transmit IO ring

Data pointed to by file descriptors are NOT copied into Xen, instead they’re guest OS buffers

Receiving data works the same way

Disk IO Virtualization

No copying into Xen

Requests from competing domains may be reordered

Xen and Guests

Xen and Guest layout

Different between full vs para is a focus on protection and flexibility