CS322: Concurrent Processes and Programming

Controlled access to shared data

  1. One of the most difficult problems in concurrent program is that of coordinating cooperation between the processes. If two processes are totally unrelated to one another, then they may execute concurrently without the possibility of mutual interference. But if they share any data in common, then access to that data must be controlled to prevent inconsistencies.

  2. To deal with critical sections, we need a methodology that guarantees:

  3. Solutions to the critical section problem are of two general types:

  4. Software solutions: two processes, one critical section each. We require that each process execute special entry code before starting its critical section, and exit code upon leaving. The problem is to specify what the entry and exit code must be:

  5. Hardware-based solutions.


$Id: concurrency5.html,v 1.5 1998/03/03 23:42:04 senning Exp $

These notes were written by Prof. R. Bjork of Gordon College. In February 1998 they were edited and converted into HTML by J. Senning of Gordon College.