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
xdans une variable localea(étape ), puis écrit2 * adansx(étape ) ; - lit
xdans une variable localeb(étape ), puis écritb + 3dansx(é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
xdans 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.