C09.EB2 : Gestion des processus
1. Les états possibles d’un processus sont : prêt, élu, terminé et bloqué.
a. Expliquer à quoi correspond l’état élu.
b. Proposer un schéma illustrant les passages entre les différents états.
2. On suppose que quatre processus C₁, C₂, C₃ et C₄ 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é.
a. Parmi les propositions suivantes, recopier celle qui décrit le fonctionnement des entrées/sorties dans une file :
i. Premier entré, dernier sorti
ii. Premier entré, premier sorti
iii. Dernier entré, premier sorti
b. On suppose que les quatre processus arrivent dans la file et y sont placés dans l’ordre C₁, C₂, C₃ et C₄.
- Les temps d’exécution totaux de C₁, C₂, C₃ et C₄ sont respectivement 100 ms, 150 ms, 80 ms et 60 ms.
- Après 40 ms d’exécution, le processus C₁ demande une opération d’écriture disque, opération qui dure 200 ms.
Pendant cette opération d’écriture, le processus C₁ passe à l’état bloqué.
- Après 20 ms d’exécution, le processus C₃ demande une opération d’écriture disque, opération qui dure 10 ms. Pendant cette opération d’écriture, le processus C₃ passe à l’état bloqué.
Sur la frise chronologique ci-dessous (à rendre avec la copie), les états du processus C₂ sont donnés. Compléter la frise avec les états des processus C₁, C₃ et C₄.
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
a. En supposant que les processus correspondant à ces programmes s’exécutent simultanément (exécution concurrente), expliquer le problème qui peut être rencontré.
b. Proposer une modification du programme 2 permettant d’éviter ce problème.