Week 1
Some C/C++, and processes in Unix
- Reading: Tanenbaum, Chapter 1
- Read by Wednesday, March 31.
- Getting started in C/C++
- Due 11:59PM Monday, April 5.
Week 2
Intro to inter-process communication (IPC) and concurrency
- Reading: Tanenbaum, Chapter 2
- Read 2.1, 2.2, and 2.3 by Friday, April 9, and the rest by Monday, April 12.
- A shared memory program
- Due 11:59 PM Monday, April 12. Submit via the Courses system.
Week 3
More on processes.
- Due on paper at 11:10 AM Monday, April 19
- 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, and open. Also,
read about zombie processes (search the web for this topic).
- Read by Friday, April 23.
- Due 11:10 AM Wednesday, April 28
- A little command shell.
Week 5
Threads. Memory.
- Reading: Strategized
Locking, Thread-safe Decorator, and Scoped Locking: Patterns and Idioms
for Simplifying Multi-Threaded C++ Components, by Douglas C. Schmidt.
Schmidt has a lot of
resources for thinking about concurrent programming. Worth checking out
if you're interested.
- Read by Monday, April 26. Bring questions to class.
- Reading: Tanenbaum, Chapter 3, with emphasis on 3.3.
- Read by Friday, April 30.
Week 6
Midterm break, memory, and files.
- Reading: Tanenbaum, Sections 4.1-4.3
- Read by Friday, May 7.
- Due on paper at 11:10 AM Wednesday, May 12
- 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 7
Files and deadlock.
- Reading: Tanenbaum, Chapter 6
- Read by Monday, May 17.
Week 8
Linux. System calls, boot process, etc.
- Adding a "hello, world"
system call to Linux
- Due on paper, 11:10 AM Wednesday, May 19.
Week 9
More Linux.
- Some problems
- Due on paper, 11:10 AM Monday, May 31.
- Linux final project
- Proposal due via e-mail by 11:10 AM Wednesday, June 2.
Project due via the Courses system by 5:00PM Monday, June 7.