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 a written 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)
- Due to an earlier inconsistency in the webpages, the electronic
submission deadline for milestone 8 (the full source code for your
system) will be deferred, as described here.
—andrewb, 20.05.2008 - I have made a minor correction to the specification for milestone
8. The linker argument to specify the start address of the text section
is
-Ttext, not-T.
—andrewb, 19.05.2008 - The exam has been set for Wednesday 11.06.08; see below for
details.
—andrewb, 06.05.2008 - I have corrected some misleading uses of the words "page" and
"frame" in the Milestone 1 example code that had confused
students.
—andrewb, 12.03.2008 - Instructions for accessing a revision
control system for group work (everything from milestone 1 onward)
are now available.
—andrewb, 05.03.2008 - The project instructions have been finalised, and a few bugs fixed
in the supplied environment. If you already started work, you should
recreate your VM image and update your source tree.
—andrewb, 29.02.2008 - The lecture schedule has been updated and the week 1 slides added.
Please note that the project specification is still subject to change,
as we finalise the local development environment.
—andrewb, 19.02.2008 - The consultation and marking times are now posted.
—andrewb, 05.02.2008 - The course website is now active. Stay tuned for more
information.
—andrewb, 04.02.2008
Schedule
| Lecture: | Tuesday 10:00 – 12:00 in IFW A34 |
| Consultations (optional): | Wednesday 11:00 – 12:00 in IFW C31 except 02.04.08 |
| Project marking: | Friday 11:00 – 12:00 in IFW C31 except 04.04.08 |
| ... except in week 7: | Tuesday 01.04.08 11:00 – 12:00 in IFW D31 |
| Exam: | Wednesday 11.06.08 14:00 – 16:00 in IFW A32.1 |
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
- Timothy Roscoe (troscoe at inf) IFW B45.2
- Andrew Baumann (andrewb at inf) IFW B45.1
- Simon Peter (speter at inf) IFW B47.1
- Guest lecturers



