CS 423, Fall 2012

Operating Systems Design

 

 

Projects

 

If you are taking the course for 4 credit, an extra team assignment is required from you (in teams of 2-3 people).

 

The Assignment:

 

1. Develop deep expertise on an applied operating systems topic.

2. Develop a 40 minute presentation on your topic (by middle of semester).

3. Best presentations are selected to share with whole class (online students will need to use Skype or equivalent to present or to record their presentation).

4. Develop and demonstrate a piece of software that builds on your expertise with the topic.

 

The Topics:

 

The topics below were voted on in class. Multiple groups are allowed per topic (at the discretion of the instructor). If a topic is very popular, the different groups will specialize in different aspects. Next to each topic, a suggested software project is mention to satisfy requirement #4 of the assignment (as described above).

 

1. Android OS (Project may include a novel Android application or an Android-based service. One example is GreenGPS.)

2. Operating system drivers (project may include low-level OS development, including embedded operating systems, sensor networks, wearable computing, or communication)

3. Networking protocol stack implementation in Linux (project may include novel networking components or services such as NDN)

4. Exploits (project may include privacy or security issues such as attack detection and prevention)

5. Errors, process races, diagnostics and recovery (project may include self-diagnostic or self-healing services)

6. Understanding the boot sequence on Linux (project may include Linux modifications)

7. The single system image (project may include distributed operating systems and middlware)

8. Energy (project may include green computing, energy efficiency, or power management)

 

Note: Other requested topics that are closely related to the current areas of the syllabus will be presented by the instructor when those areas are covered (see schedule).

 

Timeline

 

By Sept 5th: Sign up for topics on Piazza

By Sept 10th: Team finalized

By Sept 17th: Project abstract (1 page) due to instructor. Must propose: (i) A tutorial component to share with class, and (ii) a project to build a piece of software

Week of Sept 24th: First project meeting with instructor (and schedule future meeting times)

October 22nd: Draft (slides) of tutorial to share with class and midterm check on software progress.

November 16th: Final (slides) of tutorial to share with instructor.

Week of Nov 26th and week of Dec 3rd: Presentations.

Week of Dec 10th: Software demo (by appointment)

December 12th: Documented software delivered (with brief description).