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

Gestion des Processus en Système d'Exploitation

Le document décrit les processus dans les systèmes d'exploitation, y compris leur état, leur gestion et leur exécution.

Transféré par

anzahahafssa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues37 pages

Gestion des Processus en Système d'Exploitation

Le document décrit les processus dans les systèmes d'exploitation, y compris leur état, leur gestion et leur exécution.

Transféré par

anzahahafssa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Système d’Exploitation

-Processus-

Med. AMNAI

Filière SMI-S4

Département d’Informatique

2023-2024
Introduction
Hiérarchie des Processus
Structures de Gestion des Processus
Exécution d'un Processus
Programmation des Processus
Plan

1 Introduction

Med AMNAI Système d'Exploitation-Processus 2 / 33


Introduction
Hiérarchie des Processus
Structures de Gestion des Processus
Exécution d'un Processus
Programmation des Processus
Plan

1 Introduction
2 Hiérarchie des Processus

Med AMNAI Système d'Exploitation-Processus 2 / 33


Introduction
Hiérarchie des Processus
Structures de Gestion des Processus
Exécution d'un Processus
Programmation des Processus
Plan

1 Introduction
2 Hiérarchie des Processus
3 Structures de Gestion des Processus

Med AMNAI Système d'Exploitation-Processus 2 / 33


Introduction
Hiérarchie des Processus
Structures de Gestion des Processus
Exécution d'un Processus
Programmation des Processus
Plan

1 Introduction
2 Hiérarchie des Processus
3 Structures de Gestion des Processus
4 Exécution des Processus

Med AMNAI Système d'Exploitation-Processus 2 / 33


Introduction
Hiérarchie des Processus
Structures de Gestion des Processus
Exécution d'un Processus
Programmation des Processus
Plan

1 Introduction
2 Hiérarchie des Processus
3 Structures de Gestion des Processus
4 Exécution des Processus
5 Programmation des Processus

Med AMNAI Système d'Exploitation-Processus 2 / 33


Introduction
Hiérarchie des Processus Rappels
Structures de Gestion des Processus Déntion
Exécution d'un Processus Partage du Temps
Programmation des Processus
Structure Générale d'Unix

Med AMNAI Système d'Exploitation-Processus 3 / 33


Introduction
Hiérarchie des Processus Rappels
Structures de Gestion des Processus Déntion
Exécution d'un Processus Partage du Temps
Programmation des Processus
Processus de Démarrage

Med AMNAI Système d'Exploitation-Processus 4 / 33


Introduction
Hiérarchie des Processus Rappels
Structures de Gestion des Processus Déntion
Exécution d'un Processus Partage du Temps
Programmation des Processus
Qu'est-ce qu'un processus ?

• Un processus est un ensemble d'instructions se déroulant


séquentiellement sur le processeur ;
• Un processus est l'abstraction d'un programme en cours
d'exécution ;
• Chaque exécution d'un programme donne lieu à un
processus diérent ;
• A tout instant, un processeur exécute au plus un processus.

RQ : Les processus partagent l'accès à diérentes ressources :

processeur, mémoire et périphériques.

Med AMNAI Système d'Exploitation-Processus 5 / 33


Introduction
Hiérarchie des Processus Rappels
Structures de Gestion des Processus Déntion
Exécution d'un Processus Partage du Temps
Programmation des Processus
Caractéristiques d'un Processus
Un processu est caractérisé par un programme, des données
et un contexte courant d'exécution.
• Son état : exécution, suspendu, etc ;

• Son identicateur ;

• Son compteur ordinal (contrôleur de ux) : indique la


prochaine instruction à exécuter ;

• Sa pile d'exécution : en cours de l'exécution, les données


obtenues sont stockées dans la pile ;

• Ses données en mémoire ;

• Toutes informations utiles à son exécution (E/S, chiers


ouverts, . . . ).

Med AMNAI Système d'Exploitation-Processus 6 / 33


Introduction
Hiérarchie des Processus Rappels
Structures de Gestion des Processus Déntion
Exécution d'un Processus Partage du Temps
Programmation des Processus
Commande PS
• PS : Ache la liste des processus en cours. Par défaut, elle ache
uniquement ceux de l'utilisateur et du terminal courant.
• -u : Ache tous les processus de l'utilisateur quelque soit le
terminal ;
• -A : Ache tous les processus du système ;
• -f : Donne plus d'informations sur les processus achés ;
• -H : Ordonne et indente les processus selon leur généalogie
(PPID) ;
• TOP : Ache les processus consommant le plus de ressource
CPU ;
• ps -ef : répertorie les processus en cours d'exécution. (Une autre
commande similaire est ps aux )
• ps -f pid id : Ache les processus basés sur un PID. A la place de
id entrez le PID correspondant.
• ps aux sort=-pcpu,+pmem : Ache les processus consommant
la plus grande quantité de CPU.
Med AMNAI Système d'Exploitation-Processus 7 / 33
Introduction
Hiérarchie des Processus Rappels
Structures de Gestion des Processus Déntion
Exécution d'un Processus Partage du Temps
Programmation des Processus
Partage du Temps
• Le processeur alterne entre plusieurs processus en attribuant
un quantum pour chaqu'un ;

