COMPSCI 110, Spring 2003

Introduction to Operating Systems

 

Tentative Schedule

Assignments

Lecture Notes

Policies

Course News

Demo Scheduler

 

Policies and Administration

Goals of the Course

To cover the traditional topics: What is an Operating System and what is it supposed to do for us? How does it accomplish these functions? How are such systems implemented and structured? Topics include concepts of protected kernels, processes and threads, concurrency and synchronizations, file systems, and virtual memory.

To help you develop new skills: Concurrent programming. Inheriting large, complex software systems and adding value (as in the "real world"). Developing an intuition for system design tradeoffs. A major component of the course is a series of projects using the notorious Nachos instructional operating system.

To give you occasional glimpses into current Operating Systems research, motivated by hardware trends, web applications, and mobile computing.

Who should take this course? All undergraduate CS majors should take this course at some point. You should have completed the basic introductory sequence, and also CPS 104. Familiarity with C, C++, and basic Unix program development tools (e.g., gmake ) is assumed.

Workload. This is a demanding course. There are six required Nachos programming assignments, with one due approximately every two weeks. To make things a bit easier, you will work through the Nachos projects in teams of three or four students. As in previous offerings of CPS 110, you will present your projects in demo sessions with the instructor or the TAs. These projects will be fun and valuable if you form teams quickly, start early on the projects, and make your Nachos work a priority this semester. In addition to the Nachos assignments, there will be problem sets, an in-class midterm exam, and an in-class final exam.

Expectations and Grading

See Expectations.htm for information on collaboration policies, what you can expect of me, and what I will expect of you.

Grades will be based on:

Exams:  Midterm 15%, final 30%
Labs: 45%
Performance in class and labs: 10%
    (our subjective judgement)