Skip to content
Snippets Groups Projects

fix: faute de frappe et de français

Open jad.tayan requested to merge jad.tayan/cours-fork:main into main
2 files
+ 10
10
Compare changes
  • Side-by-side
  • Inline

Files

+ 8
8
@@ -51,7 +51,7 @@ fn fib(n: u64) -> u64 {
if n == 0 || n == 1 {
n
} else {
fin(n - 1) + fib(n - 2)
fib(n - 1) + fib(n - 2)
}
}
```
@@ -115,7 +115,7 @@ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
### Moralité
* Le nombre de tâches a pas dramatiquement évolué....
* Le nombre de tâches n'a pas dramatiquement évolué....
* Malgré les 10 threads utilisés pour calculer les coefficients de Fibonacci
. . .
@@ -134,7 +134,7 @@ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
* Depuis 2 Threads
* Incrémenter une variable partagée par les threads
* Accès concurrent => Besoin de vérouiller la variable
* Mais le modèle mémoire de Rust ne devrait pas permettre la modification d'une variable de deux endroits distintcs...
* Mais le modèle mémoire de Rust ne devrait pas permettre la modification d'une variable de deux endroits distincts...
* Alors comment faire?
## Mutex et Arc
@@ -245,7 +245,7 @@ async fn main() -> Result<(), Error> {
```
* On fait les requêtes,
* On attend que chacune des requêtes soient terminées
* On attend que chacune des requêtes soit terminées
* Gain?
* Les différentes tâches sont exécutées "synchrones" (dans l'ordre)
@@ -281,7 +281,7 @@ async fn main() -> Result<(), Error> {
. . .
* L'OS gère les ressources affectées au différents programmes
* L'OS gère les ressources affectées aux différents programmes
* L'OS est responsable de démarrer, mettre en pause, arrêter les tâches
* Permet d'avoir un clavier, souris, etc. qui fonctionnent "en même temps"
* Tout cela est géré par l'ordonnanceur (scheduler)
@@ -299,7 +299,7 @@ async fn main() -> Result<(), Error> {
### Processus
* Abstraction offert par l'OS et exécuté sur le CPU
* Abstraction offerte par l'OS et exécuté sur le CPU
* Une séquence d'instructions qui permettent d'effectuer des actions
* Peut être créé par un autre processus
* Possède un identifiant unique (assigné par l'OS)
@@ -308,7 +308,7 @@ async fn main() -> Result<(), Error> {
. . .
### Threads sytème
### Threads système
* Plus petit fil d'exécution d'un programme *séquentiel*
* **Partage** l'espace mémoire avec les autres threads d'un processus
@@ -321,7 +321,7 @@ async fn main() -> Result<(), Error> {
* La concurrence c'est **gérer** plusieurs actions en même temps
* Le parallélisme c'est **exécuter** plusieurs actions en même temps
* Une **tâche** est un suite d'opérations qui requièrent des **ressources** (CPU, mémoire, ...)
* Une **tâche** est une suite d'opérations qui requièrent des **ressources** (CPU, mémoire, ...)
### Concurrence
Loading