CS 414: Operating Systems
Fall 2002
TR 10:10-11:25am, Olin 255
 
 
Programming Assignments and Homeworks

This page is designed to give an overview of the planned assignments. My tentative plan is to have a combination of programming assignments and homework assignments (~4 or 5). Until an assignment is posted in detail, this information is highly tentative!!! 

The first assignment will involve using various monitoring programs under Windows (e.g. perfmon, psview) and Linux (e.g ps, vmstat) to get a better feeling for the activities monitored by the OS.

The second assignment will be to write a shell program (like a Command Prompt or csh/bsh shell). I anticipate that this will be the largest assignment.

The third assignment will likely be a multithreaded application involving synchronization of access to shared data structures.

The fourth assignment will be to add a system call to the Linux kernel and test a variety of OS failure conditions by introducing bugs into your new system call.

I may assign some smaller programming assignments that explore various OS features - like signals, events, pipes, etc or possibly an exercise in porting an application between OSes or maybe an exercise in performance evaluation/tuning of an application. If so, these assignments will be fairly straightforward. I also may assign several OS research papers to read. Whether or not we do these additional assignments will depend on the pace of the class.

Exams
I plan to have two examinations - a midterm exam and a final. I will announce the midterm date soon and I will announce the final date when the schedule is released by the University.

Suggestions for MEng/490 Projects Related to 414

If you are interested in doing an MEng project or undergrad research projectrelated to operating systems, you may take up to 4 credits of CS490/790 as well as CS414. If you are interested in doing this, you should submit a project plan to me (preferably within the first three weeks of class). The project itself would then be due on the first day of finals week.

Here are some suggestions. Also feel free to stop by and discuss the possibilities with me.

You could make a modification to the Linux kernel and/or make an addition to the Linux platform (can even be documentation of existing open source software) to submit to the IBM Linux Challenge.

Lockheed Martin is interested in sponsoring a project team (probably 3-5 students) to port software that controls a small unmanned helicopter from C on QnX toC++ on Linux.

 
 
Questions? Contact Jeanna Matthews