|Semester project proposal, milestone* and final report||30%|
|Class projects and end of semester presentation / demonstration||50%|
* The project milestone is a mid-semester report that will act as a skeleton for the final report. It should be similar to the final report with any preliminary results included, where appropriate. You should try to write your final report in the same format as the papers we will read and discuss in the course. The best papers will be selected as potential candidates for submission to conferences.
||Discussion of course outline
||Bovet and Cesati, Chapters 1-3
||Class rescheduled due to holiday.
For those unfamiliar with kernel internals here is a primer to help you write system calls and kernel modules.
||Holiday, no class|
 -- Jason
 -- Luis [PPT]
 -- Dan K.
 --- Vance Chen
 -- Meghan Callahan
 -- Snyder
|Tuesday is Monday schedule
 -- Snyder [PPT]
 -- Mike Keefe [PPT]
[pinwheel] -- Pete Swan [PPT]
[16,17] -- Snyder[PPT]
[vds] -- Dana Zhang
|March 8||Spring Break -- No class!|
||Synchronization; Extensible Systems||
 -- Andrew
 -- Rouben
||Professor West gave two presentations
|| -- Jason G.
 -- Albert [PPT ]
|| Virtual machines
|| -- Anu
 -- Luis
|April 12||Communication mechanisms and abstractions
||  -- Greg
 -- Dan L.
||Distributed systems concepts
||  -- Alvin [PPT]
 -- Sam
