Instructor: Thu D. Nguyen
Time & Location: W 6-9pm, CoRE A
Announcements
| Midterm | Assignment 1 | Assignment 2 | Assignment 3 | Final | |
| Average | 59.6 | 65.6 | 78.7 | 91.3 | 59.6 |
| Median | 63 | 75 | 91 | 100 | 58.5 |
| High | 87 | 100 | 100 | 100 | 80 |
Programming Assignments:
Acknowledgement: Assignments are partly based on John Zahorjan's Linux Projects for Undergraduate Operating System Courses and on Ricardo Bianchini's previous CS 519.
Schedule:
I would like a student to take note for each lecture and make it available to the rest of the class. Notes should be typed up using Latex. Send me (tdnguyen@cs.rutgers.edu) a tar of the latex source and any figures or anything else that you have included as well as a PDF file that I can post.
Note that I do NOT guarantee the correctness of these notes!! I do read each one and insert some comments where I think the author has gotten something important not quite right. I for sure do not correct everything that I think deviate from my "thoughts" as I was lecturing. It's up to each individual to cross-check the correctness of the notes with their understanding of the lectures. If you don't understand something, you had better ask. I have posted the source so that you expand on them as needed for your thoughts and study.
9/03 Introduction
- Notes: Chen Fu (source), Tuan Phan (source)
- Background: SGG Chapters 1-3.
- Dennis M. Ritchie and Ken Thompson. The UNIX Timesharing System. Communications of the ACM 17(7), July 1974.
9/10 Processes, Threads & Synchronization
- Notes: Martin Constantine (source), Vijay Lakshminarayanan (source)
- Background: SGG Chapters 4, 5 & 7.
- R. Pike, D. Presotto, S. Dorward, B. Flandrena, K. Thompson, H. Trickey, P. Winterbottom. Plan 9 from Bell Labs. Computing Systems, Vol 8 #3, Summer 1995, pp. 221-254.
- A. D. Birrell. An Introduction to Programming with Threads. SRC Research Report 35, 1989.
- M. Herlihy. A Methodology for Implementing Highly Concurrent Data Objects. ACM Transactions on Programming Languages, volume 15, number 5, 1993.
9/17 Processor Scheduling
- Notes: Neeti Arora (source), Arati Baliga (source)
- Background: SGG Chapter 6.
- C. Waldspurger and W. Weihl. Lottery Scheduling: Flexible Proportional-Share Resource Management. Proceedings of the First USENIX Symposium on Operating System Design and Implementation , November 1994.
- Kenneth J. Duda and David R. Cheriton. Borrowed-Virtual-Time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP), Dec. 1999.
9/24 Virtual Memory
- Notes: Christopher Gates (source)
- Background: SGG Chapters 9 & 10.
- R. Rashid, A.Tevanian, M. Young, D. Golub, R. Baron, D. Black, W. Bolosky, and J. Chew. Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures. In Proceedings of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), October 1987.
- J. Chase, H. Levy, M. Feeley, and E. Lazowska. Sharing and Protection in a Single Address Space Operating System. ACM Trans. on Computer Systems, November 1994.
10/01 File Systems
- Notes: James Jones (source), Scott Battaglia (source)
- Background: SGG Chapters 11-14.
- M. K. McKusick, W. N. Joy, S.J. Leffler, and R. S. Fabry. A Fast File System for UNIX. ACM Trans. on Computer Systems 2(3), August 1984, pp. 181-197.
10/08 Gone to conference
10/15 File Systems, Communication
- Notes: Samuel Lo, Fan Zhang (source)
- M. Rosenblum and J. K. Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Trans. on Computer Systems 10(1), February 1992, pp. 26-52.
- Background: SGG Chapter 15.
10/22 Communication
- Notes: Marina Surlevich (source), Kien Le (source)
- A. Basu, V. Buch, W. Vogels, and T. von Eicken. U-Net: A User-Level Network Interface for Parallel and Distributed Computing. Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP), December 1995.
- R. Santos, R. Bianchini, and C. L. Amorim. A Survey of Messaging Software Issues and Systems for Myrinet-Based Clusters. In Parallel and Distributed Computing Practices, special issue on High-Performance Computing on Clusters, volume 2, number 2, June 1999.
- Andrew D. Birrell and Bruce Jay Nelson. Implementing Remote Procedure Calls . ACM Trans. on Computer Systems 2(1), February 1984, pp. 39-59.
10/29 Midterm
11/05 Distributed Systems Fundamentals
- Notes: Martin Constantine (source)
- Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, Volume 21 , Issue 7 (July 1978).
- M. Fischer, N. A. Lynch, and M. S. Patterson. Impossibility of distributed consensus with one faulty processor. Journal of the ACM, 32(2):374-382, April 1985.
- J. Gray. The transaction concept: virtues and limitation. Proceedings of the 7th VLDB Conference, 1981
11/12 Distributed File Systems
- Slides (Lecture will be given by Ricardo Bianchini. Thanks Ricardo!!)
- M. N. Nelson, B. B. Welch, and J. K. Ousterhout. Caching in the Sprite Network File System. ACM Trans. on Computer Systems 6(1), February 1988, pp. 134-154.
- Submit summary. View summaries.
- Here are two NFS RFCs for comparison. You should skim the first one. The second one is really long so you should just briefly look at it for interesting changes.
- Edward K. Lee and Chandramohan A. Thekkath. Petal: distributed virtual disks. In Proceedings of the seventh international conference on Architectural support for programming languages and operating systems, 1996.
- C. A. Thekkath, T. Mann, and E. K. Lee. Frangipani: A Scalable Distributed File System. In Proceedings of the 16th ACM Symposium on Operating Systems Principles, October 1997.
11/19 Cluster
- Notes: Scott Battaglia (source), Kien Le (source)
- Kenneth P. Birman, The Process Group Approach to Reliable Distributed Computing. Communications of the ACM (CACM), 36(12):37-53, December 1993.
- Y. Saito, B. Bershad, and H. Levy. Manageability, Availability and Performance in Porcupine: A Highly Scalable Internet Mail Service . Proc. of the 17th ACM Symp. on Operating Systems Principles, Dec. 1999.
- M. Welsh, D. Culler, E. Brewer. SEDA: An Architecture for Well-Conditioned, Scalable Internet Services. Proc. of the 18th ACM. Symp. on Operating Systems Principles, Oct. 2001.
11/26 No class: Rutgers magic, Friday classes
12/03 Structure and Organization
- Notes: Brian Russell
- J. Liedtke. On micro-kernel construction. Proceedings of the fifteenth ACM symposium on Operating systems principles. Dec, 1995.
- 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.
12/10 Dependable Systems
- F. Cristian. Understanding fault-tolerant distributed systems. Communications of the ACM, Volume 34 , Issue 2 (February 1991).
- D. Oppenheimer, A. Ganapathi, and D. A. Patterson. Why do Internet services fail, and what can be done about it? In Proceedings of 4th Usenix Symposium on Internet Technologies and Systems (USITS ‘03), 2003.