0% ont trouvé ce document utile (0 vote)
6 vues27 pages

Cours-processus

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 27

+ Module

1ère année TIC


Système d'exploitation

Enseignante :
Sahar Ben Yaala

La gestion de processus

2019-2020
+ 2

La gestion des processus


 Notion de processus
 Etats d’un processus
 Commutation entre processus
 Création d’un processus
 Terminaison d’un processus
 Processus sous UNIX
- Commandes de base
- Appels Système (Fork , exec,…)
 Ordonnancement des processus
2019-2020
+ La notion de processus 3

 processus: l’entité qui correspond à l’exécution d’un programme.


 Concrètement, un processus est défini par :
- un espace mémoire contenant le code, les données et la pile
d’instruction.
- un compteur ordinal ( zone mémoire qui pointe sur
l’instruction en cours).
- un ensemble de registres ( zones mémoire à accès rapide
situées au niveau du processeur).

2019-2020
+ États d’un processus 4

 Nouveau
 le processus est en cours de création
 En exécution (Running)
 les instructions sont en cours d ’exécution
 En attente (Sleep)
 le processus attend qu’un événement se produise
 événement : un signal , terminaison d’une E/S, ...

 Prêt (Ready)
 le processus attend d’être affecté à une UC
 Terminé
2019-2020 le processus a fini l’exécution.
+ États d’un processus 5

Admis
Nouveau interrompu exit terminé

Prêt En exécution

Sélection d ’un processus


par l ’ordonnanceur
Arrivée de Attente d ’un
l ’événement événement

En attente

2019-2020
+ Bloc de contrôle de processus 6

 Chaque processus est représenté dans le SE par


un bloc de contrôle (Process Control Bloc : PCB)
 Composants d’un PCB
 l’état du processus : nouveau, prêt, en exécution ,

 le compteur d’instructions : prochaine instruction à


exécuter
 les registres de l’UC

 informations sur l’ordonnancement des processus

 informations sur la gestion mémoire

 informations de comptabilisation

 informations sur l’état des E/S

ex : liste des fichiers ouverts


2019-2020
+ Commutation entre processus 7

 Processus P0 SE Processus P1

En exécution Interruption ou appel système

Sauvegarde l ’état dans PCB0


inactif
Recharge l ’état de PCB1

inactif Interruption ou appel système En exécution

Sauvegarde l ’état dans PCB1


inactif
Recharge l ’état de PCB0
En exécution
2019-2020
+ Création d’un processus 8

Il existe essentiellement quatre évènements provoquant la


création d’un processus:
1. Initialisation du système (processus init en UNIX)
2. Exécution d’un appel de création de processus par un
autre processus en cour d’exécution (fork() en UNIX)
3. Requête utilisateur sollicitant la création d’un nouveau
processus
4. Initiation d’un travail
2019-2020
+ La fin d’un processus 9

L’arrêt d’un processus est causé par diverses raisons:


 Arrêt normal (volontaire): fin d’exécution de la tâche
affectée (Terminaison).
 Arrêt pour erreur (volontaire?): division par 0
 Arrêt pour erreur fatale (involontaire): violation accès
mémoire, …
 Le processus est arrêté par un autre processus
(involontaire/externe): fin de tâche d’un processus (cas
de Windows), commande kill en LINUX.
2019-2020
+

Processus sous Linux

2019-2020
11

+
Commandes de base

2019-2020
+ Informations liées aux processus 12

UID PID PPID C STIME TTY TIME CMD


user 6937 6912 0 11:05 Pts/1 00:00:00 less
6 Mypasswd

UID : nom de propriétaire qui a lancé le processus (user, root, ...).


PID : numéro du processus.
PPID : numéro du processus père (créateur).
C : facteur de priorité.
STIME : date de lancement du processus.
TTY : numéro du terminal qui exécute le processus.
TIME : la durée de traitement du processus
CMD : nom de la commande exécutée.

2018-2019
+ Commandes de gestion de processus 13

 Commande ps