Wednesday is Monday schedule.
Project Presentations (15 minutes each)
|Jason, Luis & Albert, Dan
K., Mike K., Andrew, Rouben, and Dan L.
||Project Presentations (15 minutes
Vance C., Meghan, Pete, Anu, Greg, Alvin, Sam
reports due April 30 by 5:00pm
 Dawson R. Engler, Frans Kaashoek and James O'Toole, `` Exokernel: An Operating System Architecture for Application-Level Resource Management '', Proceedings of the 15th ACM Symposium on Operating System Principles, ACM, December 1995.
 Brian Bershad et al., ``
Extensibility, Safety and Performance in the SPIN Operating System '',
Proceedings of the 15th ACM Symposium on Operating System Principles, December
 S. Oikawa and H. Tokuda, " User-level Real-Time Threads ", Proceedings of the 11th IEEE Workshop on Real-Time Operating Systems and Software, Seattle, WA, May 1994.
 R. P. Draves, B.N. Bershad, R.F. Rashid, and R.W. Dean, " Using
Continuations to Implement Thread Management and Communication in Operating
Systems ", Proceedings of the Thirteenth ACM Symposium on Operating Systems
Principles, pages 122--136, October 1991.
 R. Engelschall, "Portable Multithreading: the Signal Stack Trick for User-Space Thread Creation", in Proceedings of the USENIX Annual Technical Conference, 2000.
 Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric
Scalable Threads for Internet Services", in Proceedings of the 19th
Symposium on Operating System Principles (SOSP-19), Lake George, New York,
 C. Liu and J. Layland, "
Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment
", Journal of the ACM, 1973.
 J. Lehoczky, L. Sha, , and Y. Ding, "The Rate
Monotonic Scheduling algorithm: Exact Characterization and Average Case
Behavior", in IEEE Real-Time Systems Symposium, 1989.
 A. Atlas and A.
Rate Monotonic Scheduling", in IEEE Real-Time Systems Symposium,
 L. Sha, R. Rajkumar, and J. Lehoczky, "Priority inheritance protocols: An approach to real-time synchronization", in IEEE Transaction on Computers, September 1990.
 Pawan Goyal, Xingang Guo and Harrick M. Vin, " A Hierarchical CPU Scheduler for Multimedia Operating Systems ", 2nd Symposium on Operating Systems Design and Implementation, pp. 107-121, 1996.
 Carl A. Waldspurger and William E. Weihl, " Lottery Scheduling: Flexible Proportional-Share Resource Management ", First Symposium on Operating Systems Design and Implementation (OSDI '94), Monterey, CA, November 1994.
 Richard West, Yuting Zhang, Karsten Schwan and Christian Poellabauer, "Dynamic Window-Constrained Scheduling of Real-Time Streams in Media Servers", to appear in IEEE Transactions on Computers, 2004.
 Aloysius K. Mok and Weirong Wang, "Window-Constrained Real-Time Periodic Task Scheduling", Proceedings of the 22nd IEEE Real-Time Systems Symposium, December 2001
 Kevin Jeffay and Gerardo Lamastra, "A
Comparative Study of the Realization of Rate-Based Computing Services in General
Purpose Operating Systems."
[pinwheel] Holte, Rosier, Tulchinsky, and Varvel, "The Pinwheel: A Realtime Scheduling Problem."
[PFair] Baruah, Cohen, Plaxton, and Varvel, "Proportionate Progress: A Notion of Fairness in Resource Allocation."
[VDS] West and Zhang, "Virtual Deadline Scheduling."
[power] Aydin, Melhem, Mosee, and Alvarez, "Power-Aware Scheduling for Periodic Real-Time Tasks."
 M. Jones, D. Rosu and M. Rosu, "
CPU Reservations and Time Constraints: Efficient, Predictable Scheduling of
Independent Activities ", Proc. of the 16th ACM symposium on Operating
System Principles, St-Malo, France, pp. 198-211, Oct. 1997.
 J.A. Zinky, D.E. Bakken and R.E. Schantz, " Architectural Support for Quality of Service for CORBA Objects ", Theory and Practice of Object Systems, April, 1997. (See also: http://www.dist-systems.bbn.com/tech/QuO/ ).
 Tarek F. Abdelzaher and Kang G. Shin, `` End-host Architecture for QoS-Adaptive Communication '', IEEE Real-Time Technology and Applications Symposium, Denver, Colorado, June 1998. Ashvin Goel, David Steere, Calton Pu and Jonathan Walpole, " SWiFT: A Feedback Control and Dynamic Reconfiguration Toolkit ", OGI CSE Technical Report 98-009, poster presented at 2nd Usenix Windows NT Symposium, September 1998. (See also the Quasar project at OGI, http://www.cse.ogi.edu/sysl/ , for a detailed list of related papers).
 David C. Steere, Ashvin Goel, Joshua Gruenberg, Dylan McNamee, Calton Pu and Jonathan Walpole, " A Feedback-driven Proportion Allocator for Real-Rate Scheduling " Operating Systems Design and Implementation (OSDI), Feb 1999.
 Chenyang Lu, Tarek F. Abdelzaher, John A. Stankovic, and Sang H. Son, "A
Feedback Control Approach for Guaranteeing Relative Delays in Web Servers"
 Chris Small and Margo Seltzer, "A
Comparison of OS Extension Technologies" .
 M. I. Seltzer, Y. Endo, C. Small and K. A. Smith, "Dealing
with Disaster: Surviving Misbehaved Kernel Extensions",
in Proceedings of the 2nd Symposium on Operating Systems Design and Implementation (OSDI), 1996.
 M. Clarke and G. Coulson, "An Architecture for Dynamically Extensible Operating Systems", in Proceedings of the 4th International Conference on Configurable Distributed Systems (ICCDS'98), Annapolis, MD, USA, May 1998.
 Tzi-cker Chiueh and Ganesh Venkitachalam and Prashant Pradhan, "Integrating
Segmentation and Paging Protection for Safe, Efficient and Transparent Software
Extensions", in Proceedings of the Symposium on Operating Systems
 Michael Jones, "Interposition
Agents: Transparently Interposing User Code at the System Interface"
 Richard West and Jason Gloudon, "User-Level
Sandboxing: A Safe and Efficient Mechanism for Application-Specific
Extensions", submitted for publication.
 D.A. Wallach, W.C. Hsieh, K.K. Johnson, M.F. Kaashoek and W.E. Weihl, " 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. A. Montz, D. Mosberger, S.W. O'Malley, L.L. Peterson, T.A. Proebsting and J.H. Hartman, " Scout: A Communications-Oriented Operating System ", The University of Arizona, Department of Computer Science, TR 94-20, June 1994.
 N.C. Hutchinson and L.L. Peterson, " The x-Kernel: An Architecture for Implementing Network Protocols ", IEEE Transactions on Software Engineering, 17, 1, pgs. 64-76, January 1991.
 Deborah A. Wallach, Dawson R. Engler, and M. Frans Kaashoek, "
ASHs: Application-specific Handlers for High-performance Messaging ", ACM
Communication Architectures, Protocols, and Applications (SIGCOMM '96).
 Thorsten von Eicken, Anindya Basu, Vineet Buch, Werner Vogels: "U-Net: A User-Level Network Interface for Parallel and Distributed Computing", Symposium of Operating System Principles, 1995: 40-53
 E. Kohler, R. Morris, B. Chen, J. Jannotti and M. Frans
Kaashoek, "The Click
Modular Router", ACM Transactions on Computer Systems, 18(3), August 2000,
 Mustaque Ahamad, Gil Neiger, Prince Kohli, James Burns and Phil Hutto, " Causal Memory: Definitions, Implementation and Programming ", Distributed Computing, 9(1):37-49, Aug 1995.
 P. Keleher, A. Cox and W. Zwaenepoel, " Lazy Release
Consistency for Software Distributed Shared Memory ", Proc. of the Twentieth
International Symposium on Computer Architecture, 1993.
 R. Haskin, Y. Malachi, W. Sawdon, and G. Chan, "Recovery Management in
Quicksilver", ACM Transactions on Computer Systems, 6(1), Feb. 1998, pp
 M. D. Schroeder and M. Burrows, "Performance of the Firefly RPC", in
Proc. of the 12th Symposium on Operating System Principles, 1989.
 D. Mills, "Improved Algorithms for Synchronizing Computer Network
Clocks", IEEE/ACM Transactions on Networks, 3(3), Jun. 1995, pp 245-254.
 M. Raynal and M. Singhal, "Logical Time: Capturing Causality in
Distributed Systems", in IEEE Computer, 29(2), Feb. 1996, pp 49-56.
 M. Chandy and L. Lamport, "Distributed Snapshots: Determining Global
States of Distributed Systems", ACM Transactions on Computer Systems, 3(1), Feb.
1985, pp 63-75.
 R. Schwarz and F. Mattern, "
Detecting Casual Relationshops in
Distributed Computation: In Search of the Holy Grail", Distributed Computing,
 Shrimp: http://www.cs.princeton.edu/shrimp/
 Beowulf: http://www.beowulf.org/
 QoSockets: http://www.cs.columbia.edu/dcc/qosockets/
 DWCS: http://www.cs.bu.edu/fac/richwest/dwcs.html
 User-Level Sandboxing: http://www.cs.bu.edu/fac/richwest/sandboxing.html
 Familiar Linux: http://www.handhelds.org/geeklog/index.php
 LegOS: http://www.noga.de/legOS/
 Plex86: http://plex86.sourceforge.net/
 Bochs IA-32 Emulator: http://bochs.sourceforge.net/
 User-Mode Linux: http://user-mode-linux.sourceforge.net/