Please enable JavaScript.
Coggle requires JavaScript to display documents.
Séance 4: GESTION DES PROCESSUS - Coggle Diagram
Séance 4: GESTION DES PROCESSUS
1. à quoi sert un
processus?
Problème: Un processeur ne peut exécuter qu'une seule instruction à la fois.
défi: comment permettre à un processeur de faire plusieurs activités "en même temps".
solution: utilisation des processus.
de point de vue conceptuel: chaque processus possède son processeur
virtuel.
Mais en réalité: le processeur bascule
constamment d'un processus à
l'autre.
Ce basculement rapide est appelé
multiprogrammation.
2- Définition d'un processus
les événements qui peuvent déclencher la création
d'un processus sont:
• L'initialisation du système : au chargement du
système il y'a création automatique du processus
racine qui est le père de tous les processus
utilisateurs.
• Une demande de l'utilisateur
• Un processus peut lancer un autre processus, et
dans ce cas il en devient le parent, l'autre sera
désigné comme processus fils.
• Un processus est un programme en
cours d'exécution qui à besoin de
ressources physiques (mémoire,
processeur, imprimante, etc) ou
logiques (données, programmes, etc).
• L'exécution d'un processus dure un
certain temps, avec un début et une fin.
4- Cycle de vie d'un
processus
Ordonnancement des processus par l'OS
Dans un système multitâche plusieurs processus sont actifs simultanément, mais un processeur (simple Coeur) ne peut exécuter qu'une instruction à la fois. Il va donc falloir partager le temps de processeur disponible entre tous les processus :c'est le travail de l'ordonnanceur (ou scheduler en anglais). Ce dernier a pour tâche de sélectionner le processus suivant à exécuter parmi ceux qui sont prêts.
Un processus peut donc se trouver dans différents états:
• en attente (sleeping) : le processus attend qu'un événement se produise (saisie clavier, réception d'une donnée par le réseau ou le
disque dur.)
en exécution (running): le processus a accès au processeur pour exécuter ses instructions
arrêté (stopped) : le processus a fini son travail ou a reçu un signal de terminaison (SIGTERM, SIGKILL, .). I libère les ressources
qu'il occupe.
prêt (ready): le processus attend son tour pour prendre la main
zombie : Une fois arrêté, le processus informe son parent afin que ce dernier l'élimine de la table des processus. Cet état est donc temporaire mais il peut durer si le parent meure avant de pouvoir effectuer cette tâche. Dans ce cas, le processus fils reste à l'état zombie.
Les 3 premiers états sont les plus importants puisqu'ils décrivent le cycle de vie normal d'un processus:
Pour cnnaitre les processus en cours d'execution sur une machine
(Dans lunix)
top – Cette commande est probablement la plus basique et est souvent utilisé pour afficher simplement les processus qui consomment le plus de ressources actuellement. Lorsque vous exécutez la commande top dans un terminal, vous verrez une fenêtre semblable à ceci:
Windows:On a la commande (tasklist)
3- caractéristiques d'un processus
• Chaque processus est représenté dans le SE par un PCB (process control
block).
Tous les PCB sont rangés dans une table en mémoire centrale à cause de leur
manipulation fréquente.
• Le PCB contient plusieurs informations concernant un processus spécifique,
comme par exemple:
L'état du processus.
Compteur d'instructions: indique l'adresse de l'instruction suivante
devant
étre exécutée par ce processus.
information concernant la priorité du processus.
Informations sur la gestion de la mémoire.
Informations sur l'état des E/S: liste des périphériques E/S allouées à ce
processus, ..