This document summarizes several projects that have formally verified operating system kernels:
- The UCLA project in the 1980s formally specified and verified parts of the Unix kernel using multiple specification layers and consistency proofs. It found errors and demonstrated the need for formal verification.
- The KIT project in the 1990s was the first to verify an OS kernel at the assembly level. It proved isolation between processes in a small kernel written for a simple machine.
- Other projects discussed include PSOS, VFiasco, EROS, and seL4, which take different approaches to formally verifying properties of OS kernels. The document surveys the methodology and contributions of these verification projects.