CSE 131 Chapter 2.3:
Document Summary
3 issues with processes frequently needing to communicate with other processes. How one process can pass info to another. Making sure processes don"t get in each other"s wa. Ex: two or more processes are reading/writing some shared data and the final result depends on who runs precisely when. Increasing parallelism due to increasing number of cores causes race conditions to be more common. Prevent more than one process from reading/writing the shared data at a time. Arrange processes so no two processes were ever in the critical region at the same time. Critical region: part of the program where shared memory is accessed. Conditions for having parallel processes cooperate correctly using shared data. No two processes may be simultaneously inside their critical regions. No assumptions may be made about speeds or number of cpus. No process running outside its critical region may block any process. No process should have to wait forever to enter its critical region.