• A tout instant, un seul processus utilise le processeur et un


seul programme s'exécute ;

• Le choix du processus suivant est assuré par le OS


(Ordonnancement ou "Scheduling").

Med AMNAI Système d'Exploitation-Processus 8 / 33


Introduction
Hiérarchie des Processus
Structures de Gestion des Processus Arborescence des Processus
Exécution d'un Processus
Programmation des Processus
Arborescences de Processus

• Premier processus : init ;

• Création d'un processus par duplication d'un autre existant


avec appel système fork() ;

• Notions de : Processus père et Processus ls.

Med AMNAI Système d'Exploitation-Processus 9 / 33


Introduction
Hiérarchie des Processus Structures de Gestion des Processus
Structures de Gestion des Processus Bloc de Contrôle de Processus
Exécution d'un Processus
Programmation des Processus
Structures de Gestion des Processus
• Segment de code ;
• Segment de données ;
• Pile (stack) : mémorise, de façon contiguës, les données obtenues en
cours de l'exécution ;
• Tas (heap) : stocke les données de façon non contiguë ;
• Bloc de Contrôle de Processus (PCB).

Med AMNAI Système d'Exploitation-Processus 10 / 33


Introduction
Hiérarchie des Processus Structures de Gestion des Processus
Structures de Gestion des Processus Bloc de Contrôle de Processus
Exécution d'un Processus
Programmation des Processus
Bloc de Contrôle de Processus (PCB)
• Le OS maintient toutes les informations sur tous les processus créés
dans une table appelée  table des processus ;
• Une entrée par processus : Bloc de Contrôle de Processus ( PCB).
• Cette table permet au OS de localiser et de gérer tous les processus.

Med AMNAI Système d'Exploitation-Processus 11 / 33


Introduction État de Processus
Hiérarchie des Processus Transition des Etats des Processus
Structures de Gestion des Processus Modes d'Exécution
Exécution d'un Processus Notion d'Image
Programmation des Processus Changement de Contexte
État de Processus

• Actif ou élu (running) : le processus utilise le processeur ;

