Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 2 — Interfaces, processus et Linux

6. Processus, états et PCB

LECTURE 08 / 185 repères · 1 captureSynthèse avec omissions acceptées

6. Processus, états et PCB

Sur le terrain / Capture LinuxS02-PROCESSUS
Lire PID, PPID et état dans ps. Le PPID de sleep correspond au PID de son parent python3.
Lire PID, PPID et état dans ps

Le script de démonstration lance un enfant sleep. Le relevé porte uniquement sur ces deux processus.

  • Le PPID de sleep correspond au PID de son parent python3.
  • S indique une attente interruptible; les caractères supplémentaires de STAT sont des indicateurs distincts.
Lire la capture en texte
sleep 5 &
ps -o pid,ppid,stat,comm -p <parent>,<enfant>

PID    PPID STAT COMMAND
    385     384 Ss+  python3
    704     385 S+   sleep

Démonstration Station Minuit · Ubuntu 24.04 / WSL2 · Python 3 · 15 octobre 2026 (Toronto). Sortie réelle remise en page et capturée; exemple ajouté, distinct du matériel officiel.

6.1 Programme contre processus

Un programme est un code statique stocké dans un fichier. Un processus est une instance active de ce programme. Plusieurs processus issus du même exécutable ont des PID, espaces mémoire et états distincts.

L'espace d'adressage logique d'un processus comprend typiquement :

  • le code exécutable;
  • les données globales;
  • le tas pour l'allocation dynamique;
  • la pile d'appels;
  • les bibliothèques et zones mappées selon le système.

À cela s'ajoute le contexte processeur : compteur ordinal, registres et informations nécessaires à l'interruption puis à la reprise.

6.2 Cycle de vie

Tableau 1 — État · Signification
État Signification
Nouveau Le noyau prépare le processus et ses structures.
Prêt Tout est disponible sauf le CPU.
En exécution Les instructions utilisent actuellement le CPU.
Bloqué / en attente Le processus attend un événement, une donnée ou la fin d'une E/S.
Terminé L'exécution est finie; les ressources doivent être récupérées.

Après sa création, le processus devient prêt. L'ordonnanceur le choisit, il s'exécute, puis il peut être préempté vers l'état prêt, se bloquer en attendant un événement, ou se terminer. Quand l'événement attendu survient, un processus bloqué redevient prêt, pas directement actif.

La distinction essentielle est donc : un processus prêt attend uniquement le CPU; un processus bloqué attend autre chose.

6.3 PCB

Le Process Control Block est la structure du noyau qui représente un processus du point de vue administratif et processeur. Il contient notamment :

  • le PID et l'état courant;
  • le compteur ordinal et les registres sauvegardés;
  • les informations de mémoire;
  • la priorité et les données d'ordonnancement;
  • les ressources et E/S associées;
  • les relations nécessaires avec le parent et les enfants.

Le PCB n'est pas l'espace mémoire de l'application. Il est conservé par le noyau afin de gérer les files, l'interruption, la reprise et la terminaison.

Sous Linux, cette représentation prend notamment la forme de la structure C task_struct. Elle est beaucoup plus vaste que le PCB pédagogique et regroupe état, identifiants, priorités, parenté, mémoire, fichiers et signaux. Le modèle simplifié demeure utile pour raisonner sans dépendre des champs d'une version particulière du noyau.

6.4 Origines et processus d'arrière-plan

Un processus peut être créé pendant l'initialisation du système, par l'appel système d'un processus existant, à la demande d'un utilisateur dans une GUI ou un shell, ou par le lancement planifié d'un travail en lot. Dans tous les cas, le noyau doit allouer ses structures et ressources.

Le démarrage crée aussi des programmes offrant durablement des fonctions sans interaction directe. Unix parle traditionnellement de démons, comme sshd; Windows parle de services, administrables notamment avec Services.msc. Les deux remplissent des rôles comparables : réseau, impression, Web ou entretien du système.

Cycle de vie d’un processus : événement et attribution du CPUModèle simplifié à cinq états, un cœur : nouveau → prêt après admission; prêt → actif après sélection; actif → prêt après préemption; actif → bloqué lors d’une attente d’E/S; bloqué → prêt quand l’événement devient disponible; actif → terminé à la fin. Une fin d’E/S ne donne pas immédiatement le CPU. Les flèches indiquent des transitions, pas des durées ni une politique de priorité. Le modèle simplifie les états Linux; arrêt par signal et zombie ne sont pas assimilés au blocage d’E/S. Le PCB conserve l’état administratif et le contexte; il ne constitue pas l’espace mémoire utilisateur.NouveauPrêtActifBloquéTerminéadmissionsélectionpréemptionfinattente E/Sévénement disponibleUn cœur : un seul actif. Bloqué → prêt avant une nouvelle sélection.Arrêt par signal et zombie ne sont pas des états supplémentaires de ce modèle simplifié.
Cycle de vie d’un processus : événement et attribution du CPU

Modèle simplifié à cinq états, un cœur : nouveau → prêt après admission; prêt → actif après sélection; actif → prêt après préemption; actif → bloqué lors d’une attente d’E/S; bloqué → prêt quand l’événement devient disponible; actif → terminé à la fin. Une fin d’E/S ne donne pas immédiatement le CPU. Les flèches indiquent des transitions, pas des durées ni une politique de priorité. Le modèle simplifie les états Linux; arrêt par signal et zombie ne sont pas assimilés au blocage d’E/S. Le PCB conserve l’état administratif et le contexte; il ne constitue pas l’espace mémoire utilisateur.

Source : 01-02 - Introduction/SOMMAIRE_MAITRE_SEMAINE_02.md · §6.1–6.3 et §7. Figure originale du portail relue le 15 octobre 2026; aucune source omise reconstituée.

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.