Exercice : Gestion de processus

Il s'agit de l'exercice 2 de ce sujet.

Cet exercice porte sur la gestion des processus et des ressources par un système d'exploitation.

Document annexe à imprimer

Question 1

Les états possibles d'un processus sont : prêt, élu, terminé et bloqué.

  1. Expliquer à quoi correspond l’état élu.
  2. Proposer un schéma illustrant les passages entre les différents états.

Question 2

On suppose que quatre processus C1, C2, C3 et C4 sont créés sur un ordinateur, et qu'aucun autre processus n'est lancé sur celui-ci, ni préalablement ni pendant l'exécution des quatre processus.

L'ordonnanceur, pour exécuter les différents processus prêts, les place dans une structure de données de type file. Un processus prêt est enfilé et un processus élu est défilé.

  1. Parmi les propositions suivantes, recopier celle qui décrit le fonctionnement des entrées/sorties dans une file :
    • Premier entré, dernier sorti
    • Premier entré, premier sorti
    • Dernier entré, premier sorti
  2. On suppose que les quatre processus arrivent dans la file et y sont placés dans l'ordre C1, C2, C3 et C4. Compléter la frise avec les états des processus C1 , C3 et C4 sachant que :
    • Les temps d’exécution totaux de C1, C2, C3 et C4 sont respectivement 100 ms, 150 ms, 80 ms et 60 ms.
    • Après 40 ms d'exécution, le processus C1 demande une opération d’écriture disque, opération qui dure 200 ms. Pendant cette opération d’écriture, le processus C1 passe à l’état bloqué.
    • Après 20 ms d'exécution, le processus C3 demande une opération d'écriture disque, opération qui dure 10 ms. Pendant cette opération d’écriture, le processus C3 passe à l'état bloqué.
    • Sur la frise chronologique donnée en annexe (à rendre avec la copie), les états du processus C2 sont donnés.

Question 3

On trouvera ci- dessous deux programmes rédigés en pseudo-code.

Verrouiller un fichier signifie que le programme demande un accès exclusif au fichier et l’obtient si le fichier est disponible.

Programme 1

Verrouiller fichier_1
Calculs sur fichier_1
Verrouiller fichier_2
Calculs sur fichier_1
Calculs sur fichier_2
Calculs sur fichier_1
Déverrouiller fichier_2
Déverrouiller fichier_1

Programme 2

Verrouiller fichier_2
Verrouiller fichier_1
Calculs sur fichier_1
Calculs sur fichier_2
Déverrouiller fichier_1
Déverrouiller fichier_2

  1. En supposant que les processus correspondant à ces programmes s'exécutent simultanément (exécution concurrente), expliquer le problème qui peut être rencontré.
  2. Proposer une modification du programme 2 permettant d’éviter ce problème.