SYSTEM VIRTUALIZATION

DS 255 (JAN) 3:1 System Virtualization

Course Introduction: With the advent of Cloud computing virtualized systems have taken over the data centers as the default provisioning mechanism. It is but natural that knowing and understanding the virtualized system environment will greatly benefit and enhance the cloud ecosystem. This course aims to expose the students to the current architectures and mechanisms used for virtualizing systems. As a consequence it prepares one to have deeper insight into these systems and thus enable to use such setups better. Further it can lead one to innovate so as to take one closer to the Cloud goals of better  resource utilization and safer environments.

What you will get to know in this course:

Virtualization as a construct for resource sharing;

Re-emergence of virtualization and it’s importance for Cloud computing;

System abstraction layers and modes of virtualization;

Mechanisms for system virtualization – binary translation, emulation, paravirtualization and hardware virtualization;

Virtualization using HAL layer – Exposing physical hardware through HAL (example of x86 architecture) from an OS perspective;

System bootup process; Virtual Machine Monitor; Processor virtualization; Memory Virtualization; NIC virtualization; Disk virtualization; Graphics card virtualization;

OS-level virtualization or Process VMs and the container model;

OS resource abstractions and virtualization constructs(Linux Dockers example) ;

Virtualization using APIs or HLL VMs – JVM example.

Prerequisites:

Basic course on operating systems and consent of the instructor.

A good refresher is available at this link: http://pages.cs.wisc.edu/~remzi/OSTEP/

Resources:

J. Smith, R. Nair, Virtual Machines: Versatile Platforms for Systems and Processess, Morgan Kaufman, 2005.

D. Bovet, M. Casti, Understanding the Linux Kernel, Third Edition, O’Reilly, 2005.

Wolfgang Mauerer, Linux Kernel Architecture, Wiley India, 2012.

D. Chisnall, The Definitive Guide to the Xen Hypervisor, Prentice Hall, 2007

R. Bryant, D. O’Hallaron, Computer Systems: A Programmer’s Perspective (2nd Edition), Addison Wesley, 2010

Current literature

Evaluation:

The course evaluation will be based on assignments(40%), case-study seminars/system architecture exploration projects (20%) and exams(40%).

Academic Integrity:

All students are expected to understand and abide by the IISc’s Academic Integrity Guidelines. Students must maintain the classroom decorum and participate to enable a healthy learning atmosphere. While discussions are encouraged, absenteism, abusive behaviour, cheating, copying or plaigiarism of any manner will not be tolerated and may lead to reduced grades or expulsion.

Teaching Assistants:

Available on Mon, Wed and Fri between 3.00 – 5.00 pm CSL, CAD Lab, Ground Floor DESE Building.
  1. Archita Ghosh: architagosh@iisc.ac.in
  2. Dhanya Mathews: dhanyam@iisc.ac.in

Course Schedule for DS255 Jan 2020