Link Search Menu Expand Document

Virtual Machines, Spring 2022

Into the Depths of Virtualization and Virtual Machines



This is the webpage for CS 562: Virtual Machines IIT. This course is for graduates and advanced undergraduates in Computer Science.

Course Communication

We’ll be using Discord for course communication (see Blackboard for link).


The following book is the only required textbook for this course. If you plan on pursuing computer systems seriously, it is a great book to have as a reference:

Virtual Machines: Versatile Platforms for Systems and Processes (1st Edition), by Jim Smith and Ravi Nair, 2005 Morgan Kaufmann.

If you are looking for books to help you in this area, and for good reference texts to have on your shelf, please consider the following:

  • Anderson & Dahlin. Operating Systems: Principles and Practice, 2nd edition, 2014.
  • Remzi & Andrea Arpaci-Dusseau. Operating Systems: Three Easy Pieces, available online here.
  • Bovet & Cesati. Understanding the Linux Kernel, 3rd edition, 2005.


Most of your time in this class will be spent working on projects. You’ll learn more about them as we go.

Development Environment

For all projects I will provide you with a Vagrant configuration which you can use to spawn a virtual machine to do your work on. To use Vagrant, you’ll need a VMM installed on your machine. VirtualBox and libvirt (built on QEMU/kvm) are two free options. VMware Workstation or Fusion for Mac will work as well. If you’re on a Windows box, HyperV is another option. See here for getting started with Vagrant VMs.