Lectures: Slot 9 (Mon/Thu 3:30pm to 5pm), Venue: CC 103.
Instructor: Mythili Vutukuru (mythili @ cse.iitb.ac.in)
Instructor Office Hours: By appointment (please send email to fix up a time).
TAs: Diptaroop Maji (diptyaroop@cse), Nilesh Unhale (nileshunhale@cse), Maharishi Bhargava (maharishib@cse)
CS695 is a graduate-level course open to undergraduate and postgraduate students. A previous course on operating systems (CS347/CS333 for UGs, CS744 for PGs) is a hard pre-requisite. The course also involves significant hands-on programming, so an interest and aptitude for systems programming is highly desirable. Please talk to the instructor if you do not meet these criteria but still wish to take the class.
This course covers basic and advanced concepts related to the virtualization and how it enables the latest revolution of cloud computing. You will understand the various virtualization paradigms of full virtualization, para virtualization, and hardware-assisted virtualization, for CPU, memory, and I/O. You will also learn about containers and related concepts. The later part of the course will cover various advanced topics related to virtual machine migration, provisioning, nested virtualization, security, unikernels, and so on. The programming assignments in the course are designed to reinforce the concepts learnt in class.
Grading Policy: The weightage for the various components of the course is as follows: mid-semester exam: 20%, end-semester exam: 30%, weekly quizzes: 10%, programming assignments: 40%.
You are expected to have a reasonable grasp of OS concepts before you begin this course. You may use my Lecture Notes on Operating Systems to brush up your knowledge.
There is no prescribed textbook for this course, and most of the content of this course is sourced from research papers and articles, listed below.