finish summary about PTR

This commit is contained in:
Klagarge committed 2024-03-24 18:09:04 +01:00
1 parent 5a1314a97a
commit ac64daca7f
6 files changed
+60 -4

No files matched your search

+53 -2
View File
@@ -425,8 +425,59 @@ Cette technique permet aux processus d'évoluer dans des queues en fonction du t
- Si le quantum est écoulé et que la suite d’instruction processeur n’est pas terminée, le processus est placé dans
la queue de priorité inférieure
Plus on descend dans les queues plus on est de priorité basse.
Plus on descend dans les queues, plus on est de priorité basse.
<u>Exemple :</u> Plus on descend dans les queues, plus le quantum devient grand.
# Interblocage
# Interblocage (DEADLOCK)
Un processus attend indéfiniment pour accéder à une ressource bloquée.
L'interblocage apparaît si les 4 conditions apparaissent simultanément :
1. ***L'exclusion mutuelle*** (mutual exclusion) : Une ressource au minimum n'est pas partageable.
2. ***La détention et l'attente*** (hold and wait) : Un processus qui dispose déjà d'au moins une ressource et qui attend l'acquisistion
d'une nouvelle ressource déjà utilisée par un autre processus.
3. ***Pas de réquisition*** (no preemption) : Les ressources obtenues par un processus ne peuvent pas lui être retirées contre son gré
4. ***L'attente circulaire*** (circulare wait) : Il doit y avoir un cycle d'au moins deux processus, chacun d'entre eux attendant
une ressource détenue par un autre processus du cycle.
Les interblocages peuvent être décrits plus précisément en utilsant un graphe appelé **graphe
d'allocation des ressources** (ressource allocation graph).
![interblocage.png](medias/interblocage.png)
- Si le graphe d'allocation des ressources ne contient aucun cycle $=>$ Aucun processus n'est en interblocage
- Si le graphe d'allocation des ressources contient un cycle $=>$ <u>Un risque</u> d'interblocage existe !!
On peut faire une réduction de graphe pour observer l'état suivant du graphe :
- Un graphe peut être réduit par un processus Pi, si le processus n'a pas de demande de ressource en cours.
- Pour faire une réduction, on enlève toutes les allocations du processus.
***Complètement réductible*** : si on arrive à faire des réductions successives jusqu'à ce qu'il n'y a plus de flêches
dans le graphe.
On peut résoudre le problème d'interblocage :
- ***Prévention*** : On garantit qu'aucun interblocage ne peut se produire.
- ***Prévenir** : Empêcher une des 4 conditions de se produire
- ***Éviter** : Éviter dynamiquement en allouant les ressource avec précaution
- ***Détection ou guérison*** : Lorsqu'un interblocage est détecté, on ramène le système dans un état où les processus sont débloqués
En cas d'interblocage, on peut utiliser deux algorithmes pour résoudre ce problème.
L'algorithme du banquier pour la prévention et ensuite un algorithme de reprise après interblocage.
L'algorithme de reprise fait soit appel à l'aide d'un opérateur, soit par une séquence automatique
qui tue les processus impliqués dans l'interblocage, soit un processus après l'autre jusqu'à ce que l'interblocage soit résolu.
Mais la destruction de processus est complexe et dangereuse.
## Algorithme du banquier (banker's algorithm)
Cette technique impose de connaître pour chaque processus les ressources dont il aura besoin.
- Il vérifie avant d'allouer une ressource que le graphe reste complètement réductible.
- Il alloue une ressource uniquement s'il y a plus de ressources disponibles que demandées.
- Sinon la demande de ressource est mise en attente.
<b><u>Exemple :</u></b><br>
![algo_banquier1.png](medias/algo_banquier1.png)
![algo_banquier2.png](medias/algo_banquier2.png)
Une ressource n'est attribuée que si les ressources demandées sont inférieurs aux ressources disponibles.
$$ (N)Needed < (A)Available $$
Si aucune rangée (processus) ne satisfait la condition, il y a <u><b>interblocage</b></u>.
+5
View File
@@ -23,6 +23,11 @@ les quantités sont modérées, le processeur est intensément utilisé, et ces
4. Souvent utilisé dans des applications où une flexibilité est nécessaire, mais peut poser des défis dans les systèmes où la prédictibilité est cruciale.
5. La gestion de l'incertitude et l'adaptabilité aux conditions changeantes sont des caractéristiques clés des systèmes non-déterministes.
### Système temps réel
- ***Temps réel dur:*** Le systéme fait une erreur si le délai est dépassé.
- ***Temps réel souple:*** Le système accepte le dépassement du délai sans grave conséquence.
- ***Temps réel ferme:*** Le système accepte le dépassement du délai, mais le résultat n'est plus d'aucune utilité.
### Management du temps (Timing)
Le timing peut avoir principalement deux formes différentes :
+2 -2
View File
@@ -4,7 +4,7 @@ Introduction aux systèmes d'exploitation
![operating_system.png](medias/operating_system.png)
Le système d'expoitation virtualise la partie hardward pour :
Le système d'exploitation virtualise la partie hardware pour :
- Simplifie l'utilisation
- Gère les ressources physiques
- Processeur
@@ -67,7 +67,7 @@ programme est exécuté afin d'optimiser l'utilisation du processeur.
La commutation de l'exécution d'un programme à un autre est assuré par l'**ordonnanceur** (scheduler).
*Inconvénients :* Les programmes cours, sont pénalisés car leur temps d'exécution dépend aussi des autres
*Inconvénients :* Les programmes cours, sont pénalisés, car leur temps d'exécution dépend aussi des autres
programmes en cours d'exécution.
Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB