Fiche de cours

Comprendre la gestion de plusieurs processus

Lycée   >   Terminale   >   NSI   >   Comprendre la gestion de plusieurs processus

  • Fiche de cours
  • Quiz et exercices
  • Vidéos et podcasts
Objectif

Comprendre la gestion des processus par un système d’exploitation.

Points clés
  • Un processus est une instance d'un programme informatique, qui est chargée en mémoire dans le but d'être exécutée par le processeur d’un ordinateur.
  • Le système d'exploitation se charge de la manière dont le processus sera exécuté. Cela dépendra de la nature du processeur, du processus lui-même mais également des autres processus à exécuter. 
  • Un processus peut être actif ou en attente, il passe par différents états : nouveau, prêt (ou éligible), élu, bloqué ou terminé.
  • C’est l’ordonnanceur du système d’exploitation qui va « élire » un processus en suivant certaines règles qui permettent à tous les processus de profiter de manière équitable des ressources en dehors d’une urgence.
Pour bien comprendre
  • Découvrir le système d’exploitation. (NSI 1re)
  • Utiliser les commandes de base sur un système d’exploitation. (NSI 1re)

Le système d’exploitation (en anglais Operating System, noté OS) est le chef d’orchestre de l'ordinateur, rien ne fonctionne sans lui. Il gère les échanges entre les différents éléments d’un ordinateur.

1. Processus et ordonnanceur
a. Processus

Lorsqu’un programme est lancé, le processeur crée ce qu’on appelle un processus.

Un processus est une instance d'un programme informatique, qui est chargée en mémoire dans le but d'être exécutée par le processeur ou une puce à un moment donné.
Un processus correspond donc à la réalisation d'un programme informatique. 
Rappel
Un processeur (CPU en anglais pour Central Processing Unit) est un circuit électronique capable d’exécuter des instructions très rapidement, grâce au rythme de ce que l’on appelle une horloge. Tous les circuits peuvent ainsi travailler au rythme des cycles de cette horloge.
Important
Un processus n’est pas un programme !
Un programme est une entité statique tandis que le processus est une entité dynamique.

Par exemple, si un programme permet d’obtenir la moyenne des notes des élèves d’un lycée, les entrées seront les notes de ces élèves et la sortie sera la moyenne des notes des élèves.
Le passage de l’entrée à la sortie sera un processus. Le programme restera en mémoire, tandis que le processus n’existera plus une fois le calcul effectué.

b. Ordonnanceur

Le système d’exploitation (OS) gère l'allocation du processeur entre les différents processus grâce à un ordonnanceur qui choisit l’ordre d’exécution des différents processus. On dit que l’OS est multitâche.

Un ordonnanceur est un sous-ensemble du système d’exploitation.
Un processeur ne peut traiter qu’un seul processus à la fois, mais l’ordonnanceur organise les processus de telle sorte qu’on a l’impression que les processus sont exécutés simultanément.

On a donc l’impression que l’OS gère simultanément différents programmes alors qu’en fait il gère l’allocation du processeur entre les différents programmes.

Remarque
On parle ici d’un processeur, mais un ordinateur performant est généralement multi-cœur (multi-core en anglais), c’est-à-dire qu’il a plusieurs processeurs.
2. Les processus
a. Observer les processus
Sous Windows

Pour observer les processus qui s’exécutent sous l’OS Windows, il faut taper Ctrl+Alt+Suppr, puis choisir « Gestionnaire des tâches », et l’onglet « Services » : on obtient alors l’ensemble des processus gérés par l’OS.


Visualisation de l’ensemble
des processus qui s’exécutent

On constate que chaque processus est associé à un unique PID (identifiant unique du processus), à un statut (l’état du processus) et à un nom d’utilisateur (la personne qui a démarré le processus).

Sous Linux

Pour observer les processus qui s’exécutent sous l’OS Linux, il faut taper dans le terminal la commande ps -uax.

Rappel
Le terminal (ou shell) est un logiciel du système d’exploitation qui permet à l’utilisateur de communiquer directement avec le système d’exploitation.

On obtient alors l’affichage suivant, qui nous indique l’ensemble des processus gérés par l’OS.


Visualisation de l’ensemble
des processus qui s’exécutent

Chaque processus est identifié par un PID, un %CPU (allocation du processeur), %MEM (la mémoire allouée), etc.

Sous macOS

