12.4. Summary

We aim to make system issues clear and then discuss how they may be programmed. We have established the areas of systems where the model of processes sharing memory is appropriate: at the application level, where lightweight processes share an address space, and at the implementation level for any type of system. Chapters 10, 11 and 12 followed the development of concurrency constructs in high-level languages for shared-memory-based systems.

We have discussed the critical region construct, as one of the earlier forms of concurrency support. Its advantage is that the compiler supports the programmer by adding entry and exit protocols. However, it lacks modularization.

A monitor protects a single shared data object, by encapsulating ...

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.