Virtualization

Please find the VC course under this link.

The course discusses virtualization as a concept on all layers of a computer system from hardware to software:

Process virtual machines

  1. Emulation: Interpretation and Binary Translation
  2. Process Virtual Machines and Containers
  3. Dynamic Binary Optimization
  4. High-Level Language Virtual Machine Architecture
  5. High-Level Language Virtual Machine Implementation
     

System virtual machines (+ guest lectures in Dec./Jan.)

  1. Co-designed Virtual Machines
  2. System Virtual Machines
  3. Multiprocessor Virtualization
  4. Non-functional properties: performance, security, energy
  5. Emerging Applications

We will use the textbook "Virtual Machines" by Smith/Nair as basis for this course.

The coursework includes four practical exercises on the following topics:

  • CPU emulation
  • Operating system containers
  • Byte code VMs + JIT translation
  • System VM analysis