Pour observer les processus qui s’exécutent sous l’OS Mac, il faut aller dans « Applications/Utilitaires/ » puis utiliser le « moniteur d’activité ».

On obtient alors le même type d’affichage que pour les autres OS.


Visualisation de l’ensemble
des processus qui s’exécutent
b. Le bloc de contrôle de processus
Les caractéristiques d’un processus

Un processus est caractérisé par :

  • les ressources utilisées : allocation du processeur (%CPU), mémoire réservée (%mem), temps d'exécution, etc. ;
  • un état qui est géré par l’OS via l’ordonnanceur (nouveau, prêt ou éligible, élu, bloqué et terminé).

Cela constitue le bloc de contrôle de processus (Process control block en anglais, en abrégé PCB).

Le bloc de contrôle de processus (PCB)
Un bloc de contrôle de processus (ou PCB) est une structure de données utilisée par le système d’exploitation pour stocker toutes les informations à propos d’un processus.

Un PCB contient notamment les informations suivantes.

  • Le PID est l'identifiant unique du processus qui lui est attribué lors de son démarrage, afin de pouvoir l’identifier dans la plupart des commandes.
  • Les valeurs des registres lors de la dernière interruption, qui indiquent l’état des processus juste avant l’interruption.
  • Rappel
    Un registre est un petit emplacement de mémoire interne très rapide d’accès (1 nanoseconde environ), qui permet de stocker temporairement des données.
    Leur taille est restreinte : 8, 16 ou 32 bits.
  • Une zone mémoire allouée par le processeur pour sauvegarder les valeurs des registres.
  • Les ressources utilisées pour pouvoir réutiliser les mêmes. Si par exemple un processus utilise un traitement de texte, il doit pouvoir réutiliser le traitement de texte lorsqu’il est relancé.
  • L’état du processus.
L’état d’un processus

Les processus ne peuvent pas être continuellement actifs car ils doivent se partager le processeur. Ils passent donc par les différents états suivants.

  • Nouveau : processus en création avec initialisation du PCB.
  • Prêt ou Éligible : le processus sera peut-être le prochain à être choisi par l’ordonnanceur.
  • Élu : le processus est en train d’être exécuté.
  • Bloqué : le processus a été arrêté par l’ordonnanceur car il attend une action externe.
  • Terminé : le processus est fini, l’OS désalloue toutes les ressources.
Remarque
Le nom des états est différent selon l’OS utilisé. Les noms ci-dessus sont les états possibles sous Windows.

Lorsqu’un processus est élu, il peut lancer différentes suites d’instructions, on appelle cela des tâches (ou threads en anglais). Ces tâches se partageront donc le même espace mémoire.

Exemple
Lorsqu’on navigue sur le web, un processus peut lancer un thread pour afficher une image et un thread pour afficher le texte.
3. Ordonnanceur : gestion par l'OS des processus
L’ordonnanceur est un sous-ensemble du système d’exploitation, qui gère l'allocation du processeur entre les différents processus : il choisit l’ordre d’exécution des différents processus.
a. Arrêt d'un processus

Un ordonnanceur peut agir avec un algorithme avec réquisition, ou avec un algorithme sans réquisition.

Un ordonnanceur agit généralement avec un algorithme avec réquisition.

Algorithme sans réquisition

Lorsque l’ordonnanceur agit avec un algorithme sans réquisition (en abrégé ASR), il faut attendre qu’un processus s’achève pour qu’il relâche tout seul la ressource. Il faut donc attendre la fin d’un processus pour pouvoir en lancer un autre.

Algorithme avec réquisition

Lorsqu’un ordonnanceur agit avec un algorithme avec réquisition (en abrégé AAR), il fonctionne de la manière suivante.

