ECS 150 - Operating Systems

Fall 1997


Handouts

Class Overview
Covers the administrative details of the class.
Class Schedule (Postscript)
Tentative schedule of lecture coverage and assignments.
Midterm Coverage (Postscript)
Outline of topics which might appear on the midterm.

Lecture Notes

All the lecture notes are postscript files.

I borrowed freely from the notes of previous instructors in this class in drawing these up. (My thanks to Ron Olsson, Karl Levitt and Paul Stelling.)

1: Introduction
Class logistics; introduction to the purpose and history of computer operating systems.
2: I/O System Calls
Covering the basic file and directory system calls for UNIX/MINIX, and quick coverage of enough operating system concepts to understand the calls.
3: Process System Calls
Finishing up directory system calls, and moving into processes, and the system calls to create and manipulate them.
4: Pipes and Signals
We cover the two most basic mechanisms for interprocess communication in Unix/MINIX.
5: Scheduling.
There were no notes for this class as it was given by Karl Levitt in Stuart's absence.
6: Architecture of MINIX kernel
How MINIX is organized in broad terms.
7: MINIX Processes.
There were no notes for this class as we spent the class going through some of the MINIX code in the book.
8: Concurrency and IPC: I
Basic concepts for concurrency. Software algorithms for mutual exclusion. Test-and-set-lock instruction. Start on semaphores.
9: Concurrency and IPC: II
Some classic IPC problems and semaphore solutions to them. Monitors.
10: Threading
Concurrency in the context of threads. C-threads as an example. Midterm review.

Assignments

Homework 1 [Postscript]
Mainly on system call stuff, and file system concepts.
Lab 1 [Postscript]
Some programming with the MINIX system calls.
Homework 2 [Postscript]
Scheduling and inter-process communication.
Lab 2 [Postscript]
Altering the MINIX kernel to become familiar with the scheduling code and the message passing code.
Homework 3 [Postscript]
I/O issues (inc deadlock and disk scheduling).
Lab 3 [Postscript]
Alterations to the MINIX I/O system (tasks).
Homework 4 [Postscript]
File Systems and Memory Management.


Developed and maintained by
Stuart Staniford-Chen
10/21/97