CPE 454  Implementation of Operating Systems



Course Information Grading Labs Final Project Project Presentations Resources


Course Information

Instructor

Place and Time

Dr. Michael Haungs

email: mhaungs@calpoly.edu
office: 14-226
office hours:
TR: 3:10-5pm
Section 1
Lecture:
Science-A12
TR 12:10pm-1:30pm

Lab:
14-232A
TR 1:40pm-3:00pm

Overview

Recommended Textbooks

Bovet and Cesati, "Understanding the Linux Kernel (3rd Edition)", 2006 O'Reilly Media, ISBN 0-596-00565-2

Venkateswaran, "Essential Linux Device Drivers", 2008 Pearson Eductaion, ISBN 0-13-239655-6

Love, "Linux Kernel Development (2nd ed)", 2005 Pearson Education, Novell Press, ISBN 0-672-32720-1

Corbet, Rubini, and Kroah-Hartman, "Linux Device Drivers (3rd Edition)", 2005 O'Reilly Media, ISBN 0-596-00590-3

Prerequisites

Blackboard


Grading

Grading Distribution (approxiamately)

Labs 35% 25%
Project Paper Draft (due May 14) 5%
Project Demonstration (Week 10) 5%
Final Project Paper (due June 4) 20%30%
Presentations 25%
Final/Class Participation 10%
Total 100%

Additional Requirements (README)

Grading Policy

Letter grades for the course will be assigned according to the following schedule:  100%-90% A, 89%-80% B, 79%-70% C, 69%-60% D, 59%-0% F.

Late Policy: Except for exceptional circumstances (e.g. a limb fell off), Late assignments will be given 0 points.

Regrades must be submitted within one week after the grades have been posted.

I will report all suspected incidents of academic dishonesty to Judicial Affairs. If guilty, the student will receive an "F" in the course.


Labs

Lab Assignment Schedule

Assignment Due Points
Lab #0 (pdf) April 9 5%
Lab #1 (pdf) April 16 5%
Lab #2 (pdf) April 23 April 28 5%
Lab #3 (pdf) May 5 May 7 10%
Lab #4 (pdf) May 14 Cancelled 10%


Final Project

Paper

Your paper will decide a majority of your final project grade. It should be well-written, organized, and informative. The target audience for your paper are junior-level computer science students (not me!). In other words, you can not take short cuts in the explanation of your work. Your paper should be 10 pages in length, in 10pt font, have 2-columns, have appropriate margins, and be single-spaced. It should contain the following sections:

Topics

Each group will choose from one of the following projects:

  1. New Filesystem features
  2. New Page Replacement Algorithm/Enhancement
  3. New Scheduling Algorithm/Enhancement
  4. New Disk Arm Scheduling Algorithm/Enhancement
  5. Implement a deadlock detection/prevention mechanism for UNIX semaphores
  6. Novel Device Driver (any ideas?)
  7. New Security mechanism (process sandboxing)
  8. New IPC Mechanism
  9. User-level Thread Package
  10. Other (just clear it with me)

Project Presentations



Class Participation

Your class participation grade will depend on your class attendance, interactions (in forums and class), and your research paper writeups and discussions. If class participation and/or attendance is low, we'll have a final examination at our normally scheduled time that will be worth 10% of your grade.


Resources