Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 3 — Processus et appels système

3. États, PCB et ordonnanceur

LECTURE 06 / 234 repèresSynthèse avec omissions acceptées

3. États, PCB et ordonnanceur

3.1 Cycle de vie

Tableau 1 — État · Condition
État Condition
Nouveau Le noyau crée les structures et attribue les ressources initiales.
Prêt Le processus peut progresser et n'attend que le CPU.
Actif Le CPU exécute actuellement ses instructions.
Bloqué / en attente Le processus attend un événement, une E/S, un délai ou une ressource.
Terminé Le programme a fini; le noyau doit récupérer les ressources restantes.

Transitions essentielles :

  1. nouveau → prêt après l'admission;
  2. prêt → actif lorsque l'ordonnanceur choisit le processus;
  3. actif → prêt lors d'une préemption;
  4. actif → bloqué lorsqu'une opération ne peut pas continuer immédiatement;
  5. bloqué → prêt lorsque l'événement attendu survient;
  6. actif → terminé à la fin de l'exécution.

Un processus bloqué ne doit pas passer directement à actif simplement parce que son événement survient. Il redevient prêt, puis l'ordonnanceur décidera quand lui attribuer le CPU. La différence prêt/bloqué est centrale : le premier attend uniquement un processeur; le second ne progresserait pas même si un processeur lui était immédiatement donné.

3.2 Bloc de contrôle de processus

Le PCB (Process Control Block) est la représentation du processus dans le noyau. Il contient notamment :

  • PID et état;
  • compteur ordinal, pointeur de pile, registres et indicateurs;
  • informations de mémoire;
  • priorité et données d'ordonnancement;
  • ressources ouvertes et E/S;
  • relations de parenté;
  • statistiques d'utilisation.

Le PCB n'est ni le code du programme ni son espace d'adressage. C'est la structure administrative qui permet au noyau de suspendre l'exécution puis de la reprendre correctement. Sous Linux, task_struct joue concrètement ce rôle avec beaucoup plus de champs que le modèle pédagogique.

3.3 Changement de contexte

Pour passer de P0 à P1, le noyau :

  1. sauvegarde l'état CPU de P0 dans sa structure de contrôle;
  2. met à jour son état et sa file;
  3. choisit P1 selon la politique d'ordonnancement;
  4. restaure les registres et l'état de P1;
  5. reprend P1 à l'instruction désignée par son compteur ordinal.

Le changement de contexte est un mécanisme. La décision de choisir P1 relève d'une politique. La bascule consomme du temps sans faire progresser directement le code applicatif, mais elle rend possible le multitâche protégé.

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 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.