Station MinuitExplorer, comprendre, pratiquer

SYSTEMES — Comprendre les systèmesAutomne 2026

Semaine 8 — Interblocage : graphes, détection et récupération

8. Représenter plusieurs instances par des matrices

LECTURE 11 / 184 repèresSynthèse avec omissions acceptées

8. Représenter plusieurs instances par des matrices

8.1. Définir les dimensions et les quatre structures

Le second modèle considère n processus et m types de ressources. Un type peut posséder plusieurs instances; m est donc le nombre de catégories, et non le total de leurs instances.

Tableau 1 — Symbole · Dimension · Signification
Symbole Dimension Signification
E Vecteur de m composantes Nombre total d'instances existantes pour chaque type
A Vecteur de m composantes Nombre d'instances actuellement disponibles pour chaque type
C Matrice n × m Allocations actuelles : C[i,j] est le nombre d'instances du type j détenues par le processus i
R Matrice n × m Requêtes considérées : R[i,j] est le nombre d'instances du type j que demande le processus i

Une ligne C[i] décrit les détentions d'un processus. Une ligne R[i] décrit ses demandes dans l'état analysé; le cours la présente comme ce qu'il doit demander pour poursuivre. Une colonne rassemble les quantités d'un même type à travers les processus.

Ces informations ne doivent pas être échangées : C décrit ce qui est déjà alloué, A ce qui reste disponible et E ce qui existe au total. R est une demande; ce n'est pas une détention déjà à ajouter au total des allocations.

8.2. Vérifier la conservation des instances

Pour chaque type j, les ressources sont soit disponibles, soit déjà allouées :

∑i=1nC[i,j]+A[j]=E[j],j=1,…,m.\sum_{i=1}^{n} C[i,j] + A[j] = E[j], \qquad j=1,\ldots,m.
Source TeX à sélectionner et copier
\sum_{i=1}^{n} C[i,j] + A[j] = E[j], \qquad j=1,\ldots,m.

Dans cette formule, i parcourt les processus et j désigne le type dont on contrôle les quantités. On additionne donc une colonne de C, puis la composante correspondante de A. Le contrôle est effectué séparément pour chaque type.

Cet invariant permet de vérifier la cohérence d'un état fourni ou de retrouver A à partir de E et C. Un total général regroupant tous les types ne suffit pas : un scanner ne remplace pas une table traçante, même si le nombre total de ressources semble convenir.

8.3. Comparer des vecteurs composante par composante

Pour deux vecteurs X et Y de même dimension :

X≤Y⟺X[j]≤Y[j] pour tout type j.X \leq Y \quad\Longleftrightarrow\quad X[j]\leq Y[j]\ \text{pour tout type }j.
Source TeX à sélectionner et copier
X \leq Y \quad\Longleftrightarrow\quad X[j]\leq Y[j]\ \text{pour tout type }j.

Le support donne deux exemples :

  • (3,4,4,5) ≤ (6,4,5,7) est vrai : les quatre comparaisons sont satisfaites, y compris l'égalité 4 ≤ 4.
  • (4,3,1,2) ≤ (5,4,5,1) est faux : les trois premières comparaisons sont vraies, mais la dernière exige 2 ≤ 1.

Une seule composante insuffisante rend la comparaison fausse. Additionner les composantes ferait disparaître le type précis qui manque et pourrait conduire à accorder une demande impossible. L'égalité est permise : une demande exactement égale aux disponibilités peut être admissible.

Retour au sommaire de l’unitéHaut de page
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 thème. 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.