C09.EB3 : Gestion des processus
Partie A : Ordonnancement des processus
Dans le laboratoire d'analyse médicale d'un hôpital, plusieurs processus peuvent demander l'allocation du processeur simultanément.
Le tableau ci-dessous donne les demandes d'exécution de quatre processus et indique :
- • le temps d'exécution du processus (en unité de temps) ;
- • l'instant d'arrivée du processus sur le processeur (en unité de temps) ;
- • le numéro de priorité du processus (classé de 1 à 10).
Plus la priorité est grande plus le numéro de priorité est petit.
Ainsi le processus P3, du tableau ci-dessous, est plus prioritaire que le processus P1.
L'ordonnancement est de type préemptif, ce qui signifie qu'à chaque unité de temps, le processeur choisit d'exécuter le processus ayant le plus petit numéro de priorité (un seul processus à la fois). Ceci peut provoquer la suspension d'un autre processus qui reprendra lorsqu'il deviendra le plus prioritaire dans la file d'attente.
| Processus | Temps d'exécution | Instant d'arrivée | Numéro de priorité |
|---|---|---|---|
| P1 | 3 | 0 | 4 |
| P2 | 4 | 2 | 2 |
| P3 | 3 | 3 | 1 |
| P4 | 4 | 5 | 3 |
1. Reproduire le diagramme ci-dessous, sur votre copie, et indiquer dans chacune des cases le processus exécuté par le processeur entre deux unités de temps (il peut y avoir des cases vides).
2. Recopier et compléter les temps de séjour ainsi que les temps d'attente de chacun des processus (toujours en unités de temps).
- • Temps de séjour = instant de terminaison – instant d'arrivée
- • Temps d'attente = temps de séjour – temps d'exécution
| Processus | Temps d'exécution | Instant d'arrivée | Temps de séjour | Temps d'attente' |
|---|---|---|---|---|
| P1 | 3 | 0 | 14 - 0 = 14 | 14 - 3 = 11 |
| P2 | 4 | 2 | ||
| P3 | 3 | 3 | ||
| P4 | 4 | 5 |
3. À quelles conditions le temps d'attente d'un processus peut-il être nul ?
Partie B : Processus et ressources
Dans ce laboratoire d'analyse médicale de l'hôpital, le laborantin en charge du traitement des différents prélèvements (sanguins, urinaires et biopsiques) utilise simultanément quatre logiciels : un logiciel d'analyse d'échantillons (connecté à l'analyseur) ; un logiciel d'accès à la base de données des patients (SGBD) et un traitement de texte.
Le tableau ci-dessous donne l'état à un instant donné des différents processus (instances des programmes) qui peuvent soit mobiliser (M) des données (D1, D2, D3, D4 et D5), soit être en attente des données (A) ou ne pas les solliciter (-).
Une donnée ne peut être mobilisée que par un seul processus à la fois. Si un autre processus demande une donnée déjà mobilisée, il passe en attente.
Exemple : le SGBD mobilise la donnée D4 et est en attente de la donnée D5
| D1 | D2 | D3 | D4 | D5 | |
|---|---|---|---|---|---|
| Analyseur échantillon | M | - | - | A | - |
| SGBD | - | - | - | M | A |
| Traitement de texte | - | M | A | - | - |
| Tableur | A | - | M | - | M |
1. À partir du tableau ci-dessus, démontrer que, à cet instant, les processus s’attendent mutuellement.
2. Comment s’appelle cette situation ?
3. On suppose que l'analyseur d'échantillon libère la ressource D1. Donner un ordre possible d'exécution des processus.