====== Exercice : Gestion de processus ======
Il s'agit de l'exercice 2 de ce {{ .:spe-numerique-informatique-2021-metro-cand-libre-2-sujet-officiel.pdf |sujet}}.
//Cet exercice porte sur la gestion des processus et des ressources par un système d'exploitation.//
{{ .:annexe_processus.pdf |Document annexe à imprimer}}
=== Question 1 ===
Les états possibles d'un processus sont : **prêt**, **élu**, **terminé** et **bloqué**.
- Expliquer à quoi correspond l’état élu.
- 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é.
- 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
- 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\\
- En supposant que les processus correspondant à ces programmes s'exécutent simultanément (exécution concurrente), expliquer le problème qui peut être rencontré.
- Proposer une modification du programme 2 permettant d’éviter ce problème.