WPI Worcester Polytechnic Institute

Computer Science Department

Operating Systems I

CS 3013 A-Term 1997


Course Information

Professor: Mark Claypool
email: claypool@cs.wpi.edu
office hours: Mo 4pm-5pm, Tu 1:30pm-2:30pm, Th 9am-10am, Fr 2:30pm-4:30pm
place: Fuller Labs, room 236
phone: x5622

Teaching Assistant: Yijing Zhou
email: yjzhou@wpi.edu
office hours: Mo 8am-9:30am, We 1pm-2:30pm, Th 6:30pm-8:30pm
place: Fuller Labs, room 243
phone: x5117
note, Yijing has his regular office in room 144, x5569

Email aliases:
TA + Prof: cs3013_ta@cs.wpi.edu
class: cs3013@cs.wpi.edu

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

Topics and Slides

Here is the list of topics covered in this course. They will be mapped to chapters from the text as the course progresses. See the reading details for a more in-depth breakdown on the book chapters. Slides from the in-class lectures will be available shortly before they are presented (or shortly after they are presented, depending upon how things go).

There is now a new top-level slide page.


There will be 4-5 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:


The projects are the programming assignments you will have for the course. I encourage you to work in groups of two for the projects. I'd prefer to limit the groups to only 2, but if you really want a larger group, come talk to me. Working in groups will give you valuable ``real-world'' experience as well as provide you with a ``built-in'' source for help. Do remember, however, that all exams will be taken alone. Make sure each group member understands the programs completely!

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

With the exception of project 0, you will need to turn in your assignments on-line. Check here for information on how to turn in your assignments.


Sample final exam questions that might help you prepare for the real thing (with a Solution!).

Sample midterm exam questions that might help you prepare for the real thing.

Samples for files, command line arguments and sockets shown in class. These should be helpful for Project 4.

Samples of the message queue client and server shown in class. These should be helpful for Project 3.

A few samples that might be helpful/interesting (note, some of these are compiled with the wrappers given for Project 2):

Question of the Day

Every class day, I will try to put an advanced question related to an in-class lecture topic. If you feel up to the challenge, check out the question, think about it and email me your answer. Your answers will not be graded, per se, but correctly answering several questions may help "bump" your grade to the next level if you are a borderline case come the semesters end. Plus, you'll have fun!

Today's Question of the Day

Previous Questions of the Day

OS Hotlinks

Some time ago, Andrew Tannenbaum (computer teacher/researcher) wrote a critique of Linux (that set off a small flame war). Read his opinion about the merits and future of the Linux design. Think about the "Microkernel" versus "Monolithic" arguement as we explore operating system structure. The full version is available in compressed, rmail format.


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.

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.


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. 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 Operating Systems:

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

Mark L. Claypool (claypool@cs.wpi.edu)