Adloun

NSI (terminale) · Chapitre 13 · Exercice d'entraînement

Les entrelacements d'une variable partagée

Systèmes d'exploitation et processus · Concurrence et interblocage · niveau 2

Énoncé

Les entrelacements d'une variable partagée. Une variable partagée x vaut . Deux processus s'exécutent en même temps :

  • lit x dans une variable locale a (étape ), puis écrit 2 * a dans x (étape ) ;
  • lit x dans une variable locale b (étape ), puis écrit b + 3 dans x (étape ).

Chaque processus fait sa lecture avant son écriture, mais l'ordonnanceur peut entrelacer les étapes des deux processus de n'importe quelle façon.

  • Combien y a-t-il d'ordres possibles pour les quatre étapes ? Les énumérer.
  • Donner la valeur finale de x dans chaque cas. Quelles valeurs finales sont possibles ?
  • Quelles valeurs restent possibles si chaque processus protège ses deux étapes par un même verrou ? Comment appelle-t-on la portion de code ainsi protégée ?

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre