Revision sheet: Gestion des processus sous Linux

Plan du Cours

  1. Définition d'un processus
  2. États d'un processus
  3. Gestion des états par OS
  4. Création d'un processus
  5. Identifiants PID et PPID
  6. Observation des processus Linux
  7. Interblocage (deadlock)

1. Définition d'un processus

Notions clés & Définitions

Processus : AUTEUR (date) : exécution d'un programme. Il s'agit d'une instance en cours d'exécution d'un programme, distincte du code source.

Programme en cours d'exĂ©cution : un programme qui est en train d'ĂȘtre exĂ©cutĂ© par l'ordinateur. Il devient un processus uniquement lorsqu'il est en cours d'exĂ©cution.

Code source : ensemble d'instructions Ă©crites dans un langage de haut niveau, qui doit ĂȘtre transformĂ© en langage machine pour ĂȘtre exĂ©cutĂ©. Ce code reprĂ©sente la version statique du programme.

Points essentiels

Un processus correspond à l'exécution d'un programme, distinct du code source. En d'autres termes, le code source est la version statique, tandis que le processus est la manifestation dynamique de ce code lors de son exécution par l'ordinateur.

Un programme devient un processus uniquement lorsqu'il est en cours d'exécution par l'ordinateur. Cela signifie que la simple présence du code source ne constitue pas un processus ; c'est l'action d'exécuter ce code qui le transforme en processus.

À retenir

Il est essentiel de distinguer un programme statique de son exécution dynamique. Le processus représente cette exécution, incarnant concrÚtement le programme en action dans le systÚme.

2. États d'un processus

Notions clés & Définitions

  • État Ă©lu

  • AUTEUR : voir section 1

  • État bloquĂ©
    AUTEUR (date) : processus qui attend la disponibilité d'une ressource, ne pouvant pas poursuivre son exécution.

  • État prĂȘt
    AUTEUR (date) : processus qui a obtenu toutes les ressources nécessaires pour s'exécuter, mais n'est pas encore en cours d'exécution.

  • OpĂ©ration d'Ă©lection
    AUTEUR (date) : processus qui utilise le microprocesseur, donc dans l'état élu.

  • OpĂ©ration de blocage
    AUTEUR (date) : transition d'un processus de l'état élu à l'état bloqué, généralement lors d'une attente de ressource.

Points essentiels

Un processus ne peut ĂȘtre dans l'Ă©tat Ă©lu que s'il utilise le microprocesseur. Le passage d'un processus de l'Ă©tat Ă©lu Ă  bloquĂ© correspond Ă  une opĂ©ration de blocage. Un processus est toujours créé dans l'Ă©tat prĂȘt et doit ĂȘtre Ă©lu pour se terminer. Lorsqu'un processus en Ă©tat Ă©lu demande une ressource indisponible, il passe Ă  l'Ă©tat bloquĂ©. Il ne peut reprendre son exĂ©cution qu'aprĂšs avoir obtenu la ressource, ce qui peut nĂ©cessiter une nouvelle opĂ©ration d'Ă©lection pour un autre processus. La gestion des Ă©tats permet de moduler la gestion temporelle et les attentes des processus dans l'ordonnancement, en assurant que seul un processus Ă  la fois utilise le microprocesseur, tout en permettant Ă  d'autres de patienter ou de se prĂ©parer Ă  s'exĂ©cuter.

À retenir

Les Ă©tats d'un processus traduisent la gestion temporelle et les attentes dans l'ordonnancement : un processus en Ă©tat Ă©lu utilise le microprocesseur, tandis qu'un processus bloquĂ© attend une ressource, et un processus prĂȘt est en attente d'une nouvelle Ă©lection pour reprendre l'exĂ©cution.

3. Gestion des états par OS

Notions clés & Définitions

  • AUTEUR : voir section 1

Chef d'orchestre (systĂšme d'exploitation) : rĂŽle central du systĂšme d'exploitation dans la coordination des processus, en attribuant et en gĂ©rant leurs Ă©tats (Ă©lu, prĂȘt, bloquĂ©). Il contrĂŽle l'ordre et la prioritĂ© d'exĂ©cution, assurant une gestion cohĂ©rente et efficace.

