Virtualization Techniques (IN2125) ()

Lecturer (assistant)
  • Josef Weidendorfer [L]
TermWintersemester 2018/19
Language of instructionEnglish
DatesSee TUMonline


- Classification of Virtual Machines - Operating System Virtualization - ISA Virtualization - Interpretation - Binary Translation - Dynamic Optimization - Process Virtual Machines - high-Level Language Virtual Machines - HW/SW-Codesign Virtual Machines - System Virtual Machines - Multiprocessor Virtualization - Applications

This lecture will be held in English.

Email Lecturer: Josef Weidendorfer

Time: Every Wednesday, 14:00 - 16:30 (15 min break in the middle) in FMI 00.13.009A.

First lecture: Wednesday, October 17, 2018. Last lecture: February 6, 2019.



There will be a written exam on Feb 20, 15:30 in Interims 2 (Interims Lecture Hall 2, 5620.01.102).

Duration: 75 minutes.

An example exam from WS10/11 can be found here (exam will be 75 minutes not 60 minutes as this one from WS10/11).

Repetition is planned at beginning of summer semester (written, or oral if too few registrations). If written: April 17, 2019, 13:30, Ludwig-Burmeister 1350 (5503.01.350).


During the semester, instead of the lecture, there will be 3 labs spanning the timeframe of one lecture each, with date announced in advance. Topics for the labs are getting insights into the working of a process VM, Java JVM, and a system VM.


DateTopicComments / Material
Oct 17Organization, IntroductionSlides Orga, Slides Intro, Recording
Oct 24(cancelled)
Oct 31Introduction (2),
ISA emulation
2pm s.t.
Slides ISAEmu, Homework 1, Recording
Nov 7

ISA emulation (2)

Homework 2 (Example Solution), Recording (only 2nd part)
Nov 14Lab course 1: Valgrind

2pm - 5pm (1st 30 min as preparation)
Task Sheet, Valgrind sources, Skeleton patch, IISWC tutorial / own talk

Nov 21 

ISA emulation (3),

Slides ProcessVMs, Recording
Nov 28ProcessVMs (2), HLL-VMs

Slides HLL-VMs, Recording

Dec 5

HLL-VMs (2)Recording (no further recordings available)
Dec 12Lab 2: JVM2pm - 5pm (1st 30 min as preparation)
Task sheetByteCode Assembler (Jasmin), ByteCode Verifier, HotspotVM Sources from OpenJDK7
Dec 19System-VMsSlides SystemVMs
Jan 9System-VMs (2) / Discussion Homework 2, Task 4
Jan 16MP-VirtualizationSlides MP Virtualization
Jan 23Lab 3: SystemVMTask sheet (Some answers), LGuest paper
Jan 30Exam FAQDiscussion of example questions, Summary Slides, Example Solution Homework 2, Tasks 4
Feb 6(cancelled)
Feb 20Exam (15:30 - 16:45)



Student Presentations

Should be 15-20 min. Topics can be motivation/techniques/benchmarks of existing VM implementations, for example (also propose your own!): related to Process-VMs: QEmu, Rosetta, related to OS-level virtualisation: Docker, Singularity. Related to HLL-VM: platform (bytecode) used in Python, .NET related to System-VMs: Xen, KVM

9.1. QEmu

16.1. OpenVZ