APICe » Publications » Co-operating Sequential Processes

Co-operating Sequential Processes

Edsger Wybe Dijkstra
Preface.
0. Introduction
  1. On the Nature of Sequential Processes.
  2. Loosely Connected Processes.
    1. A Simple Example.
    2. The Generalized Mutual Exclusion Problem.
    3. A Linguistic Interlude.
  3. The Mutual Exclusion Problem Revisited.
    1. The Need for a More Realistic Solution.
    2. The Synchronizing Primitives.
    3. The Synchronizing Primitives Applied to the Mutual Exclusion Problem.
  4. The General Semaphore.
    1. Typical Uses of the General Semaphore.
    2. The Superfluity of the General Semaphore.
    3. The Bounded Buffer.
  5. Cooperation via Status Variables.
    1. An Example of a Priority Rule.
    2. An Example of Conversations
      1. Improvements of the Previous Program.
      2. Proving the Correctness.
  6. The Problem of the Deadly Embrace.
    1. The Banker's Algorithm.
    2. The Banker's Algorithm Applied
  7. Concluding Remarks.
The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls, Ch. 2, pages 65-138, 2002.
Per Brinch Hansen (eds.), Springer
Reprinted. 1st edition: 1965
@incollection{diningphilo2002,
	Author = {Dijkstra, Edsger Wybe},
	Booktitle = {The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls},
	Chapter = 2,
	Editor = {Hansen, Per Brinch},
	Isbn = {0-387-95401-5},
	Note = {Reprinted. 1st edition: 1965},
	Pages = {65--138},
	Publisher = {Springer},
	Title = {Co-operating Sequential Processes},
	Url = {http://portal.acm.org/citation.cfm?id=762974},
	Year = 2002}