Main content

CS 530 — Virtual Machines
(dt. Virtuelle Maschinen)

Level, degree of commitment Specialization module, depends on importing study program
Forms of teaching and learning,
workload
Lecture (2 SWS), recitation class (2 SWS),
180 hours (60 h attendance, 120 h private study)
Credit points,
formal requirements
6 CP
Course requirement(s): Successful completion of at least 50 percent of the points from the weekly exercises as well as at least 2 presentations of the tasks.
Examination type: Oral examination (individual examination) or written examination
Language,
Grading
English,
The grading is done with 0 to 15 points according to the examination regulations for the degree program M.Sc. Computer Science.
Origin M.Sc. Computer Science
Duration,
frequency
One semester,
each winter semester
Person in charge of the module's outline Prof. Dr. Christoph Bockisch

Contents

It is an ongoing trend to develop process-based virtual machines for modern programming languages that reduce complexity for the programmer by providing managed resources. This also enables dynamic optimizations or program analyses, for example. System-based virtual machines are a related concept. These provide a virtual environment that corresponds to an entire computer system, including hardware and operating system. Several virtual machines can share a physical machine, whereby virtual resources such as memory are separated from each other.


Qualification Goals

Students will be able to

  • describe and explain the basic concepts of process and system-based virtual machines,
  • describe the structure of virtual machines,
  • develop components of process-based VMs (such as scheduler, garbage collection, just-in-time compiler),
  • explain the methods of system-based VMs (hypervisor, hardware emulation, hardware virtualization, paravirtualization),
  • explain optimizations in virtual machines
  • present examples of modern research work in the field of VM technology,
  • compare implementation approaches for programming language concepts (code transformation vs. VM support).

Prerequisites

None. The competences taught in the following modules are recommended: Object-oriented Programming, either Algorithms and Data Structures or Practical Informatics II: Data Structures and Algorithms for Pre-Service-Teachers, System Software and Computer Communication, Software Engineering, either Software Lab or Software Lab for Business Informatics.


Applicability

The module can be attended at FB12 in study program(s)

  • B.Sc. Computer Science
  • M.Sc. Data Science
  • M.Sc. Computer Science
  • M.Sc. Mathematics
  • M.Sc. Business Informatics
  • M.Sc. Business Mathematics

When studying M.Sc. Computer Science, this module can be attended in the study area Compulsory Elective Modules in Computer Science.

The module can also be used in other study programs (export module).

The module is assigned to Practical Computer Science. Further information on eligibility can be found in the description of the study area.


Recommended Reading

  • Will be announced in the module announcement.



Please note:

This page describes a module according to the latest valid module guide in Winter semester 2023/24. Most rules valid for a module are not covered by the examination regulations and can therefore be updated on a semesterly basis. The following versions are available in the online module guide:

The module guide contains all modules, independent of the current event offer. Please compare the current course catalogue in Marvin.

The information in this online module guide was created automatically. Legally binding is only the information in the examination regulations (Prüfungsordnung). If you notice any discrepancies or errors, we would be grateful for any advice.