11.9. Summary

We have used the basic mechanisms of Chapter 10 to solve a number of problems that arise in systems design. First, we assumed that the data to be passed between processes comprises fixed-size records and we designed a cyclic buffer with space for a number of records. We discussed how to achieve mutually exclusive access to the buffer and how the two categories of process, those that put a record in and those that take a record out, synchronize their activities. Another problem tackled was how several readers could be allowed to read shared data while writers could be given exclusive access. Eventcounts and sequencers were introduced as an alternative to semaphores and the problems were reprogrammed using them.

We noted that a study ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.