vault backup: 2025-03-08 17:31:57
This commit is contained in:
parent
cdf5feb6c3
commit
414e2ab154
2 changed files with 12 additions and 12 deletions
|
@ -6,26 +6,26 @@
|
|||
- If the process follows one single control flow (i.e. one program counter) then it is a **sequential process**, or **thread**.
|
||||
- A set of sequential state machines that run simultaneously and interact through shared memory through a *shared medium* is called **concurrency**.
|
||||
|
||||
In a concurrent system there must be something shared.
|
||||
>[!note]
|
||||
*"In a concurrent system there must be something shared"*
|
||||
|
||||
##### Advantages of concurrent systems:
|
||||
#### Advantages of concurrent systems
|
||||
- efficiency: can run different stuff in parallel
|
||||
- simplification of the logic by dividing the task in simpler tasks, running them in different processes and combining the results together.
|
||||
|
||||
### Features of a concurrent system
|
||||
#### Features of a concurrent system
|
||||
We can assume many features:
|
||||
- Reliable vs Unreliable
|
||||
- Synchronous vs Asynchronous
|
||||
- Shared memory vs Channel-based communication
|
||||
|
||||
**Reliable** system: every process correctly executes its program
|
||||
- **Reliable** system: every process correctly executes its program.
|
||||
- **Asynchronous:** no timing assumption (every process has its own clock, which are independent one from the other).
|
||||
- **Shared medium:** A way is through a shared memory area, another way is through message passing.
|
||||
|
||||
**Asynchronous:** no timing assumption (every process has its own clock, which are independent one from the other)
|
||||
>[!info] For this part of the course we assume that every process has a local memory but can access a shared part of the memory. We will assume that memory is split into registers (will see later).
|
||||
|
||||
**Shared medium:** A way is through a shared memory area, another way is through message passing.
|
||||
For this part of the course we assume that every process has a local memory but can access a shared part of the memory. We will assume that memory is split into registers (will see later).
|
||||
|
||||
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).
|
||||
|
||||
### Synchronization: cooperation vs competition
|
Loading…
Add table
Add a link
Reference in a new issue