Syllabus: Operating Systems
CS 377 Operating Systems (Fall 2000)
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
- 6 Homeworks & Several Pop Quizes (20%)
- 3 Programming Projects in Java (40%)
- 3 Exams (40%)
- Exam 1: first 1/3 of course
- Exam 2: second 1/3 of course
- Final Exam: 50% on final 1/3 of course and 50% over first 2/3s
of course
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.
Copyright notice:
Many of the materials created for this course are the intellectual
property of the instructor. This includes, but is not limited to, the
syllabus, lectures and course notes. Except to the extent not protected
by copyright law, any use, distribution or sale of such materials
requires the permission of the instructor. Please be aware that it is
a violation of university policy to reproduce, for distribution or sale,
class lectures or class notes, unless copyright has been explicity waived
by the faculty member.
This page is online at http://www.cs.umass.edu/~shenoy/courses/377/syllabus.html
Prashant Shenoy
Last modified: Thu Sep 7 10:59:31 EDT 2000