Libération de ressource : opération par laquelle un processus, étant dans l'état "élu", rend une ressource qu'il utilisait afin de la rendre disponible pour d'autres processus. Cette étape est essentielle pour la gestion efficace des ressources partagées.

Points essentiels

Le systĂšme d'exploitation est responsable de l'attribution des Ă©tats aux processus, en gĂ©rant leur passage entre "prĂȘt", "Ă©lu" et "bloquĂ©". Un seul processus peut ĂȘtre Ă©lu Ă  la fois, ce qui garantit l'exclusivitĂ© du microprocesseur. Lorsqu'un processus doit libĂ©rer une ressource qu'il utilise, il doit obligatoirement ĂȘtre dans l'Ă©tat "Ă©lu" pour effectuer cette libĂ©ration.

Un processus créé est toujours initialement dans l'Ă©tat "prĂȘt". Pour s'exĂ©cuter, il doit ĂȘtre Ă©lu, c'est-Ă -dire passer dans l'Ă©tat "Ă©lu". La transition de "prĂȘt" Ă  "Ă©lu" s'appelle l'Ă©lection, tandis que la transition de "Ă©lu" Ă  "bloquĂ©" s'appelle le blocage. La gestion de ces transitions, orchestrĂ©e par le systĂšme d'exploitation, constitue le cƓur de l'ordonnancement des processus.

À retenir

Le systÚme d'exploitation joue un rÎle central dans la coordination des processus en gérant leurs états, garantissant que seul un processus à la fois exploite le microprocesseur, et assurant la libération efficace des ressources.

4. Création d'un processus

Notions clés & Définitions

  • Commande fork
    La commande fork est une commande systÚme qui permet à un processus d créer un ou plusieurs processus fils. Elle duplique le processus appelant, créant ainsi un nouveau processus identique en tout point, mais avec un identifiant différent.

  • Processus pĂšre
    Un processus pÚre est un processus qui a créé un ou plusieurs processus fils via la commande fork. Il est considéré comme l'origine de la hiérarchie dans la structure arborescente des processus.

  • Processus fils
    Un processus fils est un processus créé par un processus pÚre. Il hérite de certaines caractéristiques de son pÚre et occupe une position inférieure dans la structure hiérarchique.

  • Structure arborescente des processus
    La relation entre processus pĂšre et fils forme une structure arborescente hiĂ©rarchique. Chaque processus peut avoir plusieurs processus fils, mais un processus n’a qu’un seul pĂšre, sauf le processus initial.

  • Processus init
    Le processus init est le premier processus créé aprÚs le processus 0 lors du démarrage du systÚme. Il sert de point de départ pour la création de tous les autres processus nécessaires au fonctionnement du systÚme.

  • Processus Swapper (PID 0)
    Le processus Swapper, Ă©galement appelĂ© processus 0, est le tout premier processus créé au dĂ©marrage du systĂšme. Il n’a pas de processus pĂšre et sert de base Ă  la crĂ©ation des autres processus.

Points essentiels

Un processus peut crĂ©er un ou plusieurs processus fils en utilisant la commande systĂšme "fork". Par exemple, si un processus A crĂ©e un processus B, A est le pĂšre de B et B est le fils de A. B peut Ă  son tour crĂ©er un processus C, faisant de B le pĂšre de C. La relation pĂšre/fils s’organise en une structure arborescente, hiĂ©rarchique. Au dĂ©marrage, le tout premier processus, appelĂ© processus 0 ou Swapper, est créé Ă  partir de "rien" et ne possĂšde pas de parent. Ensuite, ce processus 0 crĂ©e un processus appelĂ© "init", qui Ă  son tour engendre d’autres processus nĂ©cessaires au fonctionnement du systĂšme. Chaque processus possĂšde un identifiant unique appelĂ© PID, et le processus pĂšre est identifiĂ© par le PPID (Parent Process ID).

À retenir

La hiĂ©rarchie des processus repose sur leur crĂ©ation via la commande fork, formant une structure arborescente oĂč le processus initial (Swapper) donne naissance au processus "init" puis Ă  tous les autres processus du systĂšme.

5. Identifiants PID et PPID

Notions clés & Définitions

PID (Process Identification)

  • AUTEUR : voir section 1

