Systems Practicum Tom Roeder CS415 2005sp What is this class about? Apply the theory learned in 414 C hacking for fun and profit Synchronization, Networking, and many others Build a system from a virtual ground Learn to debug a complex system “cutting-edge systems design” What is on the cutting edge now? The Project: Ad-hoc networking Ad-hoc networking Establishment and maintenance of a communication network in the absence of a fixed infrastructure Normally done over wireless (eg 802.11b) We will build a simple ad hoc network and an application over it We have suggested applications, but you can come talk to me about proposals Where do we start? Need an environment over which to build Start with lightweight threads You will build a simple virtual “OS” over NT We provide a bare environment like at boot time Need to add context switches Need synchronization Need a scheduler Instructions posted on web. Follow them. Due in two weeks (11 Feb) Where do we go from there? Part II – Preemption, Alarms, and Schedulers Part III – Unreliable Networking Part IV – Reliable Networking Part V – Ad-Hoc Networking Part VI – Ad-Hoc Application Suggested: Messaging Distributed Files CPU sharing Groups Size 2 or 3 We will not take the size of your group into consideration when judging your work ie. Smaller groups are at a disadvantage See the guidelines online for tips in how to work well (or poorly) in groups The grade for the group will be your grade What if my code doesn’t work? As long as there is good faith effort about 50% of the grade for that part of the project The TAs will not fix it We will not be handing out solutions You will be building your whole system from scratch Grading Parts I + II: 10% each Parts III + IV: 15% each Parts V + VI: 20% each 10% subjective Challenge sections “for the Adventurous” Extra components in some parts Will be examined and commented on if the base work is sufficient Will not be graded