CMSC 412-101 (Spring 1996)
Professor:TA:TA:
Dr. Jeff Hollingsworth Charles Lin Alex Kaplunovich
4161 AV Williams 1109 A V Williams 1109 A V Williams
(40) 5-2708
hollings@cs.umd.educlin@cs.umd.edu kaplunov@cs.umd.edu
Office Hours:Office Hours: Office Hours:
Tu 10:45-12:00 F 1-3 M 12:30-2:30
W 11:00-12:00 W 12:30-2:30

Class URL: http://www.cs.umd.edu/~hollings/cs412/s96/

You are expected to check the class web page on a regular basis (at least weekly).

Catalog Description:

A hands-on introduction to operating systems, including topics in: multiprogramming, communication and synchronization, memory management, IO subsystems, and resource scheduling polices. The laboratory component consists of constructing a small kernel, including functions for device IO, multi-tasking, and memory management.

Objective:

An in-depth understanding of how an operating system manages resources in a computer and provides programmers with a machine and device independent interface. The emphasis of this class will be on operating system concepts. Running examples will be drawn from contemporary OS's including UNIX and Windows (NT and 95).

Prerequisites: CMSC 311, CMSC 330

Topics Covered (in approximately the order we will cover them):

Required Course Text:

Operating System Concepts 4th Edition, Siberschatz and Galvin, Addison-Wesley 1994.

Programming Projects:

Understanding operating system concepts is a hands-on activity. This class will include several substantial programming projects that will require students to read and understand provided code, write new modules, and debug the resulting system. The programming assignments will be time consuming and students taking this class should plan their class schedules accordingly.

Grading:
Final Exam30%
Midterms (2 each worth 15%)30%
Programming Assignments 40%

Late Policy: TBA