EECS 441 Resource Virtualization, Winter 2009, Schedule

This year's instance of the course will for the first time spend a large portion of the time looking in depth at the operation (and source code) of the Palacios VMM. It is always a challenge to determine the pace of such content, as it depends a lot on the previous experience of students in the class. Therefore, I will dynamically adjust the schedule, and update this page as needed.
  • Tuesday, 1/6, Introductory Material
  • What are virtual machines and what can we do with them?
  • Discussion of the different forms of virtual machines (Smith and Nair Taxonomy)
  • Usecases for virtualization
  • Overview of course
  • Required Reading: Collection-Intro; Smith and Nair, Chapter 1; Figueiredo03 (3)
  • Thursday, 1/8, x86 from the typical OS perspective
  • Overview of how an OS works in the abstract
  • Exceptions and Interrupts
  • Address translation
  • Privileged state
  • Consider the boot process using BOCHS BIOS/GeekOS/Palacios as example
  • x86 bootstrap (got as far as BIOS POST), Real Mode
  • Required Reading: Intel Volume 3A, Chapter 2, Lange08 (176), Hovenmeyer04 (175). (skim these for now and dont get scared, we will spend plenty of time on this stuff; Note that we will focus on IA32 (not IA32e/AMD64) ),
  • Tuesday, 1/13, more x86 from the typical OS perspective
  • BIOS bootstrap to boot sector and kernel load
  • Over of the Palacios codebase and building and running
  • Protected mode without and with paging
  • Real to protected to protected+paging bootstrap (32 bit)
  • Required Reading: Same as last time
  • Thursday, 1/15, more x86 from typical OS perspective
  • Programmable Interrupt Controller (PIC)
  • Programmable Interval Timer (PIT)
  • Simple kernel threads
  • Kernel memory allocation (heap, stack), and page allocation
  • Possibly: DMA controller, APIC, PCI
  • Required Reading: Same as last time
  • More To Come!

  • Peter Dinda
    Last modified: Sun Jan 11 15:28:28 CST 2009