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, paying 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.

Lectures will cover key ideas that have informed OS design over the last 20 years, with a focus on their influence on two particular Operating Systems: the L4 kernel which is used for the project work, and the Barrelfish OS being developed within the ETH Systems Group.

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)

  • There will be no classes (lecture, consultation or lab marking) next week (12-16.10.2009), as we are all away attending the SOSP conference.
    —andrewb, 07.10.2009
  • These pages give preliminary information for AOS in Autumn 2009. Stay tuned for more information.
    —andrewb, 24.08.2009

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
Examination: date yet to be set

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