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.
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 |
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.
Silberschatz, Abraham and Peter B. Glavin, Operating System Concepts, Fifth Edition, Addison Wesley, 1998.
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.
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 | |
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 |
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.
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 |
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 |
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.
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 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.
http://www.wpi.edu/http://www.cs.wpi.edu/