UBC Home Page -
UBC Home Page -
UBC Home Page UBC Home Page -
News Events Directories Search UBC myUBC Login
- -
Operating Systems
Winter 2013, Term 1
Instructor Mike Feeley
Contact Come to ICCS 393, call 778-889-4299, or email feeley@cs.ubc.ca.
Office Hours TBD in ICCS 393. Or email/call for appointment.
Lectures TuTh 3:40-5:00 in ICCS 206.
Piazza Signup

This course surveys research literature relating to the design and implementation of operating systems. By the time you finish the class, you should have a good understanding of the problems that have faced OS designers over about the past 50 years, how they solve them, and how these systems relate to OS and system design issues today.

In addition to the body of readings around operating systems, the course will place a strong emphasis on your ability to critically read a paper, summarize your impressions of that paper in writing, and discuss what you have written with a group of your peers. The class will simulate a conference program committee: you will read and review papers as if you were deciding whether they should be accepted for publication, and will argue in favor of your decision in class.

How to Read and Review a Paper
Your Responsibilities: Reading, Reviewing and Presenting
  1. Read each paper in the discussion list in sufficient detail to write a review and participate in class discussion.
  2. Write a constructive review, including one unique discussion question, and submit that review to Piazza by 9pm or so of the day before the class in which we discuss the paper.
  3. In classes where you are responsible for presentting a paper, you present a summary of the paper to the class and then lead discussion of the paper, using reviews and questions provided by the rest of the class as needed. In every other class, particpate actively in the class discssion.
Schedule and Reading List (Expect Some Changes)
Th S 5
  • Brief Introduction
Emergence of Multiprogrammed Computers
Tu S 10
  • Jack B. Dennis and Earl C. Van Horn. Programming Semantics for Multiprogrammed Computations. Communications of the ACM, 9(3), March 1966. ( pdf ) -- Mike
Th S 12
  • Per Brich Hansen. The Nucleus of a Multiprogramming System. Communications of the ACM, 13(4), April 1970. ( pdf ) -- Mike
Virtual Memory, Protection and Sharing in MULTICS
Tu S 17
  • Robert C. Daley and Jack B. Dennis. Virtual Memory, Processes and Sharing in MULTICS. Communications of the ACM, 11(5), May 1968. ( pdf ) -- Evgeny
Th S 19
  • Jerome H. Saltzer. Protection and the Control of Information Sharing in Multics. Communications of the ACM, 17(7), July 1974. ( pdf ) -- Marjan
Th S 26
  • W. Wulf, E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson, and F. Pollack. HYDRA: The Kernel of a Multiprocessor Operating System. Communications of the ACM, 17(6), June 1974. ( pdf ) -- Taylor
Policy and Mechanism in Kernel Abstractions
Tu O 1
  • R. Levin, E. Cohen, W. Corwin, F. Pollack, and W. Wulf. Policy/Mechanism Separation in HYDRA. In Proc of the 5th Symposium on Operating Systems Principles, November 1975. ( pdf ) -- Jonatan
Th O 3
  • P. Cao, E.W. Felten, A.R. Karlin, and K. Li. Implementation and Performance of Integrated Application-Controlled File Caching, Prefetching, and Disk Scheduling.. In ACM Transactions on Computer Systems, 14:4, November 1996. ( pdf ) -- Evgeny
Design Principles
Tu O 8
  • J. H. Saltzer, D. P. Reed and D. D. Clark. End-to-End Arguments in System Design. Transactions on Computer Systems, November 1984. ( pdf ) --
Th O 10
  • D. D. Clark. Structuring a System Using Upcalls In Proc of Symposium on Operating Systems Principles, 1985. ( pdf ) --
Tu O 15
  • H.C. Lauer and R. M. Needham. On the Duality of Operating System Structures. ACM SIGOPS Operating Systems Review, April 1979. ( pdf ) --
Tu O 22
  • Butler Lampson. Hints for Computer System Design. ACM Operating Systems Review, Vol 15, No 5, October 1983. ( pdf ) -- Jonatan
Alternative Kernel Structures
Th O 24
  • J. Liedtke. On micro-kernel construction. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles. December 03 - 06, 1995. ( PDF ) -- Marjan
Tu O 29
  • D. R. Engler, M. Frans Kaashoek and James O'Toole Jr. Exokernel: An Operating System Architecture for Application-Level Resource Management. In Proc of the 15th ACM Symposium on Operating Systems Principles, December 1995. ( pdf ) -- Taylor
Tu N 5
  • M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Birceno, Russel Hunt, David MAzieres, Thomas Pickney, Robert Grimm, John Jannotti and Kenneth Mackenzie. Application Performance and Flexibility on Exokernel Systems. In Proc of 10th ACM Symposium on Operating Systems Principles, October 1997. ( pdf ). -- ?
  • B. Bershad, S. Savage, P. Pardyak, E. Sirer, M. Fiuczynski, D. Becker, C. Chambers, and S. Eggers. Extensibility, Safety and Performance in the SPIN Operating System. Proc. of the 15th ACM. Symp. on Operating Systems Principles, December 1995. ( PDF ) --
  • Andrew Baumann, Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Sch�pbach, and Akhilesh Singhani. The Multikernel: A new OS architecture for scalable multicore systems. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles. (pdf)
  • Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., and Warfield, A. Xen and the art of virtualization. In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles October 19 - 22, 2003. ( PDF ) --
  • Mendel Rosenblum and John K Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Transactions on Computer Systems, 10(1), February 1992, pp 26-52. ( pdf )
  • Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. 2003. The Google file system. In Proceedings of the nineteenth ACM symposium on Operating systems principles (SOSP '03). ( pdf ) --
Trust and Reliability
  • David E Lowell, Subhachandra Chandra, and Peter M Chen. Exploring Failure Transparency and the Limits of Generic Recovery. Proceedings of OSDI 2000. ( pdf )
Scalable Web Services
  • Fay Chang, Jeffrey Dean, Sanjay Chemawat, Wilson C Hsieh, Deborah A Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert Gruber. Bigtable: A Distributed Storage System for Structured Data. In Proceedings of OSDI 2006, November 2006. ( pdf )