Understanding Linux Virtualization Using Kvm

Understanding Linux Virtualization using KVM is a 4-day course that leads the attendee through many of the topics in Linux virtualization.  The course starts with a brief overview of virtualization concepts, the differences between Type 1 and Type 2 hypervisors and the differences between true virtualization and para-virtualization both with and without hardware acceleration.  Additionally, we will discuss the differences in the approach of virtualization layers such as KVM, Xen and VMWare.  After this overview, we will discuss KVM’s implementation in the kernel as well as its configuration and optimization techniques.  Additional topics discussed include networking with KVM, VirtIO, QEMU-KVM, debugging tools and an overview of KVM’s CPU emulation, scheduling techniques, interrupt delivery and dispatch and other I/O-related topics with many of these concepts being illustrated via hands-on labs.

Upon completion of the course, attendees should have a thorough knowledge of many of the key Linux virtualization concepts and their usage on live systems.

The course is comprised of both lecture and hands-on lab exercises.  The labs are integral to the course and are designed to reinforce the concepts presented during lecture.


This course is targeted at the developer or manager who is interested in learning about virtualization in Linux with an eye towards deploying virtual machines using KVM.  While there are no particular pre-requisites with respect to virtualization techniques, the attendee is expected to be familiar with the Linux operating system and its use in a desktop, server or embedded environment.  Because of the nature of the discussions on the topics of scheduling and memory management in the virtual machine, it is highly recommended that either the Introduction to Embedded Linux or the Linux Fundamentals class be taken first. 

Course Materials

The course materials include a workbook that contains all of the slides presented during the lectures as well as hands-on lab exercises.

The on-site course is taught using Linux-based, multi-core laptops to demonstrate the concepts presented during the class.


Get more information on this course