PPID (Parent Process Identification)
AUTEUR (date) : Le PPID est un nombre qui indique le PID du processus parent d’un processus donnĂ©. Il Ă©tablit la relation hiĂ©rarchique entre processus.

Points essentiels

  • Chaque processus possĂšde un PID unique attribuĂ© par un compteur incrĂ©mental.
  • Le compteur est initialisĂ© et incrĂ©mentĂ© de 1 Ă  chaque crĂ©ation de processus, garantissant l’unicitĂ© du PID.
  • Le premier processus créé lors du dĂ©marrage du systĂšme a pour PID 0.
  • Le PID 1 correspond gĂ©nĂ©ralement au processus "init" ou Ă©quivalent, qui est le processus racine de la hiĂ©rarchie.
  • Le PPID permet de connaĂźtre le processus parent d’un processus. Par exemple, le processus "init" a un PPID de 0.
  • Le processus 0 (Swapper) est le seul Ă  ne pas avoir de PPID, car il n’a pas de parent.

À retenir

L’identification des processus repose sur un PID unique attribuĂ© par un compteur incrĂ©mental, tandis que le PPID indique la relation parent-enfant, avec le processus 0 Ă©tant le seul sans parent.

6. Observation des processus Linux

Notions clés & Définitions

  • Commande ps -aef : La commande ps -aef affiche tous les processus en cours d'exĂ©cution avec leurs informations dĂ©taillĂ©es, notamment leur PID (Process ID) et PPID (Parent Process ID). Elle permet de visualiser l'ensemble des processus actifs dans le systĂšme.

  • Commande top : La commande top offre un suivi en temps rĂ©el des processus en affichant dynamiquement des informations telles que l'utilisation CPU, mĂ©moire, et d'autres ressources. Elle permet une surveillance continue et instantanĂ©e de l'activitĂ© du systĂšme.

  • Commande kill : La commande kill sert Ă  terminer un processus en lui envoyant un signal, gĂ©nĂ©ralement pour le faire arrĂȘter. Elle nĂ©cessite de spĂ©cifier le PID du processus Ă  supprimer, par exemple : kill 4242 pour terminer le processus dont le PID est 4242.

Points essentiels

  • La commande ps -aef permet d’afficher les processus en cours avec leurs PID et PPID, mais ne permet pas de suivre leur Ă©volution en temps rĂ©el. Elle donne une vue statique de l’état actuel des processus.

  • La commande top permet un suivi en temps rĂ©el des processus, offrant une vue dynamique et continue de leur activitĂ©, ce qui facilite la gestion et la surveillance du systĂšme.

  • La commande kill permet de terminer un processus de façon simple en tapant kill suivi du PID du processus Ă  arrĂȘter. Par exemple, kill 4242 terminera le processus avec le PID 4242.

À retenir

MaĂźtriser ces outils essentiels permet de visualiser et contrĂŽler efficacement les processus sous Linux, en combinant une observation statique avec ps -aef et une surveillance dynamique avec top, tout en pouvant intervenir rapidement avec kill.

7. Interblocage (deadlock)

Notions clés & Définitions

Interblocage (deadlock)

  • AUTEUR : voir section 1

Ressource bloquante
Une ressource qui, lorsqu'elle est dĂ©tenue par un processus, empĂȘche d'autres processus d'y accĂ©der, pouvant contribuer Ă  un deadlock si combinĂ©e Ă  une attente circulaire.

Attente circulaire
Une situation oĂč chaque processus attend une ressource dĂ©tenue par un autre processus, formant une boucle d’attente qui bloque tous les processus impliquĂ©s.

Points essentiels

Un interblocage survient lorsque deux processus, par exemple P1 et P2, se bloquent mutuellement en attendant des ressources dĂ©tenues par l'autre. Par exemple, P1 possĂšde R1 mais attend R2, tandis que P2 possĂšde R2 mais attend R1. Aucun des deux ne peut continuer, car pour poursuivre, chacun doit libĂ©rer sa ressource, ce qui est impossible tant que l'autre ne libĂšre pas. La situation devient alors totalement bloquĂ©e, empĂȘchant tout progrĂšs. La rĂ©solution peut nĂ©cessiter l'arrĂȘt d'un processus pour dĂ©bloquer la situation.

