Adloun

Corrigé X-ENS 2026 Informatique C MPI — Partie IV (1) (Q15 à Q19) : Indépendance et ensembles persistants

Sujet officiel du concours X-ENS, session 2026, épreuve Informatique C MPI. Corrigé rédigé par Ibrahim Alame.

Sujet officiel (PDF, site du concours)

Énoncé

Le programme de la figure 5 (partie III, sans la correction de Q13) est modélisé par un système de transitions : un état donne m, la position de chaque thread (nombre d'instructions exécutées parmi les lignes 4 à 7) et ses variables locales définies ; l'action exécute la -ième instruction du thread , chaque instruction étant atomique. Quelques états :

Q15. Combien d'exécutions de longueur huit (la longueur maximale) depuis ?

Dans quelconque, deux actions sont indépendantes () si, pour tout : exécuter l'une ne change pas la disponibilité de l'autre, et si les deux sont disponibles en , :

On note si pour toute lettre de , et pour un ensemble .
Q16. Figure 5 : les deux actions disponibles en sont-elles indépendantes ? En , , ?

est persistant pour si (A1) quand , et (A2) pour toute exécution avec tous les , on a pour tout .
Q17. persistant pour , , exécution comme dans (A2) : montrer que pour tout .
Q18. Figure 5 : un ensemble persistant minimal (pour l'inclusion) en ; en .
Q19. persistant pour chaque , terminal accessible depuis : montrer qu'il existe une exécution () avec pour tout .

Corrigé

Le modèle. Les états de sont les états du programme, c'est-à-dire ceux qu'il peut atteindre depuis : on en compte par énumération. (C'est la lecture imposée par le sujet : doit être fini, ce qui exclut de prendre pour états toutes les valuations entières imaginables des variables ; et les quatre états définis par le sujet sont tous accessibles depuis .) L'action est disponible exactement quand le thread est en position ; elle ne modifie que la position du thread , ses variables locales, et m si .

Q15. Le système est déterministe : une exécution depuis est déterminée par sa suite d'actions. Un thread n'est jamais bloqué (aucune attente dans max2) : une suite d'actions est exécutable depuis si et seulement si, pour chaque thread , les actions de ce thread qu'elle contient forment, dans l'ordre, un préfixe de ( n'étant disponible qu'en position ). Les exécutions de longueur huit sont donc les entrelacements de et de , déterminés par le choix des quatre positions (parmi huit) occupées par le thread 1 :

Exécuté : l'énumération depuis trouve exécutions de longueur et aucune de longueur . Ce que le correcteur attend : on compte des exécutions, pas des états d'arrivée ; beaucoup de ces exécutions mènent au même état final.

Q16. L'indépendance est une propriété du couple d'actions, à vérifier sur tous les états de , pas seulement sur l'état cité. Pour deux actions de threads différents, les deux premières conditions sont toujours vraies : la disponibilité de ne dépend que de la position du thread , que l'autre thread ne modifie pas. Reste la commutation, sur les états où les deux sont disponibles.

100 % gratuit

La suite du corrigé est sur Adloun

Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.

Voir le corrigé complet, gratuitement

Inscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.

Toutes les parties de l'épreuve

Corrigé complet gratuit →