5

 

 

Interprocess Communication Based on Shared Variables

 

CONTENTS

5.1 Race Conditions and Critical Regions

5.2 Hardware-Assisted Lock Variables

5.3 Software-BasedMutual Exclusion

5.4 From Active to PassiveWait

5.5 Semaphores

5.6 Monitors

5.7 Summary

More often than not, in both general-purpose and real-time systems, processes do not live by themselves and are not independent of each other. Rather, several processes are brought together to form the application software, and they must therefore cooperate to solve the problem at hand.

Processes must therefore be able to communicate, that is, exchange information, in a meaningful way. As discussed in Chapter 2, it is quite possible to share some memory among processes in a controlled way by ...

Get Real-Time Embedded Systems 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.