Personal tools

263-3800-00 Advanced Operating Systems

Overview

This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems. We will pay particular attention to system structures that differ from traditional monolithic arrangements of Unix/Linux and Windows. This course builds on the undergraduate operating systems course offered at ETH ( 252-0056-00), the contents of which will be assumed knowledge.

The course consists of lectures, project work, and an oral examination. Project work will be performed in small groups, where students will implement major components of a microkernel-based operating system. The examination will consist of a combination of short- and long-answer questions in English; all material covered in lectures and in the project is considered examinable. The final assessment will be a combination of project and examination grades with a weighting of 65% project to 35% examination.

Notices

(in reverse chronological order)

  • The exam will be held on Monday June 8, for the schedule and details see the slides from the final lecture.
    -andrewb, 26.05.2009
  • There will be no lecture next week and no scheduled consultation (19.05, 20.05). Consultations may be arranged by appointment with Simon Peter. The lab marking will proceed as usual.
    —andrewb, 12.05.2009
  • There are some readings for next week's lecture, which will be on the motivation for and design of L4:
    • Jochen Liedtke, On µ-Kernel Construction, SOSP'95. [pdf]
    • Jochen Liedtke, Improving IPC by Kernel Design, SOSP'93. [pdf]
    —andrewb, 13.03.2009
  • The assignment submission page is now available.
    —andrewb, 25.02.2009
  • We have fixed various bitrot issues with the project sources and tools, and revised the instructions for Milestone 0 appropriately. For those of you working on your own machine, the main change is that you need a specific (old) version of SCons as documented here.
    —andrewb, 20.02.2009
  • These pages give preliminary information for AOS in Spring 2009. There will be revisions made to the lecture material and project spec. Stay tuned for more information.
    —andrewb, 04.12.2008

Schedule

Lecture: Tuesday 10:00 – 12:00 in IFW A32.1
Consultations (optional): Wednesday 11:00 – 12:00 in IFW C31
Project marking: Friday 11:00 – 12:00 in IFW C31
Examinations: Monday June 8

Text and reference books

There is no textbook for this course, as no published book covers the material in sufficient depth. However, the following reference books may be of use:

  • A. Tannenbaum, A. Woodhull: Operating Systems: Design and Implementation, 2nd ed. 1997, Prentice Hall.
  • Curt Schimmel: UNIX Systems for Modern Architectures, 1994, Addison Wesley.
  • M. Beck, H. Böhme, M. Dziadzka, U. Kunitz, R. Magnus, and D. Verworner: Linux Kernel Internals, 1997, Addison Wesley.
  • Marshall K. McKusik, Keith Bostic, Michael J. Karels, John S. Quarterman: The Design and Implementation of the 4.4BSD Operating System, 1996, Addison Wesley.
  • Helen Custer: Inside Windows NT, 1993, Microsoft Press.
    2nd version authored by David A. Solomon, (1998), 3rd version authored by David A. Solomon and Mark Russinovich titled ``Inside Windows-2000'' (2000).
  • Helen Custer: Inside the Windows NT File System, 1994, Microsoft Press.
  • Scott Maxwell: Linux Core Kernel Commentary, 1999, CoriolisOpen Press.
  • John Lions: Commentary on UNIX 6th edition with source code, 1996, Peer-to-Peer Communications.
  • Henry M. Levy: Capability-Based Computer Systems, 1984, Digital Press.
  • Selected research papers as referred to in class.

Staff

Document Actions