Ordonnancemnt de processus

D'après 2021, Métropole, Candidats Libres, J2, Ex. 2

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

1.a. Expliquer à quoi correspond l'état « élu ».

Réponse

Un processus élu est en cours d'exécution par le processeur actuellement.

1.b. Proposer un schéma illustrant les passages entre les différents états.

Réponse
flowchart LR
    A(prêt) --> B(élu)
    B --> A
    B --> C(bloqué)
    C --> A
    B ---> D(terminé)

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

2.a. 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

Réponse

La file correspond au paradigme " Premier entré, premier sorti ".

2.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, les états du processus C₂ sont donnés. Compléter la frise avec les états des processus C₁, C₃ et C₄.

Frise à compléter

Réponse

Frise complétée

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 Programme 2
Verrouiller fichier_1 Verrouiller fichier_2
Calculs sur fichier_1 Verrouiller fichier_1
Verrouiller fichier_2 Calculs sur fichier_1
Calculs sur fichier_1 Calculs sur fichier_2
Calculs sur fichier_2 Déverrouiller fichier_1
Calculs sur fichier_1 Déverrouiller fichier_2
Déverrouiller fichier_2
Déverrouiller fichier_1

3.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é.

Réponse

Il s'agit d'un problème d'interblocage car les deux processus verrouillent simultanément les fichiers 1 et 2.

3.b. Proposer une modification du programme 2 permettant d'éviter ce problème.

Réponse

On échange simplement les deux premières lignes du programme 2 :

Programme 1 Programme 2
Verrouiller fichier_1 Verrouiller fichier_1
Calculs sur fichier_1 Verrouiller fichier_2
Verrouiller fichier_2 Calculs sur fichier_1
Calculs sur fichier_1 Calculs sur fichier_2
Calculs sur fichier_2 Déverrouiller fichier_1
Calculs sur fichier_1 Déverrouiller fichier_2
Déverrouiller fichier_2
Déverrouiller fichier_1