Summer 2017: Advanced Operating Systems (LV 7680) -- Master Information Science
News
Time Schedule
Beginning of lectures | 19-Apr-2017 |
WAMOS 2017 Workshop (tentative) | 25-Aug-2017 |
Slides
Chapter | Title | Recommended reading |
0 | Prefix by Robert Kaiser, HSRM |
|
1 | Introduction (Microkernels and L4) by Gernot Heiser, UNSW (slides) (handout) |
[Hansen 1970] [Engler et al. 1995] |
2 |
OS execution models by Kevin Elphinstone, UNSW (slides) (handout) Why threads are a bad idea (for most purposes) by John Ousterhout, Sun Microsystems Labs (slides) (handout) Why events are a bad idea (for high-concurrency servers) by Rob von Behren et al, UCB (slides) (handout) |
[von Behren et al., 2003] |
3 | Virtual Machines by Gernot Heiser, UNSW (slides) (handout) |
[Barham et al., 2003] [Waldspurger, 2002] [Dall and Nieh, 2013] |
4 | SMP and Locking by Kevin Elphinstone, UNSW (slides) (handout) |
[Anderson, 1990] [Clements et al., 2013] |
5 | Performance Evaluation by Gernot Heiser, UNSW (slides) (handout) |
[Fleming and Wallace, 1986] [Gernot's Benchmarking Crimes] |
6 | Caches (What every OS designer must know) by Gernot Heiser, UNSW (slides) (handout) |
[Clark, Emer 1985] [Uhlig et al. 1994] [Wiggins 2003] [Schimmel 1994] |
7 | Linux by Peter Chubb, DATA61 (slides) |
[McKenney, 2004] [McKenney et al., 2002] [Ritchie and Thompson, 1974] |
8 | Real-Time Systems by Stefan Patters and Gernot Heiser, UNSW (slides) (handout) |
[Liu, 2000] |
9 | Microkernel Design (with focus on seL4) by Gernot Heiser, UNSW (slides) (handout) |
[Liedtke 1993] [Liedtke 1995] [Blackham et al. 2012] [Elphinstone & Heiser 2013] |
10 | OS Security by Toby Murray and Gernot Heiser, UNSW (slides) (handout) |
[Miller et al, 2003] [Watson et al, 2010] |
11 | Multiprocessors by Ihor Kuz, UNSW (slides) |
[Porter et al. 2011] |
12 | Trustworthy Systems by Gernot Heiser, UNSW (slides) (handout) |
[Klein et al. 2014] [Amani et al, 2016] [Shen and Elphinstone, 2015] |
Project Milestones: using seL4
M0 -
Familiarisation
M1 -
A timer driver
M2 -
Memory Manager
M3 -
A pager
M5 -
Implement filesystem
M6 -
Demand paging
M7 -
Process Management
M8 -
ELF loading
Project Milestones: using Fiasco.oc
M0 -
Familiarisation
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.