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