Computer Laboratory

Course pages 2017–18

Advanced Topics in Computer Systems

Principal lecturer: Dr Richard Mortier
Taken by: MPhil ACS, Part III
Code: R01
Hours: 16 (8 × two-hour seminar sessions)
Class limit: 15 students
Prerequisites: Undergraduate operating systems course, and the RSP unit 'Reading and writing systems research'


This module will attempt to provide an overview of “systems” research. This is a very broad field which has existed for over 50 years and which has historically included areas such as operating systems, database systems, file systems, distributed systems and networking, to name but a few. The course will thus necessarily cover only a tiny subset of the field.

Many good ideas in systems research are the result of discussing and debating previous work. A primary aim of this course therefore will be to educate students in the art of critical thinking: the ability to argue for and/or against a particular approach or idea. This will be done by having students read and critique a set of papers each week. In addition, each week will include presentations from a number of participants which aim to advocate or criticise each piece of work.


The syllabus for this course will vary from year to year so as to cover a mixture of older and more contemporary systems papers. Contemporary papers will be generally selected from the past 5 years, primarily drawn from high quality conferences such as SOSP, OSDI, ASPLOS, FAST, NSDI and EuroSys. Example topics might include:

  • Systems Research and System Design,
  • OS Structure and Virtual Memory,
  • Systems Virtualisation,
  • Consensus,
  • Scheduling,
  • Privacy,
  • Data Intensive Computing, and
  • Bugs.

The reading each week will involve a load equivalent to 3 full length papers. Students will be expected to read these in detail and prepare a written summary and review. In addition, each week will contain one or more short presentations by students for each paper. The types of presentation will include:

  • Overview: a balanced presentation of the paper, covering both positive and negative aspects.
  • Advocacy: a positive spin on the paper, aiming to convince others of its value.
  • Criticism: a negative take on the paper, focusing on its weak spots and omissions.

These presentation roles will be assigned in advance, regardless of the soi disant absolute merit of the paper or the preference of the student. Furthermore, all students – regardless of any assigned presentation role in a given week – will be expected to participate in the class by asking questions and generally entering into the debate.


On completion of this module students should have a broad understanding of some key papers and concepts in computer systems research, as well as an appreciation of how to argue for or against any particular idea.

Coursework and practical work

Coursework will be the production of the weekly paper reviews. Practical work will be presenting papers as appropriate, as well as ongoing participation in the class.


Participants on this course will be awarded a percentage score which will be made up of the grades attained for the best ten paper reviews submitted throughout the course, plus a contribution based on presentation quality and discussion contribtions.

Recommended reading

Most of the reading for this course will be in the form of the selected papers each week. However, the following may be useful background reading to refresh your knowledge from undergraduate courses:

Silberschatz, A., Peterson, J.L. & Galvin, P.C. (2005). Operating systems concepts. Addison-Wesley (7th ed.).
Tanenbaum, A.S. (2008). Modern Operating Systems. Prentice-Hall (3rd ed.).
Bacon, J. & Harris, T. (2003). Operating systems. Addison-Wesley (3rd ed.).
Leffler, S. (1989). The design and implementation of the 4.3BSD Unix operating system. Addison-Wesley.
Solomon, D. & Russinovich, M. (2000). Inside Windows 2000. Microsoft Press (3rd ed.) or Windows internals (2005, 4th ed.).
Anderson, T. & Dahlin, M. (2014). Operating Systems: Principles & Practice. Recursive Books (2nd ed.).
Hennessy, J. & Patterson, D. (2006). Computer architecture: a quantitative approach. Elsevier (4th ed.). ISBN 978-0-12-370490-0.