9.7. A process interaction

We now consider the interactions between processes in more detail, bearing in mind the broad categories of cooperation and competition and the architectural distinction of shared data and no shared data.

9.7.1. Problems when processes share data in memory

If processes share an address space, the system designer may make use of shared data objects to effect cooperation or manage competition for resources. If shared data objects can be written as well as read by concurrent processes, problems can arise.

Consider an airline booking system, for example. The database of flight bookings will be held on disk, but read into main memory for reading and update. Let us consider the data in main memory. Suppose that the seats of ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.