Operating Systems

CS 318
Spring 1998

Instructor:
Thomas P. Kelliher
Hoffberger 140
Office phone: 337-6189
Home phone: 931-2946
Send mail to kelliher AT DOMAIN bluebird.goucher.edu
http://phoenix.goucher.edu/~kelliher
Office hours: MWF 10:30--11:30am. Th 1:00-3:00pm. Other times by appointment.

Class:
Hoffberger 123
MWF 11:30am--12:20pm

Objectives:
Our main objective is to learn how modern operating systems are designed, through study of their fundamental pieces and through studying, modifying, and building upon the Nachos instructional operating system in Unix.

Here are some key features of recent operating systems:

  • Symmetric multi-processing (SMP)
  • Threads
  • Micro kernel design
  • Object oriented systems
  • Distributed systems
  • Demand paging
  • Virtual memory

Two other objectives:

  1. To understand concurrent processes/threads and how to control that concurrency.
  2. To appreciate that all an operating system is, when decomposed, is a collection of algorithms and data structures.

I expect you to be proficient in C++ and Unix. I prefer not to use class time to review them. If your knowledge of them is lacking or has waned, I can suggest a small, no-credit project to develop or refresh your skills.

Textbooks:
  1. A. Silberschatz and P. Galvin, Operating Systems Concepts, 5th ed., Addison Wesley, 1998. Required.
  2. P. Abrahams and B. Larson, Unix for the Impatient, 2nd ed., Addison Wesley, 1997. Optional.
  3. S. Lippman, C++ Primer, 2nd ed., Addison Wesley, 1991. Optional.

Other Resources:

Nachos and other documentation will be made available through links to Web sites and file repositories on phoenix.

Grading:
Grade Distribution

A = [92--100], A- = [90--92), B+ = [88--90), B = [82--88), B- = [80--82), etc.

Course Point Distribution

The following is tentative. There are 600 total points for the course.

  1. Assignments --- There will be two written assignments. Each assignment will be worth 50 points. Late assignments will be accepted only by prior arrangement.

  2. Programming project --- The Nachos programming project will be worth 200 points. It will be due in stages and will be discussed in detail later.

  3. Exams --- There will be two midterms and a final. Each will be worth 100 points. Tentatively, the midterms will be February 27 and April 10.

Course Handouts:

Most course handouts will be made available once in class. After that, they may be obtained from the class home page on the World Wide Web (see the class URL above). Some course handouts will only be distributed through the class home page.

Participation:
Attendance of classes, while not required, is quite important. Attendance and participation are necessary learning components. Please inform me beforehand if you will be absent. Remember that you are responsible for making up missed work.

I expect that you will complete reading assignments before class and come to class prepared to discuss the day's material. If you need to print a copy of an outline before class, please arrive early so that you don't cause a disruption at the beginning of class.

Integrity:
Academic dishonesty will not be tolerated. Refer to the Student Handbook.

Tentative Outline:

  1. Introduction.
  2. Nachos.
  3. Process concept and synchronization.
  4. CPU scheduling.
  5. I/O and Secondary storage.
  6. Memory management and virtual memory.
  7. The file system.
  8. Networking.
  9. Case study: Linux.
  10. Case study: Windows NT.
  11. Other topics.


Thomas P. Kelliher
Mon Jan 19 18:49:32 EST 1998
Tom Kelliher