CIS 307: TOPIC: Concurrent Processes

Summary

Concurrent processes. Interleaving, the Bernstein conditions, determinate computations. Precedence graphs, Fork and Join, CoBegin and CoEnd. Software solutions for the mutual exclusion problem [Dekker, Peterson, the Bakery algorithm]. Some machine instructions that support concurrency and spinlocks. Semaphores, monitors, message passing. Examples of concurrency problems: producer-consumer, readers and writers, dining philosophers. Examples of language support for concurrency: CSP, Ada. Structures used in implementing a concurrency kernel.

Reading in Tanenbaum

A number of topics that I consider important are not covered, or covered in more limited fashion.

Chapter 2:

Read the problems at the end of the chapter and discuss them with other students. If you are not sure about the correct answers, ask the instructor or the TA.

ingargiola.cis.temple.edu