CS 470 - Operating Systems
Spring 2007 – Guidelines for Operating Systems Case Study
Out: February 26, 2007
Topic Choice Due: Friday, March 16, 2007
Outline with References Due: 2 weeks before presentation
Draft Due: 1 week before presentation
Paper Due: 1 day before presentation


The main goal of this assignment is to report on the design of various operating systems with an emphasis on what choices were made and why they were made. The operating systems may be of a historical, current, or research interest.


Logistics

This case study must be complete in pairs (group of 2) with no exceptions. Each pair is responsible for:



In addition, the following due dates are in effect



Each pair will meet with the instructor at the time of submission of the draft to discuss the presentation. Students are encouraged to meet with the instructor more often.


Grading will be as follows: 50% of the case study grade will be on the written report. Factors include completeness of information, clarity of prose, relevance of examples. Submitting the outline and draft in a timely manner will also be considered. 50% of the case study grade will be on the presentation. Factors include clarity of presentation, fielding questions, and facilitating discussion.


Report Content

Your report should follow standard formatting for technical reports. Report sections should be titled and numbered with subsections being subnumbered. The report pages should be numbered starting with the cover page (but the cover page should not have a number printed on it). The report should include the following:


  1. An overview of the operating system including a short history and a statement of the main objectives of the operating system. A diagram of the system structure also would be helpful.

  2. Most of the report should consist of descriptions of the various design decisions made for the operating system including, but not limited to:

  1. The report should also include a discussion of any unique characteristics of the operating system. You should point out the rationale behind the choices, any unexpected interactions between design choices, and places where you might choose differently and why.

  2. Finally, your report should conclude with a discussion of why you would or would not use this operating system. That is, give a "personal reaction" to the features and capabilities of the operating system.

  3. A list of references used in the preparation of the report should be included. This list should be numbered and in alphabetical order by first author/organization. Citations in the report should be indicated using "[#]", where # is the number of the work cited in the reference list.


The written report will be handed out to the class on the day of the presentation.


Presentation

Each pair will make one 20-minute presentation on their operating system, including time for questions. Each student must provide at least 5 minutes of the presentation. The presentation should be an overview of the case study pointing out the highlights. Please do not read your entire case study to the class. Throughout the presentation, the presenters should be prepared to answer questions.


Presentation software may be used, but is not required. Overhead slides may be used. Instructor can have slides made from handouts.


Operating Systems

Here is a list of possible operating systems for study. This is certainly not an exhaustive list, though perhaps information on these operating systems is more readily available. You may suggest others, but get instructor approval FIRST!. Linux, current Windows, and RTEMS (from EE 458) will not be allowed as choices. The course website has a link to an extensive catalog and bibliography of operating system references.


  1. Amoeba - Early distributed research OS

  2. BeOS - Attempt at a multi-platform OS

  3. CP/M - Early 8-bit microcontroller OS

  4. Mac OS (System 9 and earlier)

  5. Mac OS X (System 10) - How to combine Mac GUI with microkernel Unix

  6. Mach - Early microkernel Unix, research originally at CMU

  7. MS-DOS / Windows 3.1

  8. Multics - Early time-sharing system at MIT

  9. NextStep - Commercial OS based on Mach

  10. Novell Netware - More than just a distributed file system

  11. OpenVMS - Cluster OS originally developed for DEC VAX, now available from HP

  12. OS/2 - IBM alternative to Windows for PCs

  13. OS/360 / MVS - IBM mainframe OS

  14. PalmOS - Palm Pilot OS

  15. Plan 9 - Distributed Unix developed by Bell Labs

  16. QNX - Real-time OS

  17. Windows CE / Pocket PC / Windows Mobile - Windows for PDAs and other small systems

  18. Windows 95/98 - Windows for a new generation


02/26/2007 3