finish summary about PTR
This commit is contained in:
1 parent
5a1314a97a
commit
ac64daca7f
6 files changed
+60
-4
No files matched your search
+53
-2
@@ -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).
|
||||

|
||||
- 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>
|
||||

|
||||

|
||||
|
||||
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>.
|
||||
@@ -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
@@ -4,7 +4,7 @@ Introduction aux systèmes d'exploitation
|
||||
|
||||

|
||||
|
||||
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 |
Reference in new issue
Block a user