For this course, we will have one simple programming project and two fairly difficult programming projects, requiring an implementaion of some aspect of operating system design using the "C" programming language. Students are expected to be fairly competent in "C", although the instructor and/or the TA can assist with diffuculties in debugging the projects.
There will be no homework assignments. There will be required reading for each class, as outlined in the syllabus below. Between reading papers and programming projects, I did not feel that other homework would be beneficial.
Students are also encouraged to help each other via postings on the class newsgroup git.cc.class.6420. If you have difficulty understanding a particular programming assignment or getting some aspect of the programming assignment working, post a newsgroup message. However, there is a fine line between helping someone and doing their work for them. I will read the newsgroup regularly, and if I feel a student has ``stepped over the line'' in helping, I'll let you know.
| Project 1 | 5% |
| Project 2 | 20% |
| Project 3 | 20% |
| Midterm | 25% |
| Final | 25% |
| Class Participation | 5% |
| Total | 100% |
| Day | Month | Date | Topic | Reading |
| Wed | Jun | 24 | Shared Memory Systems | Mellor-Crummey, J. M. and Scott, M., ``Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors", Pages 1-10, ACM Transactions on Computer Systems, Feb. 1991. |
| Fri | Jun | 26 | Shared Memory Systems | Mellor-Crummey, J. M. and Scott, M., Pages 10-18, ACM Transactions on Computer Systems, Feb. 1991. |
| Project 1 Assigned | ||||
| Mon | Jun | 29 | Shared Memory Systems | Anderson, T.E., ``The Performance Implications of Spin-Waiting Alternatives for Shared-Memory Multiprocessors", IEEE Transactions on Parallel and Distributed Systems, 1, 1, pgs. 6-16, January 1990. |
| Wed | Jul | 1 | Shared Memory Systems | Draves, R.P., Bershad, B.N., Rashid, R.F. and Dean, R.W., ``Using Continuations to Implement Thread Management and Communication in Operating Systems", Proceedings of the Thirteenth ACM Symposium on Operating System Principles, pgs. 122-136, December 1991. |
| Fri | Jul | 3 | Holiday | |
| Mon | Jul | 6 | Shared Memory Systems | Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M., ``User Level Interprocess Communication for Shared Memory Multiprocessor", ACM Transactions on Computer Systems, 9, 2, pgs. 175-198, May 1991. |
| Project 1 Due | ||||
| Project 2 Assigned | ||||
| Wed | Jul | 8 | Shared Memory Systems | Engler, D.R., Andrews, G.R., Lowenthal, D.K., ``Filaments: Efficient Support for Fine-Grain Parallelism", The Univ. of Arizona, Department of Computer Science, TR 93-13a, February 1994. |
| Fri | Jul | 10 | Post-Mortem on Program 1 and Overview of Program 2 | |
| Project 2 Design Report DUE | ||||
| Mon | Jul | 13 | Distributed Systems (Communication) | Basics on message passing and communication protocols (Silberschatz/Galvin textbook and Tenenbaum textbook). |
| Wed | Jul | 15 | Distributed Systems (Communication) | Birrell and Nelson, "Implementing Remote Procedure Calls" ACM Transactions on Computer Systems, 2, 1, pgs. 39-59. |
| Fri | Jul | 17 | Distributed Systems (Communication) | Birrell, A.D., "Secure Communication Using Remote Procedure Calls", ACM Transactions on Computer Systems, 3,1, pgs. 1-14, February 1985 |
| Mon | Jul | 20 | Distributed Systems (Communication) | Wallach, D.A., Hsieh, W.C., Johnson, K.K., Kaashoek, M.F., and Weihl,W.E., Optimistic Active Messages: A Mechanism for Scheduling Communication with Computation", Proceedings of ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (PPOPP), pgs. 217-225, July 1995. |
| Tue | Jul | 21 | Project 2 DUE BEFORE 11:59 PM | |
| Wed | Jul | 22 | Midterm | |
| Fri | Jul | 24 | Midterm Answer Key | Midterm Post-Mortem |
| Distributed Systems (Communication) | Hutchinson, N.C., Peterson, L.L., "The x-Kernel: An Architecture for Implementing Network Protocols", IEEE Transactions on Software Engineering,17,1, pgs. 64-76, January 1991. |
|||
| Mon | Jul | 27 | Distributed Systems (Communication) | x-Kernel, continued |
| Wed | Jul | 29 | Distributed Systems (Communication) | x-Kernel, continued |
| Project 3 Assigned | ||||
| Fri | Jul | 31 | File Systems | Anderson, T. et. al., Serverless Network File System, ACM Transactions on Computer Systems, February 1996. |
| Mon | Aug | 3 | Distributed Systems (Communication) | Clark, D.D., "The Structuring of Systems Using Upcalls", Proceedings of Tenth ACM Symposium on Operating Systems Principles, pgs. 171-180, Dec. 1985. |
| Wed | Aug | 5 | Distributed Systems (Concepts) | Lamport, L., ``Time, Clocks, and the Ordering of Events in a Distributed System", Communications of the ACM, 21, 7, pgs. 558-565, July 1978. |
| Fri | Aug | 7 | NO CLASS | Instructor out of town |
| Mon | Aug | 10 | Distributed Systems (Concepts) | Ricart, G. and Agrawala, A.K., ``An Optimal Algorithm for Mutual Exclusion in Computer Networks", Communication of the ACM, 24, 1, pgs. 9-17, January 1981. |
| Wed | Aug | 12 | File Systems | Rangan, P.V. and Vin, H.M., ``Designing File Systems for Digital Video and Audio" Proceedings of the Thirteenth ACM Symposium on Operating System Principles, pP. 81-94, December 1991 |
| Fri | Aug | 14 | Memory Management | Freeley et. al. ``Implementing Global Memory Management in a Workstation Cluster'', Fifteenth ACM Symposium on Operating System Principles, Dec. 1995. |
| Mon | Aug | 17 | Distributed Systems: Failures, Consistency and Recovery | Walker et al., "The LOCUS Distributed Operating System," Proceedings of the Ninth ACM Symposium on Operating Systems Principles, pgs 49-70, December 1983 |
| Wed | Aug | 19 | Distributed Systems: Failures, Consistency and Recovery | R. Haskin et. al., ``Recovery Management in QuickSilver", ACM Transactions on Computer Systems, February 1988. |
| Fri | Aug | 21 | Distributed Systems: Failures, Consistency and Recovery | Satyanarayanan, M., et al., ``Lightweight Recoverable Virtual Memory'' The Proceedings of Fourteenth ACM Symposium on Operating System Principles, pgs. 146-160, December 1993. |
| Mon | Aug | 24 | Distributed Systems: Failures, Consistency and Recovery | David E. Lowell and Peter M. Chen, ``Free Transactions With Rio Vista'', Proceedings of the Sixteenth ACM Symposium on Operating System Principles, October 1997. |
| Tue | Aug | 25 | Project 3 DUE BEFORE 11:59 PM | |
| Wed | Aug | 26 | Protection | Linden, T.A., ``Operating System Structures to Support Security and Reliable Software", Computer Surveys, 8, 4, pgs. 409-445, 1976. |
| Wed | Aug | 26 | Final exam for Graduating Seniors | 6pm, Room 101 CoC |
| Fri | Aug | 28 | Review | Final Exam Review |
| Wed | Sep | 2 | Final Exam, 8AM! |
| Student ID (anonymous) | Prog 1 | Prog 2 | Prog 3 | Participation | MidTerm | Final | Grade % | Grade Letter |
| 01 | 100 | 90 | 100 | 3 | 36 | 83 | 75.8 | C |
| 02 | 100 | 60 | 0 | 0 | 31 | 52 | 37.8 | F |
| 03 | 90 | 85 | 40 | 4 | 92 | 89 | 78.8 | B |
| 04 | 35 | 100 | 100 | 0 | 48 | 77 | 73.0 | C |
| 05 | 95 | 100 | 100 | 2 | 86 | 85 | 89.5 | A |
| 06 | 100 | 100 | 100 | 4 | 61 | 79 | 84.0 | B |
| 07 | 100 | 100 | 100 | 2 | 73 | 95 | 89.0 | A |
| 08 | 100 | 100 | 100 | 5 | 67 | 89 | 89.0 | A |
| 09 | 100 | 100 | 95 | 3 | 89 | 93 | 92.5 | A |
| 10 | 0 | 0 | 0 | 5 | 0 | 0 | 5.0 | P |
| 11 | 100 | 100 | 100 | 5 | 80 | 91 | 92.8 | A |
| 12 | 100 | 100 | 100 | 5 | 93 | 91 | 96.0 | A |
| 13 | 60 | 95 | 100 | 5 | 90 | 94 | 93.0 | A |
| 14 | 100 | 100 | 100 | 5 | 69 | 90 | 89.8 | A |
| 15 | 100 | 100 | 100 | 5 | 105 | 93 | 99.5 | A |
| 16 | 90 | 100 | 100 | 1 | 48 | 73 | 75.8 | C |
| 18 | 60 | 0 | 0 | 5 | 0 | 0 | 8.0 | W |
| 19 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | W |
| 20 | 95 | 90 | 100 | 5 | 66 | 80 | 84.3 | B |
| 21 | 100 | 100 | 100 | 5 | 95 | 87 | 95.5 | A |
| 22 | 25 | 80 | 45 | 2 | 61 | 82 | 64.0 | C |
| 23 | 85 | 100 | 100 | 3 | 64 | 67 | 80.0 | B |
| 24 | 100 | 100 | 100 | 3 | 83 | 89 | 91.0 | A |
| 25 | 95 | 95 | 100 | 5 | 71 | 62 | 82.0 | B |
| 26 | 100 | 95 | 100 | 2 | 48 | 56 | 72.0 | C |
| 27 | 100 | 100 | 100 | 5 | 70 | 79 | 87.3 | B |
| 28 | 100 | 100 | 100 | 5 | 71 | 76 | 86.8 | B |
| 29 | 100 | 100 | 100 | 5 | 75 | 91 | 91.5 | A |
| 30 | 100 | 100 | 100 | 5 | 81 | 82 | 90.8 | A |
| 31 | 100 | 100 | 100 | 5 | 99 | 92 | 97.8 | A |
| 32 | 80 | 0 | 0 | 4 | 56 | 0 | 22.0 | W |
| 33 | 95 | 95 | 100 | 2 | 93 | 89 | 91.3 | A |
| 34 | 100 | 0 | 0 | 0 | 0 | 0 | 5.0 | W |
| 35 | 100 | 100 | 100 | 4 | 80 | 91 | 91.8 | A |
| 36 | 100 | 100 | 100 | 5 | 72 | 73 | 86.3 | B |
| 37 | 90 | 100 | 100 | 4 | 80 | 83 | 89.3 | A |
| 38 | 75 | 100 | 100 | 5 | 95 | 83 | 93.3 | A |
| 39 | 90 | 100 | 80 | 5 | 80 | 85 | 86.8 | B |
| 40 | 100 | 100 | 100 | 5 | 97 | 90 | 96.8 | A |
| 41 | 85 | 100 | 100 | 1 | 75 | 82 | 84.5 | B |
| 42 | 0 | 0 | 0 | 5 | 0 | 0 | 5.0 | P |