UBC Home Page -
UBC Home Page -
UBC Home Page UBC Home Page -
-
-
News Events Directories Search UBC myUBC Login
-
- -
Computer
Science
508
Operating Systems
Winter 2011, Term 1
Wayfinding
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 11-12:20 in DMP 101.
Description

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 constritive review, including discussion questions, and submit that review to ? at least 24 hours 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.
Evaluation
Schedule and Reading List
Th S 6
  • Brief Introduction
Tu S 11
  • Jack B. Dennis and Earl C. Van Horn. Programming Semantics for Multiprogrammed Computations. Communications of the ACM, 9(3), March 1966. ( pdf ) -- Mike F
Th S 13
  • Per Brich Hansen. The Nucleus of a Multiprogramming System. Communications of the ACM, 13(4), April 1970. ( pdf ) -- Mike F
Tu S 18
  • Robert C. Daley and Jack B. Dennis. Virtual Memory, Processes and Sharing in MULTICS. Communications of the ACM, 11(5), May 1968. ( pdf ) -- RJ
  • Jerome H. Saltzer. Protection and the Control of Information Sharing in Multics. Communications of the ACM, 17(7), July 1974. ( pdf ) -- Natasha
Th S 20
  • Jerome H. Saltzer. Protection and the Control of Information Sharing in Multics. Communications of the ACM, 17(7), July 1974. ( pdf ) -- Natasha
  • 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 ) -- Mike E
Tu S 25
  • 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 ) -- Enamul
Th S 27
  • 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 ) -- Enamul
  • 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 ) -- Jason
Tu O 2
  • 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 ) -- Jason
  • J. H. Saltzer, D. P. Reed and D. D. Clark. End-to-End Arguments in System Design. Transactions on Computer Systems, November 1984. ( pdf ) -- Nathan
Th O 4
  • D. D. Clark. Structuring a System Using Upcalls In Proc of Symposium on Operating Systems Principles, 1985. ( pdf ) -- Mikhail
Tu O 9
  • David D. Redell, Yogen K. Dalal, Thomas R. Horsley, Hugh C. Lauer, William C. Lynch, Paul R. McJones, Hal G. Murray, and Stephen C. Purcell. Pilot: An Operating System for a Personal Computer. Communications of the ACM, 23(2), February 1980. ( pdf ) -- Steve
Th O 11
  • H.C. Lauer and R. M. Needham. On the Duality of Operating System Structures. ACM SIGOPS Operating Systems Review, April 1979. ( pdf ) -- Matt
Tu O 16
  • 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 ) -- RJ
Th O 18
  • 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 ). -- ????
Tu O 23
  • 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 ) -- ????
  • R. Pike, D. Presotto, S. Dorward, B. Flandrena, K. Thompson, H. Trickey and P. Winterbottom. Plan-9 from Bell Labs. In Computing Systems, 8:3, 1995. ( pdf ) -- Debanga
Th O 25
  • J. Liedtke. On micro-kernel construction. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles. December 03 - 06, 1995. ( PDF ) -- Steve
Tu O 30
  • J.S. Chase, H.M. Levy, M.J. Feeley, E.D. Lazowska. Sharing and Protection in a Single-Address-Space Operating System. In ACM Transactions on Computer Systems, 12:4, 1994. ( pdf ) -- Nathan
  • Matt Welsh, David Culler, and Eric Brewer. SEDA: An Architecture for Well-Conditioned, Scalable Internet Services. In Proceedings of the Eighteenth Symposium on Operating Systems Principles (SOSP-18) (2001) ( PDF ) -- ????
Th N 1
  • Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer. Capriccio: Scalable Threads for Internet Services. In Proceedings of the Ninteenth Symposium on Operating System Principles (SOSP-19) (2003). ( PDF ) -- ????
