CS45 Operating Systems Concepts
Fall Semester, 2001
1:15-2:30 TR, Sproul 300

Professor: Tia Newhall

Office hours:
Office: 36 Sproul (3rd floor)
Phone: 690-5637
email: newhall@cs.swarthmore.edu


Announcements


Contents:

Course Description
Text
Grading
Programming Projects
Schedule
On-line Resources

Course Description

This course is a introduction to the theory, design and implementation of operating systems. An operating system is the software layer between user programs and the computer hardware. It provides abstractions (processes, virtual memory, file system, etc.) of the underlying hardware that are easier to program, and it manages the machine's resources (memory, processors, disks, network interfaces, and other devices).

We will cover the following topics: processes (including synchronization, communication, and scheduling), memory (main memory allocation strategies, virtual memory, and page replacement policies), file systems (including naming and implementation issues), I/O (including devices, drivers, disks, and disk scheduling), security, and networks. Time permitting we will examine parallel and distributed systems.

Required Course Texts


Grading


Programming Projects

All programming assignments will be in the C programming language. If you do not know the C programming language, there are several C language references in the Sun Lab that you may use. However, if you want to buy your own C language reference, here are two recommendations:

Tentative Schedule