COMP 3000A: Operating Systems

Carleton University, Fall 2005
Course Outline

Instructor:
     Anil Somayaji (soma at scs.carleton.ca), Office Hours: Wednesday 2:00-3:00 PM and by appointment.
Teaching Assistants:
     Glenn Wurster (gwurster at scs.carleton.ca), Office Hours:  Tuesday 2:00-3:00 PM in 1170 HP.
     Hao Chen (ehaochen@gmail.com), Office Hours: Thursday 2:00-3:00 PM in 1170 HP.
Lecture: Tuesday and Thursday, 10:05-11:25 AM in 210 Tory Building. September 8th through December 1, 2005.
Lab: Tuesday or Thursday, 1:00-2:00 PM in 1170 Herzberg Building.  September 13th through December 1, 2005.

Official Course Description: A first course in operating systems stressing fundamental issues in design: process management; memory management; process co-ordination and synchronization; interprocess communication; real-time clock management; I/O device drivers; file systems; frame-level network communication. Assignments involve the use, modification, and extension of a multitasking operating system.

Prerequisites: COMP 2402 (Abstract Data Types and Algorithms); COMP 2002 (Abstract Data Types and Algorithms) or SYSC 2002; COMP 2003 (Computer Organization) or SYSC 3003. Note that COMP 3000 precludes additional credit for SYSC 3001.

Format of Course: Students will learn about how operating systems are designed and implemented through readings, research, lab work, and lectures. Students will be assigned a combination of textbook readings, published papers, and web articles. Weekly lab exercises will also be assigned. Student performance will be evaluated through quizzes and exams. Students will also be required to write a term paper on a selected topic in operating systems.

Texts: The primary textbook for the course will be Modern Operating Systems, 2nd edition, by Andrew S. Tannenbaum. This text will be supplemented with additional readings made available through the course website. Students are also encouraged to consult other operating systems textbooks and web resources to supplement assigned readings. To this end, several operating systems textbooks are on reserve in the library for this course.

Term Paper: Students will be required to write a term paper over the course of the semester. This paper is to be a literature review of a specific area of operating systems research, development, and/or implementation. The topic is to be chosen by the student - this is part of the assignment. The paper is to be approximately 10-15 pages in length. The paper will be graded on the basis of topic coverage, accuracy, organization, style, and clarity. This assignment will be due in two parts:

  1. Outline: Your paper outline should have three parts: an abstract, a detailed outline, and a list of references.  Your abstract should be one to two paragraphs, and should briefly explain your chosen topic and central thesis.  You will also need at least 10 references to published works (conference papers, journal articles, or books). You may cite simple web pages; however, they will not be count towards your reference total. Good sources are CiteSeer and the IEEE Xplore. Note that the Carleton Library provides online access to many journals. You will be graded on organization, choice of thesis, and the quality and relevance of your references.
  2. Final draft: Your final draft should demonstrate that you have read and understood your selected papers.  While you do not have to follow your outline and abstract, significant deviations should be cleared in advance with the professor.  Uncited quotes or closely paraphrased sections will be considered plagarism and dealt with accordingly.

Labs: There will be required lab assignments throughout the course.  Students will be required to turn in these assignment at the end of the lab period.  While students are encouraged to work together during lab, material covered in lab will also be covered in quizzes and exams.

Grading: Final grades will be calculated as follows:

Ethics & Intellectual Honesty: I expect everyone to uphold the highest intellectual and ethical standards. Ideas and words should be properly credited to their sources - even if that source is another student in the class! I have structured this course so that collaboration is permissible and even recommended. Please use this freedom wisely. If you have any questions regarding what is and is not allowed, please ask a me or a TA before proceeding. Intellectual dishonesty in any form will be cause for university disciplinary action.

Special Needs Students: Students with disabilities requiring academic accommodations in this course are encouraged to contact a coordinator at the Paul Menton Centre (PMC) for Students with Disabilities and to make an appointment to meet and discuss your needs with me by September 22, 2005. I will do my best to make reasonable accommodations within the context of the course.

Daily class outline (subject to change):

Date

Due

Topics

Readings

Sept. 8th

 

#1: Introduction: Fruit, cars, and drills

Neal Stephenson, "In the Beginning was the Command Line." Prettier versions are available here and here.  (optional)

Sept. 13th


#2: Overview

Chap. 1, pp. 1-67

Sept. 15th

 

#3: Term Paper


Sept. 20th


#4: I/O Basics

Sec. 5.1-5.3, pp. 269-300

Sept. 22th

 

#5: Clocks & Disks 1

Sec. 5.4-5.5, pp. 300-333

Sept. 27th


#6: Clocks & Disks 2


Sept. 29th

Quiz: #2,4,5

#7: Processes & Threads 1

Sec. 2.1-2.2, pp. 71-100

Oct. 4th


#8: Processes & Threads 2


Oct. 6th

Quiz: #6,7

#9: IPC & Scheduling

Sec. 2.3-2.5, pp. 100-151

Oct. 11th

Paper Outline

#10: Deadlocks

Chap. 3, pp. 159-185

Oct. 13th


#11: Memory Mgmt. 1

Sec. 4.1-4.3, pp. 189-214

Oct. 18th

Quiz: #8-10

#12: Memory Mgmt. 2

Sec. 4.4-4.5, pp. 214-234

Oct. 20th


#13: Memory Mgmt. 3

Sec. 4.6-4.8, pp. 234-262

Oct. 25th

Quiz: #11-13

#14: File Systems 1

Sec. 6.1-6.2, pp. 379-399

Oct. 27th


#15: File Systems 2

Sec. 6.3, pp. 399-430

Nov. 1st


Mid-Term review


Nov. 3rd

Mid-Term Exam



Nov. 8th

 

#16: File Systems 3

Sec. 6.4, pp. 430-448

Nov. 10th

 

#17: Multiple Processor Systems 1

Sec. 8.1-8.2, pp. 503-548

Nov. 15th

Quiz: #14-16

#18: Multiple Processor Systems 2

Sec. 8.3, pp. 549-577

Nov. 17th

 

#19: Multimedia OSs

Chap. 7, pp. 453-498

Nov. 22th

Quiz: #17-19

#20: OS Design

Chap. 12, pp. 855-897

Nov. 24th

 

#21: Security 1

Chap. 9, pp. 583-665

Nov. 29th

 

#22: Security 2

 

Dec. 1st

Term Paper

Class Review

 

TBA

Final Exam

 

 


I'm soma at scs.carleton.ca. (Use @ to put them together to email me.)
[Home] Last modified:  October 5, 2005