Tu N 6++
  • D. Mosberger and L. Peterson. Making Paths Explicit in the Scout Operating System. Proceedings of OSDI '96 (October 1996), 153-168. ( pdf ) -- ????
  • Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel. IO-Lite: A Unified I/O Buffering and Caching System. Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (1999). ( PDF ) -- Enamul
  • Bugnion, E., Devine, S., and Rosenblum, M. Disco: running commodity operating systems on scalable multiprocessors. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles. 1997. ( PDF ) -- Mike E
  • 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 ) -- ????
  • Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Michael Norrish, Rafal Kolanski, Thomas Sewell, Harvey Tuch, Simon Winwood. seL4: Formal Verification of an OS Kernel . In Proceedings of the 22nd ACM Symposium on Operating Systems Principles 2009. ( PDF ) -- Mikhail
  • Michael M. Swift, Brian N. Bershad, and Henry M. Levy. Improving the reliability of commodity operating systems. In Proceedings of the nineteenth ACM symposium on Operating systems principles (SOSP '03). 2003. ( PDF ) -- Debanga
  • Petros Efstathopoulos, Maxwell Krohn, Steve VanDeBogart, Cliff Frey, David Ziegler, Eddie Kohler, David Mazieres, Frans Kaashoek, and Robert Morris. Labels and event processes in the asbestos operating system. In Proceedings of the twentieth ACM symposium on Operating systems principles (SOSP '05). 2005. ( PDF ) -- Sunjeet
Th N 8
  • Alexander Yip, Xi Wang, Nickolai Zeldovich, and M. Frans Kaashoek. Improving application security with data flow assertions. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles (SOSP '09). 2009. ( PDF ) -- ????
  • Silas Boyd-Wickizer, Austin Clements, Yandong Mao, Aleksey Pesterev, M. Frans Kaashoek, Robert Morris, and Nickolai Zeldovich. An Analysis of Linux Scalability to Many Cores. In the Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI '10) ( PDF ) -- ????
Tu N 13
  • M. Costa, M. Castro, L. Zhou, L. Zhang, and M. Peinado, Bouncer: Securing Software by Blocking Bad Input, Symposium on Operating Systems Principles (SOSP'07). October 2007. ( PDF ) -- ????
  • Feng Qin, Joseph Tucek, Jagadeesan Sundaresan, and Yuanyuan Zhou. Rx: treating bugs as allergies---a safe method to survive software failures. In Proceedings of the twentieth ACM symposium on Operating systems principles (SOSP '05). 2005. ( PDF ) -- ????
Th N 15
  • Galen C. Hunt and James R. Larus. Singularity: rethinking the software stack. SIGOPS Operating Systems Review. 2007. ( PDF ) -- ????
  • Feng Zhou, Jeremy Condit, Zachary Anderson, Ilya Bagrak, Rob Ennals, Matthew Harren, George Necula, and Eric Brewer. 2006. SafeDrive: safe and recoverable extensions using language-based techniques. In Proceedings of the 7th symposium on Operating systems design and implementation (OSDI '06). -- ????
Tu N 20
  • Christopher Frost, Mike Mammarella, Eddie Kohler, Andrew de los Reyes, Shant Hovsepian, Andrew Matsuoka, and Lei Zhang. 2007. Generalized file system dependencies. In Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles (SOSP '07). ( PDF ) -- ????
  • Edmund B. Nightingale, Kaushik Veeraraghavan, Peter M. Chen, and Jason Flinn. 2006. Rethink the sync. In Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI '06). ( PDF ) -- ????
Th N 22
  • Athicha Muthitacharoen, Benjie Chen, and David Mazieres. 2001. A low-bandwidth network file system. In Proceedings of the eighteenth ACM symposium on Operating systems principles (SOSP '01). ( 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 ) -- ????
Tu N 27
  • Emmett Witchel, Junghwan Rhee, and Krste Asanovic. 2005. Mondrix: memory isolation for linux using mondriaan memory protection. In Proceedings of the twentieth ACM symposium on Operating systems principles (SOSP '05). ( PDF ) -- ????
  • David Lie, Chandramohan Thekkath and Mark Horowitz. Implementing an Untrusted Operating System on Trusted Hardware. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP 2003). October 2003. ( PDF ) -- ????
Th N 29
    TBD as time permits.