CSC 539: Operating Systems Structure and Design
Text: Operating Systems Concepts (6th ed.)
Silberschatz, Galvin & Gagne, John Wiley & Sons, Inc, 2002.
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)
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.
There will be approximately six homework assignments, some of which
involve programming. Assignments are due at the beginning of class on the
specified. Late assignments will receive 75% of full credit if they are
in within one week of the specified due date. After one week, no credit
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
that absences will leave the student unprepared for tests and assignments.
and tests will not be rescheduled except in extreme circumstances.
lowest quiz grade will be dropped.
Grades will be determined as follows:
||40 % |
||05 % |
||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
may occur as final letter grades are assigned.
Policy on Collaboration
The college policy on cheating and plagiarism is spelled out in the
Handbook. In addition to this, the following guidelines hold pertaining to
programs. Programs are to be the sole work of the student -- collaboration
the design or coding of a program is not allowed. Students may seek
assistance or clarifications on assignments using the class mailing list:
Repeat: All student interactions regarding homework assignments
take place via the class mailing list!