Shared Memory

Critical Regions
1538 views
Critical Regions

How do we avoid race conditions? The key to preventing trouble here and in many other situations involving shared memory, shared files, and shared everything else is to find some way to forbid more than one process from reading and writing the shared data at the same time.

Mutual Exclusion with Busy Waiting
2081 views
Mutual Exclusion with Busy Waiting

In this section we will study various proposals for achieving mutual exclusion, so that while one process is busy updating shared memory in its critical region, no other process will go into its critical region and cause trouble.

Peterson's Solution
2183 views
Peterson's Solution

By combining the idea of taking turns with the idea of lock variables and warning variables, a Dutch mathematician, T. Dekker, was the first one to plan a software solution to the mutual exclusion problem that does not require strict alternation. For a discussion of Dekker's algorithm, see (Dijkstra,

Mutexes
1415 views
Mutexes

When the semaphore's ability to count is not required, a simplified version of the semaphore, called a mutex, is often used. Mutexes are good only for managing mutual exclusion to some shared resource or piece of code. They are easy and efficient to implement, which makes

Message Passing
1371 views
Message Passing

That something else is message passing. This method of interprocess communication uses two primitives, send and receive, which, like semaphores and unlike monitors, are system calls rather than language constructs. As such, they can easily be put into library procedures,

Page 0 of 1 Previous 1 Next