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)
- I am collecting the Slugs back in the upcoming marking session on Friday, December 17. Please make sure you bring it and all belonging parts!
—speter, 14.12.2010 - There is no lecture on October 7. We offer the consultation on October 6. The next marking session will be on October 15.
—speter, 30.09.2010
- These pages give preliminary information for AOS in Autumn 2010.
Stay tuned for more information.
—speter, 09.08.2010
Schedule
| Lecture: | Thursday 10:00 – 12:00 in HG F26.5 |
| Consultations (optional): | Wednesday 11:00 - 12:00 in CAB H.57 |
| Project marking: | Friday 10:00 – 12:00, room CAB H.57 |
| 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. Tanenbaum, A. Woodhull: Operating Systems: Design and Implementation, 3rd ed. 2006, 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
- Timothy Roscoe (troscoe at inf) CAB F79
- Andrew Baumann (andrewb at inf) CAB E73.1
- Simon Peter (speter at inf) CAB F72



