![]()
![]()
![]()
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://web.cs.wpi.edu/~jb/CS502/ We will also post any necessary announcements regarding class or the project work to the class email list.
| Professor: | Jerry Breecher, jb@cs.wpi.edu |
| Meeting Time: | Thursday 6:00 p.m. - 8:50 p.m. |
| Location: | |
| Office Hours: | By appointment - usually before or after class; 24 hour response by email |
This course provides a graduate-level introduction to the theory and design of multi-programmed operating systems. Some of the topic areas covered include concurrent processes, process communication, input/output supervisors, memory management, resource allocation, and process scheduling. Selected topics in distributed operating systems will also be addressed.
Silberschatz, Abraham, Peter B. Glavin and Greg Gagne, Operating
System Concepts, Eighth Edition, John Wiley ISBN:
978-0-470-12872-5. I expect that you can use the Seventh edition
at a considerably lower price.
The class email list is cs502@cs.wpi.edu. This list is maintained by the majordomo server at cs.wpi.edu. To add yourself to the cs502 mailing list, send an email message to majordomo@cs.wpi.edu whose body contains the line 'subscribe cs502' (again, without the quotes). Note that this uses the reply_to field in the incoming message to add to the mailing list.
Your final grade will be based on Projects = 50%, Final Exam = 50%.
In the Table below are pointers to the notes for the course. The formats available can be read by Microsoft PowerPoint (.ppt) or downloaded to a postscript printer (.ps). Lectures generally will be from these notes. Feel free to print them out and use them during class to avoid extensive scribbling.
| Lecture Title | PowerPoint |
| Overview | Overview.ppt |
| Components | Structures.ppt |
| Project | Start_Here.ppt |
| Processes | Processes.ppt |
| Threads | Threads.ppt |
| Scheduling |
Scheduling.ppt |
| Synchronization |
Synchronization.ppt |
| Deadlocks | Deadlocks.ppt |
| Memory Management | Mem_Mgmt.ppt |
| Virtual Memory | Virtual_Memory.ppt Intel.ppt |
| File Systems | File_Sys.ppt |
| IO Systems | IO_Systems.ppt |
| Distributed Systems | Dist_Sys.ppt |
| Distributed File System | Dist_File_Sys.ppt |
| Distributed Coordination | Dist_Coord.ppt |
| Security | Security.ppt |
| Date |
Event |
| September 17 | Test 0 Works Successfully |
| October 29 |
Project Part 1 Due |
| December 13, 11:59PM | Project Part 2 Due |
| December 17 |
Final Exam |
This link will take you to information about a number of programs and code used as Class Demonstrations
A significant component of the CS 502 course is the course project, in which you 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 multi-program scheduling. The second phase adds virtual memory management to the core implemented in phase 1.
The project requires substantial programming in C, (3 to 4 thousand lines of code is not atypical), 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