The course will cover the concepts, design and implementation of virtualization in its several forms, including processor and memory virtualization, storage and network virtualization, server virtualization (e.g. VMware ESX server), hosted (e.g. VMware Workstation/Fusion/Server), code (e.g. Java VM), and others. We will review important papers in the area, and also have hands-on experience with various virtualization implementations.
There are no hard prerequisites for this course, but both CS430 Computer Systems and CS433/533 Operating Systems are relevant and useful. Students are expected to understand basics of computer architecture such as processor, memory and I/O devices, and the concept of a programming language virtual machine.
Credit Hours:
3