CSC 539: Operating Systems Structure and Design
Fall 2003
Text: Operating Systems Concepts (6th ed., Windows
XP
Update)
Silberschatz, Galvin & Gagne, John Wiley & Sons, Inc, 2002.
Course Description
This course will provide an introduction to operating system design and
implementation. An operating system is a collection of software that
connects users and the physical hardware of the computer. Form the user's
perspective, an operating system serves as an interface, making it easier
to run applications software and interact with the computer. From a systm
perspective, the operating system is a resource allocator, managing shared
resources (e.g., disks, networks, processors), providing common services
needed by many different programs (e.g., file service, process control,
printer access), and protecting individual programs from one another.
The course will begin with a brief history of operating systems over
the last fifty years, and then cover the major components of most
operating systems. Readings and discussions will focus on 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), and file systems. Examples will be drawn
from real-world operating systems (e.g., Unix/Linux, Windows, DOS, Mac-OS)
as appropriate.
Specific goals for the course include:
- to understand key operating system concepts and techniques, including
process management, memory management, and file management.
- to appreciate the tradeoffs between performance and functionality in
an OS (both theoretically and experimentally via simulation).
- to apply an understanding of OS concepts and tradeoffs to the
evaluation of commercial operating systems.
Required Work
There will be approximately six homework assignments, some of which
will
involve programming. Assignments are due at the beginning of class on the
date
specified. Late assignments will receive 75% of full credit if they are
handed
in within one week of the specified due date. After one week, no credit
will be
given. In addition, there will be weekly quizzes, a midterm exam and a
cumulative final exam.
There is no specific attendance policy for the course, although it is
expected
that absences will leave the student unprepared for tests and assignments.
Quizzes
and tests will not be rescheduled except in extreme circumstances.
However, the
lowest quiz grade will be dropped.
Grades will be determined as follows:
homework assignments |
40 % |
weekly quizzes |
05 % |
midterm exam |
25 % |
(cumulative) final exam |
30 % |
At the minimum, traditional grading cutoffs will apply. That is,
90% is guaranteed an A, 87% is guaranteed a B+, etc.
Depending on class performance, some shifting of grades (in an upward
direction only)
may occur as final letter grades are assigned.
Policy on Collaboration
The college policy on cheating and plagiarism is spelled out in the
Student
Handbook. In addition to this, the following guidelines hold pertaining to
programs. Programs are to be the sole work of the student -- collaboration
on
the design or coding of a program is not allowed. Students may seek
debugging
assistance or clarifications on assignments using the class mailing list:
csc539@creighton.edu.
Repeat: All student interactions regarding homework assignments
must
take place via the class mailing list!
Tentative Schedule