Worcester Polytechnic Institute

Computer Science Department

--------------------------------

CS 502
Operating Systems

Spring Semester 1999


Welcome to CS 502.  For this course, we will centralize the distribution of information to students here at the course web page. This page can be found on the WPI CS department web server at http://www.cs.wpi.edu/~cs502/s99/index.html. We will also post any necessary announcements regarding homework or the project work to the class email list.


*Basic Information
*Course Description
*Textbook
*Class Email List
*Lectures
*Homework
*Research Paper Presentation
*Exams
*Syllabus
*The Project
*Class Participation

Basic Information

Professor: Thomas C. Bressoud, Tom.Bressoud@ascend.com
Meeting Time: Tuesday 5:30 p.m. - 8:20 p.m.
Location: WPI MetroWest (Southborough) Campus, Room 204
Office Hours: By appointment; 24 hour response by email

Course Description

This course provides a graduate-level introduction to the theory and design of multiprogrammed operating systems. Some of the topic areas covered include concurrent processes, process communication, input/output supervisors, memory management, resource allocation, and process scheduling. If time permits, selected topics in distributed operating systems will also be addressed.

Textbook

Silberschatz, Abraham and Peter B. Glavin, Operating System Concepts, Fifth Edition, Addison Wesley, 1998.

Class Email List

The class email list is cs502m@cs.wpi.edu.   This list is maintained by the majordomo server at cs.wpi.edu.  To add yourself to the cs502m mailing list, send an email message to majordomo@cs.wpi.edu whose body contains the line 'subscribe cs502m' (again, without the quotes).  Note that this uses the reply_to field in the incoming message to add to the mailing list. 

Lectures

In this section, as the semester progresses, I will add table entries for each of the lectures.  As long as my time permits, I will convert my lecture notes to PowerPoint presentations and present them in class from transparencies or from an overhead projector, as well as to make them available to the students by posting them at this location.  Please note that this is only a best-effort promise, not a rock-solid guarantee.  If notes are not available prior to a given lecture, we will proceed the "old fashioned way" using the white/black board and having the students take notes.

Lecture Title PowerPoint PDF
Introduction Introduction.ppt (68K) introduction.pdf (69 K)
Background Background.ppt (272K) background.pdf (179K)
Project project.ppt (125K) project.pdf (56K)
Process Management ProcMgmt.ppt (144K) procmgmt.pdf (190K)
Process Synchronization ProcSync.ppt (107K) procsync.pdf (181K)
Deadlocks Deadlocks.ppt (322K) deadlocks.pdf (135K)
Memory Management MemMgmt.ppt (166K) memmgmt.pdf (133K)
Virtual Memory VirtMem.ppt (151K) virtmem.pdf (106K)
File Management FileMgmt.ppt (254K) filemgmt.pdf (240K)
Protection and Security Security.ppt (200K) security.pdf (175K)
Distributed Systems DistSys.ppt distsys.pdf
Distributed Components DistComp.ppt distcomp.pdf

Homework

There will be two homework assignments during the first half of the semester. In general, the homework will be due two weeks after it is handed out. See the syllabus for the actual schedule. Homework is due at the beginning of class. Late homework will not be accepted. All homework is to be done individually. Any corrections or adjustments to the homework will be announced both on the class web page and over the class group email. Homework will count for 10% of your grade.

Homework 1

Homework 2

Research Paper Presentation

In lieu of homeworks in the second half of the semester, each student will read an operating systems research paper and present a summary of the paper to the class.   Logistics for setting up when the papers are presented and the length of the presentation will be determined after the class size is set.  The paper presentation will count for 10% of your grade.

The following table captures the current information I have on selected research papers:

Name(s) Paper Reference Presentation Date
Deeduvanu Implementation and Performance of Integrated Application - Controlled File Caching, Prefetching, Disk Scheduling.

From ACM transactions on Computer Systems, Vol 14 Number 4 November 1996 pp. 311-343

April 13
Wu
Xu
Eraser: a dynamic data race detector for multithreaded programs.

It is from ACM Transactions of Computer Systems, Volume 15(1997) NO.4 (Nov. 1997).

April 20
Burkey Continuous Profiling: Where Have All the Cycles Gone

