Semester 1, 2008-09, August - December 2008
Please refer to IVLE for the course webpage and lecture slides.
Course Description:
Virtual machines (VMs) have lately generated a lot of interest, both
in the academia as well as in the industry. VMs are being seen as a convenient
vehicle for managing heterogeneous resources (e.g. server consolidation), and
also for solving problems related to running mobile code and security.
Commercial VMs from VMware and Microsoft are being successfully used in
commodity platforms. High-level language VMs such as the Java Virtual Machine
and Microsoft’s .NET framework have also become highly popular.
The aim of this module is to give an overview of the state-of-the-art in
virtualization technology. The topics to be covered will include techniques for
designing and implementing modern VMs, hardware-level, operating system-level
and language-level VMs, CPU virtualization concepts and problems,
paravirtualization and binary translation techniques, techniques for memory and
input/output virtualization, and applications of VMs in solving problems related
to security and software distribution. This will be a half lecture-style and the
other half seminar-style course and will be suitable for senior undergraduate
and graduate students interested in computer architecture, compilers and
operating systems.
Lecturer:
Samarjit Chakraborty (E-mail: samarjit AT comp.nus.edu.sg, Phone: 6516 7997,
Office: COM1-03-31)
Prerequisites:
Some background in Operating Systems and Computer Architecture will be helpful
in appreciating this course. The official pre-requisites for NUS undergraduates
are CS2106 and CS3220.
Schedule:
Classes will be held every Monday from 14:00 - 16:00 at COM1/02-04.
Assessment:
There will be no mid-term or final examinations for this module (i.e. 100% CA).
The assessment will consist of the following: