Home Teaching Research Publications

 Summer 2020: Advanced Operating Systems (LV 7680)   -- Master Information Science

News

28-Jul-20 More feedback questions
Put some more feedback questions on website. More to come, stay tuned.

03-Jun-20 UNSW AOS lecture going online
Today, Gernot Heiser of UNSW Sydney announced to make this year's AOS lectures publicly available on Youtube.

06-May-20 M1 description updated
Group allocations to be fixed today. Milestone #1 description has been updated. Slides here.

22-Apr-20 First lab session
Lab sessions take place in BigBlueButton. Login for all BBB sessions are published via zapp. Slides here.

10-Apr-20 Corona: Video and audio materials online
Because of the ongoing corona crisis, lectures will have to start online. To this end, I am preparing video streams of the lecture to be made available on the Amigo platform. Some slidesets are already available there, more will follow. The corresponding audio tracks are available here on this website (see audio links below)

Time Schedule

Beginning of lectures 22-Apr-2020
Beginning of lab sessions 22-Apr-2020

Slides

ChapterTitleRecommended reading
0Prefix
by Robert Kaiser, HSRM
(slides) (audio)
1Introduction (Microkernels and L4)
by Gernot Heiser, UNSW
(slides) (handout) (audio)
[Hansen 1970]
[Engler et al. 1995]
2seL4 API and Usage
by Kevin Elphinstone, UNSW
(slides) (handout) (audio)
3 OS execution models
by Kevin Elphinstone, UNSW
(slides) (handout) (audio)
Why threads are a bad idea (for most purposes)
by John Ousterhout, Sun Microsystems Labs
(slides) (handout) (audio)
Why events are a bad idea (for high-concurrency servers)
by Rob von Behren et al, UCB
(slides) (handout)
[von Behren et al., 2003]
4Caches (What every OS designer must know)
by Gernot Heiser, UNSW
(slides) (handout) (audio)
[Clark, Emer 1985]
[Uhlig et al. 1994]
[Wiggins 2003]
[Schimmel 1994]
5Virtual Machines
by Gernot Heiser, UNSW
(slides) (handout) (audio)
[Barham et al., 2003]
[Waldspurger, 2002]
[Dall and Nieh, 2013]
6Performance Measurement and Analysis
by Gernot Heiser, UNSW
(slides) (handout) (audio)
[Fleming and Wallace, 1986]
[Gernot's Benchmarking Crimes]
7Real-Time Systems Introduction
by Gernot Heiser, UNSW
(slides) (handout) (audio)
[Liu, 2000]
8Microkernels Design and Implementation (with focus on seL4)
by Gernot Heiser, UNSW
(slides) (handout) (audio)
[Liedtke 1993]
[Liedtke 1995]
[Blackham et al. 2012]
[Elphinstone & Heiser 2013]
9Security Fundamentals
by Toby Murray and Gernot Heiser, UNSW
(slides) (handout)
[Miller et al, 2003]
[Watson et al, 2010]
10Information Leakage (Timing Channels and Speculation)
by Gernot Heiser, UNSW
(slides) (handout)
[Liu et al., 2015]
[Lipp et al., 2018]
[Kocher et al., 2019]
11UNIX and Linux Internals
by Peter Chubb, DATA61
(slides) (handout)
[McKenney, 2004]
[McKenney et al., 2002]
[Ritchie and Thompson, 1974]
12SMP and Locking 1
by Kevin Elphinstone, UNSW
(slides) (handout)
[Anderson, 1990]
[Clements et al., 2013]
13SMP and Locking 2
by Kevin Elphinstone, UNSW
(slides) (handout)
14Formal Verification and seL4
by Gernot Heiser, UNSW
(slides) (handout)
[Klein et al. 2014]
15Local OS Research (Having fun with seL4 and beyond)
by Gernot Heiser, UNSW
(slides) (handout)
[Biggs et al., 2018]
[Amani et al., 2016]
[Ge et al., 2019]
[Shen et al., 2019]
[Klein et al., 2018]
16Multicore operating Systems
by Ihor Kuz, UNSW
(slides) (handout)

Lab sessions: Topics to discuss and lecture feedback questions

1 - Session #1, 22-Apr-20  (slides)
2 - Session #2, 29-Apr-20  (slides)
3 - Session #3, 06-May-20  (slides)
4 - Session #4, 28-Jul-20  (slides)
5 - Session #5, 12-Aug-20  (slides)
6 - Session #6, 16-Aug-20  (slides)

Project Milestones: using seL4

  M0 -  Familiarisation
  M1 -  A timer driver
  M4 -  The filesystem
  M5 -  Demand paging

Literature

  1 - Tanenbaum, A. S.: Modern Operating Systems, 2nd Ed., Prentice-Hall, 2001 (Engl. Originalausgabe)
  2 - Stallings: Operating Systems: Internals and Design Principles, Prentice Hall, 2004
  3 - Curt Schimmel: UNIX Systems for Modern Architectures, Addison Wesley, 1994

Note: The above are standard textbooks on operating systems. There aren't really any books covering the contents of this lecture. Note however, that each set of lecture slides is accompanied by a selection of recommended papers to read.