CPSC 613 -- Operating Systems: Reading List (Spring 2012)

CSCE 613 -- Operating Systems: Reading List (Spring 2012)


In this page you will find information about the reading covered in this course and about the weekly reading reports.


Handing in Weekly Reading Reports

You are to submit your reading reports through elearning (TAMU elearning)


Format for Reading Reports

  1. File name: The file name of your reading report must be Lastname_Firstname.doc or Lastname_Firstname.pdf.
  2. Document format and length: The report should be one page per paper, with 12 pts, single space, 1'' border.
  3. Contents: For each paper, you need to include the following contents:
    1. Summary of the paper and its contributions.
    2. Clearly identify one weakness, shortcut, or logical fallacy in the paper.
    3. FOR PAPERS WRITTEN BEFORE 1990, you need to write
      • your opinion on which part of the paper is related to today's operating systems, and how (one paragraph);
      • your opinion on which part of the paper is IRRELEVANT to today's operating system, and why (one paragraph).
  4. At the end of the report, describe the assigned papers (e.g., papers 1,2,3,4,5 for the first assignment) relate to each others. For example, trade off between papers, maybe in chronological point of view. This part takes a half page of your report.

Tentative Reading List (some are finalized)

Structure and Abstraction (finalized):
[1] Robert C. Daley and Jack B. Dennis, "Virtual Memory, Processes, and Sharing in MULTICS". Communications of the ACM, Vol(II)-5, May 1968.
[2] E. W. Dijkstra, "The Structure of the THE-Multiprogramming System". Communications of the ACM, Vol(2)-5, May 1968.
[3] Dennis M. Ritchie and Ken Thompson, "The UNIX Time-Sharing System". Communications of the ACM, Vol(17)-7, July 1974.
[4] Jochen Liedtke, "On micro-Kernel Construction". Proceedings of the 15th ACM Symposium on Operating System Principles (SOSP), Copper Mountain Resort, CO, December 1995.
[5] M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Briceno, Russel Hunt, David Mazieres, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie, "Application Performance and Flexibility on Exokernel Systems". Proceedings of the 16th Symposium on Operating Systems Principles (SOSP), October 1997.
Memory Management (finalized):
[6] Peter J. Denning, "The Working Set Model for Program Behavior". Communications of the ACM, Vol 11, No. 5, May 1968.
[8] Juan Navarro, Sitaram Iyer, Peter Druschel, Alan Cox, "Practical, transparent operating system support for superpages". Proc. of the 5th Usenix Symposium on Operating Systems Design and Implementation (OSDI), Boston, MA, December 2002.
[7] M. Saxena and M. M. Swift, "FlashVM: Virtual Memory Management on Flash". USENIX Annual Technical Conference (ATC), Boston, USA, June 2010.
[9] Andrew W. Appel and Kai Li, "Virtual Memory Primitives for User Programs". Proceedings of the 1991 Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IV), 1991.
Threading and Synchronization (finalized):
[10] Bryan Cantrill and Jeff Bowick, "Real-World Concurrency". ACM Queue, September 2008.
[11] Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy, "Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism". ACM SIGOPS Operating Systems Review, Volume 25, Issue 5, Oct. 1991.
[12] Aul Adya, Jon Howell, Marvin Theimer, William Bolosky, John R. Douceur, "Cooperative Task Management without Manual Stack Management". Proceedings of the 2002 Usenix Annual Technical Conference, Monterey, CA, June 2002.
[13] Donald E. Porter and Emmet Witchel, "Operating Systems Should Provide Transactions", Proceedings of the 12th conference on Hot topics in operating systems (HotOS'9)
Virtualization (finalized):
[14] Gerald J. Popek and Robert P. Goldberg, "Formal Requirements for Virtualizable Third Generation Architectures". Communications of the ACM, Vol. 17, No. 7, July 1974, pp. 412 - 421.
[15] Keith Adams and Ole Agesen, "A Comparison of Software and Hardware Techniques for x86 Virtualization". Proceedings of the ASPLOS'06, October 2006, San Jose, CA.
[16] Carl A. Waldspurger, "Memory Resource Management in VMWare ESX Server". Proceedings of OSDI'02.
[17] B. Yee, D. Sehr, G. Dardyk, J.B. Chen, R. Muth, T. Ormandy, S. Okasaka, N. Narula, and N. Fullagar, "Native Client: A Sandbox for Portable, Untrusted x86 Native Code". Proceedings of the 2009 IEEE Symposium on Security and Privacy.
Local File Systems (finalized):
[18] Marshall K. McKusick, William N. Joy, Samuel J. Leffler, and Robert S. Fabry, "A Fast File System for UNIX". ACM transactions on Computer Systems, Vol. 2, No. 3, August 1984, pp. 181-197.
[19] Mendel Rosenblum and John K. Ousterhout, "The Design and Implementation of a Log-Structured File System". Proceedings fo the 13th ACM Symposium on Operating Systems Principles.
[20] David Woodhouse, "JFFS : The Journalling Flash File System". Ottawa Linux Symposium 2001.
Supporting Multicore (finalized):
[21] S. Boyd-Wickizer, A.T.Clements, Y.Mao, A.Pesterev, M.F. Kaashoek, R. Morris, and N. Zeldovich, ``An Analysis of Linux Scalability to Many Cores''. OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation.
[22] Andi Kleen, ``Linux multi-core scalability''. Proceedings of the Linux-Kongress, October 2009.