The foundation for virtualization! My notes on Popek and Goldberg's virtualization requirements

home

Formal Requirements for Virtualizable Third Generation Architectures


10/29/2023

Intro

I want to learn a bit about virtualization, so I decided to start at the beginning and read "Formal Requirements for Virtualizable Third Generation Architecture" by Popek and Goldberg. This paper is responsible for the famous Popek-Golberg virtualization requirements, which describe conditions for a hardware architecture to support virtualization.

The trap and emulate style virtual machines describe by this paper weren't possible to implement on architectures like x86. The x86 ISA contained sensitive instructions which didn't trap, or which performed differently in user mode vs. kernel mode. Thus, virtual machine adoption didn't take off until the early 2000s. Around this time, VMware introduced their first commercial VMM product, which relied on dynamic binary translation.

My notes on this paper

1. Virtual Machine Concepts 2. A Model of Third Generation Machines 3. Instruction Behavior 4. The Virtual Machine Monitor 5. The Virtual Machine Properties