vault backup: 2025-03-03 08:47:47
This commit is contained in:
parent
2a916e0bfc
commit
7fc8767934
1 changed files with 17 additions and 1 deletions
|
@ -2,4 +2,20 @@ A **sequential algorithm** is the formal description of the behavior of an *abst
|
|||
|
||||
A **program** is a sequential algorithm written in a programming language.
|
||||
|
||||
A **process** is a program executed on a *concrete* machine, characterized by its *state* (values of the registers). If the process follows one single control flow
|
||||
A **process** is a program executed on a *concrete* machine, characterized by its *state* (values of the registers). 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.
|
||||
|
||||
##### Advantages of concurrent systems:
|
||||
- efficiency: run in parallel different stuff
|
||||
- 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
|
||||
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
|
||||
**Async**
|
Loading…
Reference in a new issue