J. Anderson et.al. ACM Transactions On Computer Systems, Vol. 15, No 4, November 1997, Pages 357-390.

April 13
Thai "Eliminating receive livelock in an interrupt-driven kernel" by Jeffrey C. Mogul and K.K. Ramakrishnan

ACM Transactions on Computer Systems, vol. 15, no. 3, August 1997, pages 217-252.

April 20
Flanagan "A Cost-Effective, High-Bandwidth Storage Architecture," by Garth A. Gibson, et al.

from ASPLOS VIII, October, 1998

April 13
Bouchard
Mason
"Disco: Running Commodity Operating Systems on Scalable Multiprocessors" by Edouard Bugnion, Scott Devine, Kinshuk Govil, and Mendel Rosenblum.

ACM Transactions on Computer Systems Vol. 15, No. 4 (Nov. 1997), Pages 412-447

April 20
Suri Scheduler - conscious Synchronization by Robert W. Wisniewski and Michael L. Scott

ACM Transactions on Computer Systems, Vol.15, No.1 Feb. '97, Pages 3-40

April 13
Fluegel
Trudeau
"Decay-usage scheduling in mulitprocessors" by D.H.J. Epema

ACM Transactions on Computer Systems, Vol. 16, No. 4 (Nov. 1998), pages 367-415

April 13
Santhanam Building Efficient Operating Systems from User-Level Components in Pebble by Eran Gabber, Christopher Small, John Bruno, Jose Brustoloni, and Avi Silbershatz.

USENIX 99

April 20
Peltola Cello: A Disk Scheduling Framework for Next Generation Operating Systems by P.J. Shenoy and H.M. Vin

ACM SIGMETRICS 98.

April 20
Riaz UFO: a personal global file system based on user-level extensions to the operating system. By Albert D. Alexandrov, Maximilian Ibel, Klaus E. Schauser and Chris J. Scheiman

ACM Transactions on Computer Systems. Volume 16, No. 3 (Aug. 1998) Pages 207-233.

April 20
Wilson A look at several memory management units, TLB-refill mechanisms, and page table organizations by Bruce L. Jacob & Trevor N. Mudge

ACM SIGPLAN Notices Vol. 33, No. 11 (Nov. 1998), Pages 295-306
in: ASPLOS-VIII. Proceedings of the 8th international conference on Architectural support for programming languages and operating systems, pages 295-306

April 20
Drajpuch The Legion Vision of a Worldwide Virtual Computer, by Andrew S. Grimshaw, Wm. A Wulf, and the Legion team

Communications of the ACM, January 1997.

April 20

Exams

There will be two exams: a midterm and a final. Both are open single-page notes.   The midterm will count for 20% of your grade and the final will count for 30% of your grade. The midterm is scheduled at 1.5 hr. and the final is scheduled at 2 hr. Dates for the midterm and final are shown on the syllabus. No makeup exams will be given.

The Project

A significant component of the CS 502 course is the course project, in which the student will design and implement a basic operating system for a Z502 processor (this is a hypothetical processor architecture and a simulator is provided). The overall project is divided into two project phases.  The first phase builds necessary data structures and implements multiprogram scheduling.  The first phase will be subdivided into several "checkmark credit" pieces to keep students progressing on the assignment.  The second phase adds virtual memory management to the core implemented in phase 1. Phase 1 counts for 15% of your grade and Phase 2 counts for another 10% of your grade.  The total project, thus, comes to 25% of your grade.

The project requires substantial programming in C, (3 to 4 thousand lines of code is not atypical, depending on commenting style), thus students should already have a sound programming foundation. CS 502 is not the place to "pick up" C. For more information, including project phase assignments and Z502 documentation, see the project web page(s).

Phase 1 Grading guide (Word .doc) (.pdf)

Class Participation

Class participation counts for 5% of your grade.

For those of you who want a (free) viewer for PowerPoint slide presentations, you can download this viewer (also available from the Microsoft web site).

Power Point 97 Viewer Installation


Feedback (constructive criticism) on these course web pages is welcome, and should be directed to Tom.Bressoud@ascend.com.

[Return to the WPI Homepage]http://www.wpi.edu/[Return to CS Homepage]http://www.cs.wpi.edu/