• Attente ou bloqué : le processus attend une ressource (ex :

n d'une entrée-sortie).

• Prêt ou éligible (ready) : Si le processus n'attend pas une

ressource partagée et s'il ne dispose pas du processeur..

Med AMNAI Système d'Exploitation-Processus 12 / 33


Introduction État de Processus
Hiérarchie des Processus Transition des Etats des Processus
Structures de Gestion des Processus Modes d'Exécution
Exécution d'un Processus Notion d'Image
Programmation des Processus Changement de Contexte
Transition des Etats des Processus

Med AMNAI Système d'Exploitation-Processus 13 / 33


Introduction État de Processus
Hiérarchie des Processus Transition des Etats des Processus
Structures de Gestion des Processus Modes d'Exécution
Exécution d'un Processus Notion d'Image
Programmation des Processus Changement de Contexte
Modes d'Exécution

• Mode noyau : accès sans restriction ;

• Mode utilisateur :

• accès restreint ;

• pas d'accès direct aux périphériques ;

• Il peut être interrompu par d'autres processus.

Med AMNAI Système d'Exploitation-Processus 14 / 33


Introduction État de Processus
Hiérarchie des Processus Transition des Etats des Processus
Structures de Gestion des Processus Modes d'Exécution
Exécution d'un Processus Notion d'Image
Programmation des Processus Changement de Contexte
Notion d'Image
Lors de l'exécution d'un programme, ce dernier sollicite un
ensemble de composants :

• Code ;

• Données (Statique, Tas, Pile) ;

• Contexte d'exécution ;

• Pointeur d'instruction.

• Registres mémoire.

• Fichiers ouverts.

• Répertoire courant.

• Priorité.

• ...

Med AMNAI Système d'Exploitation-Processus 15 / 33


Introduction État de Processus
Hiérarchie des Processus Transition des Etats des Processus
Structures de Gestion des Processus Modes d'Exécution
Exécution d'un Processus Notion d'Image
Programmation des Processus Changement de Contexte
Changement de Contexte

Le changement de contexte, entre processus, est le passage du


mode utilisateur au mode kernel.

Med AMNAI Système d'Exploitation-Processus 16 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Fonctions d'Identication des Processus

Plusieurs identicateurs sont associés à un processus :

• Numéro de processus (pid) : getpid(void) ;

• Numéro du processus père (ppid) : getppid(void) ;

• Identicateur d'utilisateur réel ;

• Identicateur d'utilisateur eectif (bit setuid) ;

• Identicateur de groupe réel ;

• Identicateur de groupe eectif (bit setgid) ;

• Liste d'identicateurs de groupes.

Med AMNAI Système d'Exploitation-Processus 17 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple

Pid du processus et de son père.

Med AMNAI Système d'Exploitation-Processus 18 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Création de Processus
• pid_t fork(void) : La valeur retournée est le pid du ls pour

le processus père, ou 0 pour le processus ls. La valeur -1 est


retournée en cas d'erreur.

• Recopie totale (données, attributs) du processus père vers son


processus ls (nouveau pid).

• Le ls continu son exécution à partir de cette primitive.

• Héritage du ls :
• La priorité ;
• La valeur du masque ;
• Le propriétaire ;
• Une copie des descripteurs des chiers ouverts ;
• Le pointeur de chier (oset) pour chaque chier ouvert ;
• Le comportement vis à vis des signaux.

Med AMNAI Système d'Exploitation-Processus 19 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple fork()

Med AMNAI Système d'Exploitation-Processus 20 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple fork() (suite)

Med AMNAI Système d'Exploitation-Processus 21 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple fork() (suite)

Med AMNAI Système d'Exploitation-Processus 22 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple : père et ls

Med AMNAI Système d'Exploitation-Processus 23 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple : Portée du code

Med AMNAI Système d'Exploitation-Processus 24 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple : Portée des Variables

Med AMNAI Système d'Exploitation-Processus 25 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Synchronisation

• Un processus père est toujours prévenu de la n d'un ls et le


ls est toujours prévenu de la n du père.

• Si la n d'un ls n'est pas traitée par le père, il devient (ls)


processus zombie.

• Synchronisation pour les ns d'exécution :


• Possibilités d'échanges d'informations permettant une
synchronisation sur les ns d'exécutions.

• Eviter les processus zombies (n propre).

• Nécessite que le père soit en attente ( wait()).


• Information de la n du processus ls ( exit()).

Med AMNAI Système d'Exploitation-Processus 26 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Appel système exit()

void exit(int status) ; termine normalement un processus et


la valeur status est envoyée au processus père ;

• Un exit(0) signie que le programme s'est exécuté sans


erreur :

• Exit ( int)
• EXIT_SUCCESS constante qui vaut 0
• EXIT_FAILURE constante qui vaut 1
• Valeur du int est transmise au père : code de retour.
• Diérentes valeurs peuvent désigner diérents types d'erreurs.

Med AMNAI Système d'Exploitation-Processus 27 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Appel système Wait()

wait() permet de suspendre l'exécution du père jusqu'à ce que


l'un de ses enfants se termine.

• pid_t wait(int *satatus)

• En cas de réussite : la valeur retournée est le pid du ls qui

s'est terminé.

• En cas d'erreur : la valeur retournée est -1.

• L'entier pointé enregistre l'état du ls lorsqu'il est nit (valeur


en paramètre dans exit())

Med AMNAI Système d'Exploitation-Processus 28 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple : Appels système wait et exit

Med AMNAI Système d'Exploitation-Processus 29 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Mise en sommeil d'un processus : sleep()
Int sleep(int n) : La fonction suspend l'exécution du processus

appelant pour une durée de n secondes.

Med AMNAI Système d'Exploitation-Processus 30 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Recouvrement d'un processus
Un processus peut changer de code par un appel système à
exec :
• Code et données remplacés ;

• Pointeur d'instruction réinitialisé.

Med AMNAI Système d'Exploitation-Processus 31 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Exemple : Appels système execl()

Med AMNAI Système d'Exploitation-Processus 32 / 33


Introduction Fonctions d'Identication
Hiérarchie des Processus Création de Processus
Structures de Gestion des Processus Synchronisation
Exécution d'un Processus Mise en sommeil d'un processus
Programmation des Processus Recouvrement d'un processus
Appels système execl() (bis)
Lorsqu'il s'exécute execl, il est totalement remplacé par l'exécution
du  ls -l, le processus avec le programme, disparaît.

Med AMNAI Système d'Exploitation-Processus 33 / 33

Vous aimerez peut-être aussi