CSE 120

Principles of Computer Operating Systems

Fall 2000

Attention: The final review will be on Wednesday, 12/6, from 4-5pm in CSB 001

Instructor
Geoff Voelker (voelker@cs.ucsd.edu)
AP&M 5131
822-3323
Teaching Assistants
Anirban Bagchi (Homeworks, Discussion) (abagchi@cs.ucsd.edu)
Sanjeev Bansal (Projects) (sbansal@cs.ucsd.edu)
Lectures
Tu/Th 9:35am - 11:55am
CSB 001
Discussion Sections
Mo 3:35pm - 4:25pm
CSB 002
Office Hours
Voelker: Tue 11:00am - 12:00pm, Wed 5:00pm - 6:00pm (or by appointment) in AP&M 5131
Bagchi: Fri 11:00am - 1:00pm in AP&M 3337A
Bansal: Wed 9:00am - 10:00am, Fri 10:00am - 11:00am in AP&M 3349D
Textbook
Crowley, Operating Systems: A Design-Oriented Approach, Irwin, 1997.
Discussion Board
http://discus.ucsd.edu

Course Objectives

This course covers the principles of operating systems. It emphasizes the basic concepts of OS kernel organization and structure, processes and threads, concurrency and synchronization, memory management, file systems, and communication. It is also a project course, providing essential experience in programming with concurrency, implementing and unmasking abstractions, working within an existing complex system, and collaborating with other students in a group effort.

Course Organization

The course is organized as a series of lectures by the instructor, discussion sections by the TAs, reading, homework, and project assignments, and exams:

Homework

Homeworks are due at the start of class on the day specified. You are allowed one late homework during the quarter of up to a week late, no explanation necessary.

Projects

The course has three programming projects using the Nachos instructional operating system. You will work in groups of four on each of the projects.

Exams

Grading

Your grade for the course will be based on your performance on the homeworks, midterm and final exams, and the three projects using the following weights:

Course Schedule

The schedule for the course is as follows. I will update it as the quarter progresses.

Date Lecture Readings Homework Project
9/21 Introduction Chapter 1    
9/26 Architectural Support for OSes Chapter 2    
9/28 OS Modules, Interfaces, and Structure Chapter 3 Homework 1 (out)
Due 10/5
 
10/3 Processes Chapter 5    
10/5 Threads Chapter 6:
6.1-6.7, 6.9
   
10/10 Synchronization Chapter 8:
8.6-8.23
  Project 1 (out)
Due 10/24
10/12 Semaphores and Monitors Chapter 8:
8.6-8.23
Homework 2 (out)
Due 10/19
 
10/17 Semaphores and Monitors
Project 1 Issues
Chapter 8:
8.13-8.23
   
10/19 Scheduling and Deadlock Chapter 8:
8.1-8.12
Homework 2 (in)  
10/24 Memory Management (B/W) Chapters 10, 11:
10.10-10.15,
11.1-11.2,11.5,
11.7-11.11
Homework 2 (in) Project 1 (in)
10/26 Midterm
Midterm Review (B/W)
Chapters 1-3,
5-6,8
   
10/28
(Sat)
Project 1 Due     Project 1 (in)
10/31 Midterm     Project 2 (out)
Due 11/16
11/2 Paging (B/W) Chapters 10, 11:
10.10-10.15,
11.1-11.2,11.5,
11.7-11.11
   
11/7 Page Replacement (B/W) Chapter 12 Homework 3 (out)  
11/9 No Lecture      
11/14 Disk I/O (B/W) Chapter 15 (skip 15.3)
Chapter 16 (skip 16.6)
Homework 3 (in)
Homework 3.5 (out)
 
11/16 File Systems (B/W) Chapter 17
(skip 17.5, 17.8)
   
11/19
(Sun)
Project 2 Due     Project 2 (in)
Project 3 (out)
Due 12/3
11/21 FFS, LFS, and RAID(B/W) Sections 17.11.1, 17.8.3, 14.4.3 Homework 3.5 (in)
Homework 4 (out)
 
11/23 Thanksgiving      
11/28 RPC(B/W) Section 8.13    
11/30 Distributed Systems Section 20.4 Homework 4 (in)  
12/3
(Sun)
Project 3 Due     Project 3 (in)
12/6 Final Review (B/W)      
12/7 Final      


voelker@cs.ucsd.edu