Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

IFT-2001 / Laboratoire de compréhension

Entrelacements et synchronisation

Deux participants, un compteur. Choisir qui avance et observer ce que le verrou change.

Modèle et garanties

Exercice créé pour le portail à partir de S05/S06. A et B effectuent chacun un incrément depuis 0. Chaque clic exécute une opération atomique : lecture, calcul local, écriture, acquisition ou libération. Les opérations suivent l’ordre de chaque participant; la mémoire partagée est séquentiellement cohérente. L’incrément complet n’est pas atomique.

Avec mutex, toute la séquence lecture → calcul → écriture est protégée par le même verrou. Une acquisition occupée bloque sans avancer l’instruction. Seul le propriétaire libère; la libération rend l’attenteur prêt, qui devra être sélectionné puis acquérir. Le verrou ne désactive pas la préemption. Aucun ordre FIFO, temps d’attente borné, héritage de priorité ni équité de l’ordonnanceur n’est promis.

Entre les clics, les participants sont prêts, bloqués ou terminés. « Dernière opération » indique qui vient d’être exécuté; « Prochaine instruction » indique ce qui reste à faire. Un prêt peut rester sans CPU tant que vous ne le choisissez pas. Le modèle ne mesure pas de temps.

Une trace réussie ne prouve pas la correction générale. Ici, la propriété du mutex et la protection de tous les accès sérialisent les deux mises à jour : toute exécution complète protégée aboutit à 2 dans ces hypothèses. Terminer exige de faire avancer les participants prêts. Ceci ne simule aucun programme C réel ni son comportement indéfini en présence d’une course; aucun code utilisateur ou noyau n’est exécuté.

Construire une trace

Suivre le guide avec le bouton dédié, ou choisir librement A et B. Un choix différent quitte le guide jusqu’à la remise à zéro. Le bouton Reculer retrouve exactement l’état précédent.

Compteur partagé 0

Propriétaire du mutex Sans protection

Dernière opération

Journal de la trace courante

    Prédire avant de dérouler

    La question porte sur le scénario guidé sélectionné, même si vous explorez un autre ordre. Réponse en mémoire de cette page; aucune tentative ni maîtrise enregistrée.

    Traces de référence et explication

    Au départ : compteur 0, copies locales inconnues; A et B prêts. L’acquisition et la libération sont des étapes distinctes.

    1. Sans protection, perte : A lit 0; B lit 0; A calcule 1; B calcule 1; A écrit 1; B écrit 1. Résultat : 1.
    2. Sans protection, ordre favorable : A lit, calcule, écrit 1; B lit 1, calcule et écrit 2. Résultat : 2, sans garantie sur un autre ordre.
    3. Mutex : A acquiert; B se bloque; A lit 0, calcule 1, écrit 1; A libère et réveille B, encore sans propriétaire. B acquiert, lit 1, calcule 2, écrit 2, libère. Résultat : 2.

    Dans la trace perdue, B utilise une copie périmée. Avec le mutex, B attend avant de lire : les deux mises à jour complètes se suivent. Inverser A et B est aussi permis; le mutex ne choisit pas quel participant commence.

    Relire les sources S05 et S06

    Maîtres historiques avec omissions déclarées : S05 au 4 octobre et S06 au 14 octobre 2026. Aucun contenu de S07 ajouté.

    Récupérer manuellement les données locales

    Copier séparément les données ci-dessous dans des fichiers texte avant de fermer la page ou de modifier le stockage. Une valeur illisible ou incompatible reste en place. Aucun effacement ni rétablissement écrasant n’est effectué automatiquement. L’export/import JSON est disponible sur la page Progression du cours. Cette récupération séparée reste utile pour une valeur brute ou un conflit.

    Clé de ce cours : . Format v1 porté par cette clé; dates UTC et identifiants durables.

    Si l’accès est refusé, la valeur persistée peut rester inaccessible. Réautoriser le stockage dans le navigateur puis rouvrir ce cours permet de la relire. Une réinitialisation exige une décision explicite après récupération; aucune commande de suppression n’est proposée ici. Les données restent sur cette origine et cet appareil, sans transfert automatique.