Une fois qu’un processus est élu, ce processus s’arrête si :

  • il a dépassé son temps d’utilisation du processeur (la tranche d'exécution) : il repasse en état « Prêt » en attendant d’être réélu ;
  • il est fini : il passe en état « Terminé » ;
  • il est en attente d’un évènement ou d’une action extérieure : il passe en état « Bloqué » en attendant ;
  • un processus, jugé plus important par l’OS, doit s'exécuter : il repasse en état « Prêt » en attendant d’être réélu.

Le visuel ci-dessous résume les différents états par lesquels un processus peut passer.


Différents états possibles d’un processus
b. Les règles à respecter

L’ordonnanceur qui agit avec un algorithme avec réquisition doit essayer de respecter :

  • un temps d'exécution équivalent pour chaque processus en dehors des cas d’urgence ;
  • une utilisation maximale du processeur ;
  • un temps d’attente raisonnable pour chaque processus.

On utilise généralement le principe du tourniquet (round-robin en anglais), qui est un algorithme d’ordonnancement courant dans les systèmes d’exploitation. Le principe du tourniquet permet d’attribuer un ordre de passage, avec une note qui augmente ou baisse en fonction de l’ordre de passage et de l’urgence.

Évalue ce cours !

 

Des quiz et exercices pour mieux assimiler sa leçon

La plateforme de soutien scolaire en ligne myMaxicours propose des quiz et exercices en accompagnement de chaque fiche de cours. Les exercices permettent de vérifier si la leçon est bien comprise ou s’il reste encore des notions à revoir.

S’abonner

 

Des exercices variés pour ne pas s’ennuyer

Les exercices se déclinent sous toutes leurs formes sur myMaxicours ! Selon la matière et la classe étudiées, retrouvez des dictées, des mots à relier ou encore des phrases à compléter, mais aussi des textes à trous et bien d’autres formats !

Dans les classes de primaire, l’accent est mis sur des exercices illustrés très ludiques pour motiver les plus jeunes.

S’abonner

 

Des quiz pour une évaluation en direct

Les quiz et exercices permettent d’avoir un retour immédiat sur la bonne compréhension du cours. Une fois toutes les réponses communiquées, le résultat s’affiche à l’écran et permet à l’élève de se situer immédiatement.

myMaxicours offre des solutions efficaces de révision grâce aux fiches de cours et aux exercices associés. L’élève se rassure pour le prochain examen en testant ses connaissances au préalable.

S’abonner

Des vidéos et des podcasts pour apprendre différemment

Certains élèves ont une mémoire visuelle quand d’autres ont plutôt une mémoire auditive. myMaxicours s’adapte à tous les enfants et adolescents pour leur proposer un apprentissage serein et efficace.

Découvrez de nombreuses vidéos et podcasts en complément des fiches de cours et des exercices pour une année scolaire au top !

S’abonner

 

Des podcasts pour les révisions

La plateforme de soutien scolaire en ligne myMaxicours propose des podcasts de révision pour toutes les classes à examen : troisième, première et terminale.

Les ados peuvent écouter les différents cours afin de mieux les mémoriser en préparation de leurs examens. Des fiches de cours de différentes matières sont disponibles en podcasts ainsi qu’une préparation au grand oral avec de nombreux conseils pratiques.

S’abonner

 

Des vidéos de cours pour comprendre en image

Des vidéos de cours illustrent les notions principales à retenir et complètent les fiches de cours. De quoi réviser sa prochaine évaluation ou son prochain examen en toute confiance !

S’abonner

Découvrez le soutien scolaire en ligne avec myMaxicours

Plongez dans l'univers de myMaxicours et découvrez une approche innovante du soutien scolaire en ligne, conçue pour captiver et éduquer les élèves de CP à la terminale. Notre plateforme se distingue par une riche sélection de contenus interactifs et ludiques, élaborés pour stimuler la concentration et la motivation à travers des parcours d'apprentissage adaptés à chaque tranche d'âge. Chez myMaxicours, nous croyons en une éducation où chaque élève trouve sa place, progresse à son rythme et développe sa confiance en soi dans un environnement bienveillant.

Profitez d'un accès direct à nos Profs en ligne pour une assistance personnalisée, ou explorez nos exercices et corrigés pour renforcer vos connaissances. Notre assistance scolaire en ligne est conçue pour vous accompagner à chaque étape de votre parcours éducatif, tandis que nos vidéos et fiches de cours offrent des explications claires et concises sur une multitude de sujets. Avec myMaxicours, avancez sereinement sur le chemin de la réussite scolaire, armé des meilleurs outils et du soutien de professionnels dédiés à votre épanouissement académique.

Fiches de cours les plus recherchées

NSI

Comprendre la notion d'interblocage de processus

NSI

Comprendre les protocoles de routage

NSI

Introduire la cryptographie

NSI

Comprendre le chiffrement symétrique

NSI

Comprendre le chiffrement asymétrique

NSI

Décrire de manière détaillée le protocole HTTPS

NSI

Comprendre qu'un programme peut être une donnée

NSI

Introduire les notions de calculabilité et de décidabilité

NSI

Utiliser la récursivité en Python

NSI

Utiliser une API et des bibliothèques