Syllabus: Operating Systems

CS 377 Operating Systems

Course Materials

Description

This course will provide an introduction to operating system design and implementation. The operating system provides a well-known, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. The operating system is responsible for allowing resources (e.g., disks, networks, and processors) to be shared, providing common services needed by many different programs (e.g., file service, the ability to start or stop processes, and access to the printer), and protecting individual programs from one another.

The course will start with a brief historical perspective of the evolution of operating systems over the last fifty years, and then cover the major components of most operating systems. This discussion will cover the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping), file systems, and operating system support for distributed systems.

Prerequisites

CMPSCI 187: Programming with Data Structures, and CMPSCI 201: Architecture & Assembly Language, or equivalent.

Requirements and Grading

You are expected to attend class regularly, read the assigned reading before class, and participate in class discussions. The course will be graded on a curve.

Late Policies

This course covers a lot of material and late assignments will seriously impact your ability to learn the next section of the course. Late programming assignments will be penalized 10\% per day, up to 4 days. Late homeworks will not be accepted (no exceptions). Please try to finish your assignments and homeworks on time.

Cooperation and Cheating

Feel free to discuss homework and labs with other members of the class, myself, or the TA. However, do not look at or copy another students solution to a homework or lab. I am not concerned with how you come to understand the problem and how to solve it, but once you have the background necessary to solve it, you must provide your own solution. Exchanging homework or lab solutions is cheating and will be reported to the University, and you will lose credit for the course.


This page is online at http://www.cs.umass.edu/~shenoy/courses/fall99/syllabus.html
Prashant Shenoy
Last modified: Mon Aug 30 15:51:14 EDT 1999