Week 1

A little C, and processes in Unix

Reading: Tanenbaum, Chapter 1
Read by Wednesday, April 2.

Week 2

Intro to inter-process communication (IPC) and concurrency

Reading: Tanenbaum, Chapter 2
Read by Wednesday, April 9.
A shared memory program
Due 8:30 AM Wednesday, April 9. Submit via HSP.

Week 3

More on processes.

Due on paper at 8:30 AM Wednesday, April 16
Problems 19, 20, 31, 35, 37, 40, 43, and 46 from Chapter 2 (pages 170-174).

Week 4

Unix support for writing a command shell. Memory.

Reading: Unix manual pages for dup2, pipe, exec, fork, getenv, wait. Also, read about zombie processes (search the web for this topic).
Read by Monday, April 21.
Due 8:30 AM Monday, April 28
A little command shell.

Week 5

Memory.

Reading: Tanenbaum, Chapter 3, with emphasis on 3.3.
Read by Wednesday, April 30.
Reading: Tanenbaum, Sections 4.1-4.3
Read by Wednesday, May 7.
Due on paper at 8:30 AM Friday, May 9
Problems 2, 5, 9, 12, 18, 19, 24, 28, and 35 from Chapter 3 (pages 248-254)
Problems 11, 12, 20, 21, 27, 28, and 32 from Chapter 4 (pages 325-328)

Week 6

Midterm break and Files.

Reading: Tanenbaum, Chapter 6.
Read by Wednesday, May 14.

Week 7

Takehome exam, plus intro to the Linux kernel.

Due 8:30 AM Friday, May 23.
The takehome exam. Hand in on paper (except for the one program, which should be submitted electronically as usual).

Weeks 8, 9, & 10

Linux internals.

Do this soon.
Add a system call to Linux. Nothing to hand in.
Due 5:00PM Monday, June 9.
Some Linux questions and experiments.