
CSE 451, Introduction to Operating Systems, Winter 2014
Projects
Projects should be discussed on the appropriate thread of the class discussion board.
Grades for projects and exams will be posted in a Catalyst GradeBook here.
- Project 0: C programming warm-up
- Assigned: Wednesday January 8th
- Due: Friday January 17th at 11:59 p.m. (electronic submission)
- Project 1: System Calls and Shells
- Assigned: Friday January 17th
- Due: Friday January 31st at 11:59 p.m. (electronic submission)
- Team Assignments
- Project 2: User-level threads
- Assigned: Friday January 31
- Due: Parts 1, 2, and 3: Sunday February 16 at 11:59 p.m. (electronic submission)
- Due: Parts 4, 5, and 6: Sunday March 2 at 11:59 p.m. (electronic submission, including report)
- Project 3: Undelete
- Assigned: Sunday March 2
- Due: Sunday March 16 at 11:59 p.m. (electronic submission)
- Confidential Peer Assessment
- In order to receive credit for Project 3, you must complete the peer assessment survey.
- Due: Sunday March 16 at 11:59 p.m.
A note on the Linux projects: There will inevitably be some ambiguities or errors in the project descriptions. We apologize for these. We try hard to eliminate them before distributing the projects. However the Linux kernel changes somewhat rapidly, and there are bound to be some cases where we fail to update the project descriptions to exactly match the code. (Believe us - the projects are in much better shape than the last time we ran this course!) We don't want anybody to waste time dealing with these problems, so two reminders: First, if you encounter something that's confusing or possibly erroneous, please don't suffer in silence, but post to the discussion board and/or send us e-mail so that we can clarify things. Second, please check the discussion board regularly, so that you can learn about these problems when other students encounter them and avoid puzzling over them on your own.
Project Resources
- CSE 451-oriented git tutorial
- Ctags tutorial
- Cscope tutorial
- Some Linux resources
- UW ACM tutorials for UNIX, C, Emacs, etc.
- A very basic tutorial on gcc and gdb (ppt, pdf)
- C tutorial plus some advanced C features (ppt, pdf)
- A bigger GDB tutorial
- How to debug kernel code (from Linux Device Drivers book)
- Emacs reference
- Refreshing your C skills:
- Course Home
- Administrivia
- Materials
- Assignments
- Information
Computer Science & Engineering University of Washington Box 352350 Seattle, WA 98195-2350 (206) 543-1695 voice, (206) 543-2969 FAX