vault backup: 2025-03-03 08:57:47
This commit is contained in:
parent
6195c53d92
commit
d4234a5acb
1 changed files with 15 additions and 0 deletions
|
@ -27,3 +27,18 @@ For this part of the course we assume that every process has a local memory but
|
||||||
For now, we will assume that processes won't fail.
|
For now, we will assume that processes won't fail.
|
||||||
We also assume that we have one processor per process. But actually the processor can be a shared resource (more processes than processors).
|
We also assume that we have one processor per process. But actually the processor can be a shared resource (more processes than processors).
|
||||||
|
|
||||||
|
### Synchronization: cooperation vs competition
|
||||||
|
Definition of **synchronization:** the behavior of one process depends on the behavior of others.
|
||||||
|
|
||||||
|
This requires two fundamentals interactions:
|
||||||
|
- **Cooperation**
|
||||||
|
- **Competition**
|
||||||
|
|
||||||
|
#### Cooperation
|
||||||
|
Different processes work to let all of them succeed in their task.
|
||||||
|
|
||||||
|
1. **Rendezvous:** every involved process has a control point that can be passed only when all processes are at their control point: the set of all control points is called *barrier*.
|
||||||
|
2. **Producer-consumer:** two kind of processes, one that produces data and one that consumes them
|
||||||
|
- only produced data can be consumed
|
||||||
|
- every datum can be consumed at most once
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue