WPI Worcester Polytechnic Institute

Computer Science Department
------------------------------------------

Operating Systems

CS 502
Spring 2000

Index


Course Information

Professor: Mark Claypool
email: claypool@cs.wpi.edu
office hours: by appointment
place: Fuller Labs, room 138
phone: (508) 831-5409

Email aliases:
class: cs502w@cs.wpi.edu
instructor: cs502w_ta@cs.wpi.edu

More static, but detailed information can be found here, including: time and place, purpose, prerequisites, books, grading, and computer systems and labs.


Topics and Timeline

Here is the list of topics covered in this course.

You might check out the assignment timeline to help you plan for exams, homework and projects.

The reading material for the various chapters are as follows:


Slides

Slides from the in-class lectures will be available the day following class. Here are the electronic versions of what we have so far:

Admin pdf ppt
Introduction pdf ppt
Processes pdf ppt
Process Scheduling pdf ppt
Process Synchronization pdf ppt
Inter-Process Communication pdf ppt
Parallel Systems and Threads pdf ppt
Memory Management pdf ppt
Virtual Memory Management pdf ppt
Sockets pdf ppt
File Systems pdf ppt
I/O Devices pdf ppt
Final Exam Review pdf ppt

Homework

There are 4 (maybe 3) short homework assignments. Homeworks are to be turned in individually. Discussion of problems among students is encouraged, but when it comes to ultimately solving the problem, your answers must be your own.

Homework and due-dates will be placed here as they are defined. Here is what we have so far:


Programming Projects

There are 4 (maybe 3) programming projects that are designed to give you some coding experience and expose you to practical systems issues.

You will work alone or in a group of two for the project. I'd prefer to limit the groups to only 2, but groups of 3 are also possible. If you really want a group with a different number of students, come talk to me.

Projects and due-dates will be placed here as they are defined. Here is what we have so far:


Samples

In this section, there will be code samples discussed in class, practice exams or any other demonstration-type class materials.

Final exam stuff:

Mid-term stuff:

Some sample thread code that adds and subtracts an integer (compile with -lpthread):

Sample code for using TCP sockets:

Misc:

Here are some sample programs concerning Process stuff :

Here are some code samples of the SOS:

Here are some samples showing the use of software signals:

Here are some code samples from Linux:


OS Hotlinks

Linux

Linux is a completely free Unix operating system. Linux runs primarily on 386/486/Pentium PC's, but has been ported to various other architectures. If you like Unix, want to learn more about system administration and have access to a PC, I recommend checking it out. Read a short info sheet or a more detailed info sheet for more information. You might also want to check out "The Cathedral or the Bazaar", an interesting look at open source software development, such as Linux.

You might also try the Linux Source Navigator, a CGI interface to browse the entire Linux kernel source. The Navigator formats the raw source tree on-the-fly, using italics, bolds, colors and hyperlinks to present the source in a much more managable format. Right now, there's just a 2.0.0 kernel set up to use i386 architecture, but more versions may be there shortly.

I, Cringely

A weekly column by Robert X. Cringely that provides a humorous but profound look at the world of Information Technology.
"What makes Cringely such an interesting writer is the way he combines a solid understanding of technology, the ability to explain it simply, and an irreverence for those who, at the highest levels, hawk it" IEEE Spectrum, May 1997.

Nachos

Your text book mentions the Nachos System in the Appendix (pages 699-714). Although this system is too advanced for an intro course on operating systems, keen students may like to look further into the Nachos software.

Misc

Some useful course material (e.g. slides, notes, Java simulations, etc.) includes:

You can also have a look at the Yahoo! Operating Systems pages and related WWW pages:

Or perhaps you would like to know more about some of the companies involved in commercial Operating Systems:


[Return to the WPI Homepage] [Return to the CS Homepage] [Return to Mark Claypool's Homepage]


Mark Claypool (claypool@cs.wpi.edu)