À retenir

L’interblocage est une situation critique oĂč deux processus se bloquent mutuellement en attente de ressources, paralysant le systĂšme. La comprĂ©hension de cette situation permet d’identifier les risques de blocage et d’intervenir pour y remĂ©dier.

Tableaux de SynthĂšse

AspectDéfinition / FonctionnementAuteur / Source
Définition d'un processusInstance en cours d'exécution d'un programme, distincte du code source.(section 1)
États d'un processusÉlu : utilise le microprocesseur ; BloquĂ© : attend une ressource ; PrĂȘt : en attente d’élection.(section 2)
Gestion par OSL'OS coordonne les états, garantit l'exclusivité du microprocesseur, libÚre les ressources.(section 3)
CrĂ©ation d’un processusVia la commande fork ; hiĂ©rarchie pĂšre-fils ; processus init et swapper.(section 4)
Identifiants PID / PPIDPID : identifiant unique ; PPID : identifiant du processus parent.(section 5)

PiÚges & Confusions Fréquentes

  1. Confondre un programme statique avec un processus en cours d'exécution.
  2. Penser qu’un programme devient un processus dĂšs sa simple prĂ©sence dans le systĂšme.
  3. Confondre l’état Ă©lu avec l’état prĂȘt ou bloquĂ©, notamment lors de l’utilisation du microprocesseur.
  4. Croire qu’un processus peut ĂȘtre dans plusieurs Ă©tats simultanĂ©ment.
  5. Oublier que la transition de "prĂȘt" Ă  "Ă©lu" s’appelle une Ă©lection, et celle de "Ă©lu" Ă  "bloquĂ©" une opĂ©ration de blocage.
  6. Confondre le rĂŽle du systĂšme d’exploitation dans la gestion des Ă©tats avec une gestion manuelle par l’utilisateur.
  7. Mal interpréter la hiérarchie pÚre-fils lors de la création des processus, notamment avec le processus init et swapper.
  8. Confondre PID et PPID, ou leur rÎle dans la hiérarchie des processus.

Checklist Examen

  • ConnaĂźtre la dĂ©finition prĂ©cise d’un processus et sa distinction avec le code source.
  • MaĂźtriser les diffĂ©rents Ă©tats d’un processus : Ă©lu, prĂȘt, bloquĂ©, et leur gestion par le systĂšme d’exploitation.
  • Comprendre le rĂŽle central du systĂšme d’exploitation dans la gestion des Ă©tats et la coordination des processus.
  • Savoir comment un processus est créé via la commande fork, et comprendre la structure arborescente des processus.
  • ConnaĂźtre la diffĂ©rence entre PID et PPID, ainsi que leur mode d’attribution.
  • Identifier les transitions entre Ă©tats : Ă©lection, blocage, libĂ©ration de ressource.
  • Savoir que le premier processus créé est le swapper (PID 0) puis init (PID 1).
  • Comprendre que chaque processus possĂšde un identifiant unique PID incrĂ©mental.
  • Assimiler le rĂŽle de l’élection pour passer en Ă©tat Ă©lu et la nĂ©cessitĂ© de cette Ă©tape pour l’utilisation du microprocesseur.
  • ConnaĂźtre les auteurs ou concepts clĂ©s : (section 1) pour la dĂ©finition, (section 2) pour les Ă©tats, (section 3) pour la gestion par OS, (section 4) pour la crĂ©ation, (section 5) pour PID/PPID.

Test your knowledge

Test your knowledge on Gestion des processus sous Linux with 9 multiple-choice questions with detailed corrections.

1. Quelle est la caractéristique essentielle d'un processus ?

2. Qu'est-ce qui distingue un processus d’un programme en cours d'exĂ©cution en termes de dĂ©finition?

Take the quiz →

Review with flashcards

Memorize the key concepts of Gestion des processus sous Linux with 9 interactive flashcards.

Processus — dĂ©finition ?

Instance en cours d'exécution d'un programme.

Processus — dĂ©finition?

Instance en cours d'exécution d'un programme.

États d'un processus — principaux ?

Élu, prĂȘt, bloquĂ©.

See flashcards →

Similar courses

Create your own revision sheets

Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.

Sheet generator