This is an advanced systems course which introduces the internals of modern virtualization software and hardware, from full system emulators, binary translators, and high-level language virtual machines to hypervisors, lightweight virtualization mechanisms such as containers, and hardware virtualization extensions. Students will learn the key abstractions and mechanisms that underly resource virtualization by building significant components of real-world systems.
[(CS 450 with min. grade of C) OR (CS 551 with min. grade of C)]