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 :

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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0
1
 
 
 
 
 
 
 
 
 
 
 
 
 
15

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

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.