Options Fonctions
Sans options processus en exécution.
-u user processus en exécution pour l’utilisateur user.
-ef informations complètes concernant les processus en cours d'exécution
-x processus actifs de l'utilisateur courant
-ax processus de tous les utilisateurs
-p PID informations sur le processus PID
-l afficher d'informations assez complète
-c afficher les commandes exécutées.

2018-2019
+Commandes de gestion de processus 14

 Commande ps

 Exemple

Affichage des informations suivantes sur le processus : (PID, TTY, TIMe & COMD)

2018-2019
+Commandes de gestion de processus 15

 commande ps –l :
Liste des informations complètes

 Explication :
D sommeil ininterruptible
R Actif ou prêt (dans la file)
S Sommeil interruptible (attente d’un événement)
T Stoppé (par un signal)
X Mort
Z Deficient (”zombie”) processus, terminé mais données non recup par
parent
2018-2019
+Commandes de gestion de processus 16

 Commande Top :

Options Fonctions
Sans options Table des processus qui se met à jour d’une manière continuelle.
-d Configuration de délai de rafraichissement.
-n Affichage des processus en arrière plan.

2018-2019
+Commandes de gestion de processus 17

 Priorité du processus
• Modification de la priorité : commande nice

• Valeur de la priorité :
- Si simple utilisateur : entre 0 et 19
- Si Super utilisateur : entre -20 et 19
- Valeur par défaut = 0
- Valeur de la priorité la plus basse = 19
- Valeur de la priorité la plus haute = -20

• Modification de la valeur de nice à l’aide de la commande renice


2018-2019
+Commandes de gestion de processus 18

Priorité du processus

Commande Exemple Explication


nice -priorité commande nice -19 find commande find avec la plus basse
priorité.
Renice priorité PID renice −20 2535 -Attribuer la priorité la plus haute
au processus 2535.
-Que le root peut attribuer cette
priorité.

2018-2019
+ Signaux 19

 Définition
Moyens utilisés pour communiquer avec les processus.

Exemple
Commande Fonctionnement
Ctrl+Z Un signal numéro 19 (SIGSTOP) est envoyé au processus en
cours d'exécution. Ce qui stoppe son traitement.
déconnexion envoi d’un SIGHUP (signal 1) à tous les processus
Ctrl+C Envoi d’un SIGINT) (signal 2) au processus courant.

 Il y’a 64 signaux avec des identifiants différents


• 0 : seul signal qui n'a pas de nom
• 1 à 31 : signaux classiques
• 32 à 63 : signaux temps réels

2018-2019
+ Signaux 20

Les signaux Classiques

2018-2019
+ Signaux 21

Les actions par défaut liées aux différents signaux

2018-2019
+ Signaux 22

Gestion de signaux : Kill

Commande Exemple Fonctionnement


kill -l Affichage de tous les signaux (64)
kill –numéro PID Kill -9 6936 Tuer le processus de pid 6936 (envoi d’un
SIGKILL )
Kill –NomSignal Kill – SIGKILL Tuer le processus de pid 6936
PID 6936

2018-2019
+ Etats d’un processus 23

Processus

Pause (stopped) Exécution

Avant plan Arrière plan

2018-2019
+ Etats d’un processus 24

 Possibilité de lancer une commande en arrière plan :

Syntaxe : commande &

 Exemple :
[3] : est le numéro de processus
112010 : son PID

 La commande jobs
Indique la liste des processus en arrière plan.

2018-2019
+ Etats d’un processus 25

 Passage de l’avant plan vers l’arrière plan


 Passage en mode pause : Ctrl+Z
 Commande bg (background)

 Passage de l’arrière plan vers l’avant plan


1. Si un seul processus est exécuté en arrière plan
 Commande fg (Foreground)
2. Si plusieurs processus sont exécutés sen arrière plan
 jobs : liste des processus en arrière plan
 fg % i : ramener le ième en avant plan

2018-2019
+ Etats d’un processus 26

2018-2019
+ Mauvaise Terminaison d’un 27

processus Unix

 Si le processus père termine son exécution avant


son fils, ce dernier devient un processus orphelin,
qui sera attaché au processus initiateur (init).
 Si le processus fils meurt avant que son père ne se
termine, celui-ci devient un processus zombie.

2019-2020

Vous aimerez peut-être aussi