CSc 6522: Readings
Here is the initial reading list for the semester. We will change as needed.
  1. Historic Papers
    1. F. J. Corbató, and V. A. Vyssotosky, “Introduction and Overview of the Multics System,” Proceedings of the AFIPS Fall Joint Computer Conference, 1965, pp. 185–196.   [dld]
    2. Graham, Robert M., “Protection in an information processing utility,” Commun. ACM, Vol. 11, No. 5 (1968), pp. 365–369.   [dld]
    3. Dijkstra, Edsger W., “The structure of the “THE”-multiprogramming system,” Commun. ACM, Vol. 11, No. 5 (1968), pp. 341–346.   [dld]
    4. Ritchie, Dennis M. and Thompson, Ken, “The UNIX Time-sharing System,” Commun. ACM, Vol. 17, No. 7 (1974), pp. 365–375.   [dld]
    5. Dennis M Ritchie, “The Evolution of the Unix Time-Sharing System,” AT&T Bell Laboratories Technical Journal, Vol. 63, No. 6 part 2 (Oct. 1984), pp. 1577–93.   [dld]
  2. File Systems
    1. McKusick, Marshall K., Joy, William N., Leffler, Samuel J. and Fabry, Robert S., “A fast file system for UNIX,” ACM Trans. Comput. Syst., Vol. 2, No. 3 (1984), pp. 181–197.   [dld]
      This is the BSD file system; all Unix flavors eventually adopted some variation on this.
    2. Ganger, Gregory R., McKusick, Marshall Kirk, Soules, Craig A. N. and Patt, Yale N., “Soft updates: a solution to the metadata update problem in file systems,” ACM Trans. Comput. Syst., Vol. 18, No. 2 (2000), pp. 127–153.   [dld]
      An optimization used in the BSD systems.
    3. Tweedie, Stephen C., “Journaling the Linux ext2fs Filesystem,” Proceedings of the 4th Annual Linux Expo, 1998.   [dld]
    4. Rosenblum, Mendel and Ousterhout, John K., “The design and implementation of a log-structured file system,” ACM Trans. Comput. Syst., Vol. 10, No. 1 (1992), pp. 26–52.   [dld]
      All data written to a sequential log, not just metadata logging like NTFS or ext3.
    5. Prabhakaran, Vijayan, Arpaci-Dusseau, Andrea C., and Arpaci-Dusseau, Remzi H., “Analysis and Evolution of Journaling File Systems,” Proceedings of the USENIX 2005 Annual Technical Conference, General Track, Anaheim, CA, Apr. 10–15, 2005, pp. 105–120.   [dld]
    6. Frost, Christopher, Mammarella, Mike, Kohler, Eddie, Reyes, Andrew de los, Hovsepian, Shant, Matsuoka, Andrew and Zhang, Lei, “Generalized file system dependencies,” SOSP '07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, Stevenson, Washington, USA, 2007, pp. 307–320.   [dld]
    7. Wright, Charles P., Spillane, Richard, Sivathanu, Gopalan and Zadok, Erez, “Extending ACID semantics to the file system,” ACM Trans. Storage, Vol. 3, No. 2 (2007), pp. 4.   [dld]
    8. Porter, Donald E., Hofmann, Owen S., Rossbach, Christopher J., Benn, Alexander and Witchel, Emmett, “Operating System Transactions,” Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles, Big Sky, Montana, USA, 2009, pp. 161–176.   [dld]
    9. Shin, Ji-Yong, Balakrishnan, Mahesh, Marian, Tudor and Weatherspoon, Hakim, “Isotope: Transactional Isolation for Block Storage,” Proceedings of the 14th Usenix Conference on File and Storage Technologies, Santa Clara, CA, 2016, pp. 23–37.   [dld]
    10. Josephson, William K., Bongo, Lars A., Li, Kai and Flynn, David, “DFS: A File System for Virtualized Flash Storage,” ACM Trans. Storage, Vol. 6, No. 3 (2010), pp. 14:1–14:25.   [dld]
    11. Bruijn, de, Willem, , Bos, , Herbert, , Bal, and Henri, , “Application-Tailored I/O with Streamline,” ACM Trans. Comput. Syst., Vol. 29, No. 2 (2011), pp. 6:1–6:33.   [dld]
    12. Bhat, Srivatsa S., Eqbal, Rasha, Clements, Austin T., Kaashoek, M. Frans and Zeldovich, Nickolai, “Scaling a File System to Many Cores Using an Operation Log,” Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China, 2017, pp. 69–86.   [dld]
  3. Multicore Architectures
    1. Boyd-Wickizer, Silas, Chen, Haibo, Chen, Rong, Mao, Yandong, Kaashoek, Frans, Morris, Robert, Pesterev, Aleksey, Stein, Lex, Wu, Ming, Dai, Yuehua, Zhang, Yang and Zhang, Zheng, “Corey: An Operating System for Many Cores,” Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, San Diego, California, 2008, pp. 43–57.   [dld]
    2. Baumann, Andrew, Barham, Paul, Dagand, Pierre-Evariste, Harris, Tim, Isaacs, Rebecca, Peter, Simon, Roscoe, Timothy, Schüpbach, Adrian and Singhania, Akhilesh, “The Multikernel: A New OS Architecture for Scalable Multicore Systems,” Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles, Big Sky, Montana, USA, 2009, pp. 29–44.   [dld]
    3. Blagodurov, Sergey, Zhuravlev, Sergey and Fedorova, Alexandra, “Contention-Aware Scheduling on Multicore Systems,” ACM Trans. Comput. Syst., Vol. 28, No. 4 (2010), pp. 8:1–8:45.   [dld]
    4. Nguyen, Donald and Pingali, Keshav, “Synthesizing Concurrent Schedulers for Irregular Algorithms,” ACM SIGPLAN Not., Vol. 47, No. 4 (2011), pp. 333–344.   [dld]
    5. Singh, Amit Kumar, Dziurzanski, Piotr, Mendis, Hashan Roshantha and Indrusiak, Leandro Soares, “A Survey and Comparative Study of Hard and Soft Real-Time Dynamic Resource Allocation Strategies for Multi-/Many-Core Systems,” ACM Comput. Surv., Vol. 50, No. 2 (2017), pp. 24:1–24:40.   [dld]
  4. Containers and virtualization
    1. Bryan Ford and Russ Cox, “Vx32: Lightweight, User-level Sandboxing on the x86,” Proceedings of the 2008 USENIX Annual Technical Conference, Boston, MA, USA, June 22–27, 2008.   [dld]
    2. Soltesz, Stephen, Pötzl, Herbert, Fiuczynski, Marc E., Bavier, Andy and Peterson, Larry, “Container-based Operating System Virtualization: A Scalable, High-performance Alternative to Hypervisors,” ACM SIGOPS Oper. Syst. Rev., Vol. 41, No. 3 (2007), pp. 275–287.   [dld]
    3. Osman, Steven, Subhraveti, Dinesh, Su, Gong and Nieh, Jason, “The design and implementation of Zap: a system for migrating computing environments,” ACM SIGOPS Oper. Syst. Rev., Vol. 36, No. SI (2002), pp. 361–376.   [dld]
    4. Kivity, Avi, Laor, Dor, Costa, Glauber, Enberg, Pekka, Har'El, Nadav, Marti, Don and Zolotarov, Vlad, “OSv: Optimizing the Operating System for Virtual Machines,” Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference, Philadelphia, PA, 2014, pp. 61–72.   [dld]
    5. Manco, Filipe, Lupu, Costin, Schmidt, Florian, Mendes, Jose, Kuenzer, Simon, Sati, Sumit, Yasukata, Kenichi, Raiciu, Costin and Huici, Felipe, “My VM is Lighter (and Safer) Than Your Container,” Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China, 2017, pp. 218–233.   [dld]
    6. Hong, Cheol-Ho, Spence, Ivor and Nikolopoulos, Dimitrios S., “GPU Virtualization and Scheduling Methods: A Comprehensive Survey,” ACM Comput. Surv., Vol. 50, No. 3 (2017), pp. 35:1–35:37.   [dld]
    7. Nitu, Vlad, Olivier, Pierre, Tchana, Alain, Chiba, Daniel, Barbalace, Antonio, Hagimont, Daniel and Ravindran, Binoy, “Swift Birth and Quick Death: Enabling Fast Parallel Guest Boot and Destruction in the Xen Hypervisor,” ACM SIGPLAN Not., Vol. 52, No. 7 (2017), pp. 1–14.   [dld]
  5. Microkernels
    1. Heiser, Gernot and Elphinstone, Kevin, “L4 Microkernels: The Lessons from 20 Years of Research and Deployment,” ACM Trans. Comput. Syst., Vol. 34, No. 1 (2016), pp. 1:1–1:29.   [dld]
  6. Distributed Systems
    1. Tanenbaum, Andrew S. and Renesse, Robbert Van, “Distributed operating systems,” ACM Comput. Surv., Vol. 17, No. 4 (1985), pp. 419–470.   [dld]
    2. Milojičić, Dejan S., Douglis, Fred, Paindaveine, Yves, Wheeler, Richard and Zhou, Songnian, “Process migration,” ACM Comput. Surv., Vol. 32, No. 3 (2000), pp. 241–299.   [dld]
    3. Aguilera, Marcos K., Merchant, Arif, Shah, Mehul, Veitch, Alistair and Karamanolis, Christos, “Sinfonia: A new paradigm for building scalable distributed systems,” ACM Trans. Comput. Syst., Vol. 27, No. 3 (2009), pp. 1–48.   [dld]
    4. Lee, Janghaeng, Samadi, Mehrzad, Park, Yongjun and Mahlke, Scott, “SKMD: Single Kernel on Multiple Devices for Transparent CPU-GPU Collaboration,” ACM Trans. Comput. Syst., Vol. 33, No. 3 (2015), pp. 9:1–9:27.   [dld]
  7. Distributed File Systems
    1. Ghemawat, Sanjay, Gobioff, Howard and Leung, Shun-Tak, “The Google File System,” ACM SIGOPS Oper. Syst. Rev., Vol. 37, No. 5 (2003), pp. 29–43.   [dld]
    2. Lakshman, Avinash and Malik, Prashant, “Cassandra: A Decentralized Structured Storage System,” ACM SIGOPS Oper. Syst. Rev., Vol. 44, No. 2 (2010), pp. 35–40.   [dld]
    3. Nightingale, Edmund B., Chen, Peter M. and Flinn, Jason, “Speculative execution in a distributed file system,” SOSP '05: Proceedings of the twentieth ACM symposium on Operating systems principles, Brighton, United Kingdom, 2005, pp. 191–205.   [dld]
    4. Robert Escriva and Emin Gün Sirer, “The Design and Implementation of the Warp Transactional Filesystem,” Proceedings of the 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16), Santa Clara, CA, March 16–18, 2016, pp. 469–483.   [dld]
  8. Passwords
    1. Morris, Robert and Thompson, Ken, “Password security: a case history,” Commun. ACM, Vol. 22, No. 11 (1979), pp. 594–597.   [dld]
    2. Dinei Florêncio and Cormac Herley, “Do Strong Web Passwords Accomplish Anything?,” Proceedings of the Second USENIX Workshop on Hot Topics in Security, Aug. 7, 2007, Boston, MA, USA.   [dld]
  9. Security Architecture
    1. W. A. Arbaugh, D. J. Farber, and J. M. Smith, “A Secure and Reliable Bootstrap Architecture,” Proceedings of the IEEE Symposium on Security and Privacy, May 1997, 65–71.   [dld]
    2. Shapiro, Jonathan S., Smith, Jonathan M. and Farber, David J., “EROS: a fast capability system,” SOSP '99: Proceedings of the seventeenth ACM symposium on Operating systems principles, Charleston, South Carolina, United States, 1999, pp. 170–185.   [dld]
    3. Vasudevan, Amit, Yerraballi, Ramesh and Chawla, Ashish, “A high performance Kernel-Less Operating System architecture,” ACSC '05: Proceedings of the Twenty-eighth Australasian conference on Computer Science, Newcastle, Australia, 2005, pp. 287–296.   [dld]
    4. Peter Loscocco and Stephen Smalley, “Integrating Flexible Support for Security Policies into the Linux Operating System,” Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference, Boston, MA, USA, June 25–30, 2001.   [dld]
    5. Shalev, Noam, Keidar, Idit, Weinsberg, Yaron, Moatti, Yosef and Ben-Yehuda, Elad, “WatchIT: Who Watches Your IT Guy?,” Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China, 2017, pp. 515–530.   [dld]
    6. Wang, Shuai, Wang, Pei, Liu, Xiao, Zhang, Danfeng and Wu, Dinghao, “CacheD: Identifying Cache-Based Timing Channels in Production Software,” Proceedings of the 26th USENIX Security Symposium (USENIX Security 17), Vancouver, BC, 2017, pp. 235–252.   [dld]
    7. Brasser, Ferdinand, Davi, Lucas, Gens, David, Liebchen, Christopher and Sadeghi, Ahmad-Reza, “CAn't Touch This: Software-only Mitigation against Rowhammer Attacks targeting Kernel Memory,” Proceedings of the 26th USENIX Security Symposium (USENIX Security 17), Vancouver, BC, 2017, pp. 117–130.   [dld]
  10. Reducing Bugs in the OS
    1. Chou, Andy, Yang, Junfeng, Chelf, Benjamin, Hallem, Seth and Engler, Dawson, “An empirical study of operating systems errors,” SOSP '01: Proceedings of the eighteenth ACM symposium on Operating systems principles, Banff, Alberta, Canada, 2001, pp. 73–88.   [dld]
    2. Rob Johnson and David Wagner, “Finding User/Kernel Pointer Bugs with Type Inference,” Proceedings of the 13th USENIX Security Symposium, San Diego, CA, Aug. 9–13, 2004, pp. 119–134.   [dld]
    3. Lu, Shan, Park, Soyeon, Hu, Chongfeng, Ma, Xiao, Jiang, Weihang, Li, Zhenmin, Popa, Raluca A. and Zhou, Yuanyuan, “MUVI: automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs,” SOSP '07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, Stevenson, Washington, USA, 2007, pp. 103–116.   [dld]
    4. Vinod Ganapathy, Arini Balakrishnan, Michael M. Swift, and Somesh Jha, “Microdrivers: A New Architecture for Device Drivers,” Proceedings of the HotOS XI: 11th Workshop on Hot Topics in Operating Systems, San Diego, CA, May 7–9, 2007.   [dld]
    5. Williams, Dan, Reynolds, Patrick, Walsh, Kevin, Sirer, Emin Gün and Schneider, Fred B., “Device Driver Safety Through a Reference Validation Mechanism,” Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, San Diego, California, 2008, pp. 241–254.   [dld]
    6. Yip, Alexander, Wang, Xi, Zeldovich, Nickolai and Kaashoek, M. Frans, “Improving application security with data flow assertions,” SOSP '09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, Big Sky, Montana, USA, 2009, pp. 291–304.   [dld]
    7. Ryzhyk, Leonid, Keys, John, Mirla, Balachandra, Raghunath, Arun, Vij, Mona and Heiser, Gernot, “Improved Device Driver Reliability Through Hardware Verification Reuse,” ACM SIGARCH Comput. Archit. News, Vol. 39, No. 1 (2011), pp. 133–144.   [dld]
    8. Palix, Nicolas, Thomas, Gaël, Saha, Suman, Calvès, Christophe, Lawall, Julia and Muller, Gilles, “Faults in Linux: Ten Years Later,” ACM SIGARCH Comput. Archit. News, Vol. 39, No. 1 (2011), pp. 305–318.   [dld] This is a followup to the first paper in this section.
    9. Wang, Xi, Zeldovich, Nickolai, Kaashoek, M. Frans and Solar-Lezama, Armando, “A Differential Approach to Undefined Behavior Detection,” ACM Trans. Comput. Syst., Vol. 33, No. 1 (2015), pp. 1:1–1:29.   [dld]
    10. Nelson, Luke, Sigurbjarnarson, Helgi, Zhang, Kaiyuan, Johnson, Dylan, Bornholt, James, Torlak, Emina and Wang, Xi, “Hyperkernel: Push-Button Verification of an OS Kernel,” Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China, 2017, pp. 252–269.   [dld]
    11. Pan, Jianfeng, Yan, Guanglu and Fan, Xiaocao, “Digtool: A Virtualization-Based Framework for Detecting Kernel Vulnerabilities,” Proceedings of the 26th USENIX Security Symposium (USENIX Security 17), Vancouver, BC, 2017, pp. 149–165.   [dld]
    12. Machiry, Aravind, Spensky, Chad, Corina, Jake, Stephens, Nick, Kruegel, Christopher and Vigna, Giovanni, “DR. CHECKER: A Soundy Analysis for Linux Kernel Drivers,” Proceedings of the 26th USENIX Security Symposium (USENIX Security 17), Vancouver, BC, 2017, pp. 1007–1024.   [dld]
  11. Containing Bugs
    1. Qin, Feng, Tucek, Joseph, Zhou, Yuanyuan and Sundaresan, Jagadeesan, “Rx: Treating bugs as allergies—a safe method to survive software failures,” ACM Trans. Comput. Syst., Vol. 25, No. 3 (2007), pp. 7.   [dld]
    2. Costa, Manuel, Castro, Miguel, Zhou, Lidong, Zhang, Lintao and Peinado, Marcus, “Bouncer: securing software by blocking bad input,” SOSP '07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, Stevenson, Washington, USA, 2007, pp. 117–130.   [dld]
    3. Lenharth, Andrew, Adve, Vikram S. and King, Samuel T., “Recovery domains: an organizing principle for recoverable operating systems,” ASPLOS '09: Proceeding of the 14th international conference on Architectural support for programming languages and operating systems, Washington, DC, USA, 2009, pp. 49–60.   [dld]
    4. Sidiroglou, Stelios, Laadan, Oren, Perez, Carlos, Viennot, Nicolas, Nieh, Jason and Keromytis, Angelos D., “ASSURE: automatic software self-healing using rescue points,” ASPLOS '09: Proceeding of the 14th international conference on Architectural support for programming languages and operating systems, Washington, DC, USA, 2009, pp. 37–48.   [dld]

71 papers listed.