0% ont trouvé ce document utile (0 vote)
51 vues43 pages

Chapitre 1

Le document présente le cours de Système d'exploitation II, dirigé par Dr. Ing. Takwa Ben Aïcha Gader, destiné aux étudiants de première année en licence. Il couvre les processus et les threads, avec des méthodes pédagogiques incluant des cours magistraux et des travaux dirigés, ainsi qu'une évaluation mixte. Les concepts clés incluent la création, la gestion et la destruction des processus, ainsi que leur représentation dans différents systèmes d'exploitation.

Transféré par

prince.a7medd.askrii
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)
51 vues43 pages

Chapitre 1

Le document présente le cours de Système d'exploitation II, dirigé par Dr. Ing. Takwa Ben Aïcha Gader, destiné aux étudiants de première année en licence. Il couvre les processus et les threads, avec des méthodes pédagogiques incluant des cours magistraux et des travaux dirigés, ainsi qu'une évaluation mixte. Les concepts clés incluent la création, la gestion et la destruction des processus, ainsi que leur représentation dans différents systèmes d'exploitation.

Transféré par

prince.a7medd.askrii
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 2

(Operating System)
Avec évaluation de compétences et TDs

Cours élaboré par:


Dr. Ing. Takwa Ben Aïcha
Gader
[email protected]
Description
2

 Responsable : Dr. Ing. Takwa Ben Aïcha Gader


 Formation : 1ème année licence (Semestre 2)
 Filière: LCS & LCE
 Titre du cours: Système d’exploitation 2
 Méthodes pédagogiques :
 Cours magistral
 Travaux dirigés
 Volume horaire: 1h30 Cours/semaine
 Coefficient : 1
 Régime d’examen: mixte

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Fonctionnement
3

 Chaque semaine
 Un cours et des travaux dirigés

 Evaluation des connaissances


 Sans documents

 Novembre: Devoir surveillé d’1h30

 Décembre: Examen de 2h00

 Note finale: (DS + 2*Examen)/3

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Objectifs
4

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Plan du cours
5

 Chapitre 1: Les processus


 Chapitre 2: Les threads

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les Processus
6

CHAPITRE 1

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus- Rappel
7
Notion de Base des Processus
▪ Un processus est une entité dynamique qui représente un programme en cours d'exécution. Il
dispose de ses propres ressources :
▪ Ressources physiques : mémoire, processeur, entrée/sortie, etc.
▪ Ressources logiques : données, variables, fichiers, etc.
▪ Différence entre un processus et un programme :
▪ Un programme est une suite d'instructions statique, écrite sous forme du texte ou du code
source.
▪ Un processus, quant à lui, est une entité dynamique qui exécute un programme. Il
représente le déroulement d'une tâche au sein d'une application ou d'un système
d'exploitation.
▪ NB: Si un système informatique dispose d'un seul processeur, à un instant donné, seul un
processus peut avoir accès à ce processeur.
Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025
Les processus - Rappel
8
Etats d’un Processus

▪ Nouveau: Le SE a créé le processus


▪ 1: Correspond à une interruption ou un événement nécessitant une attente, par exemple une opération
d'entrée/sortie.
▪ 2: Représente une préemption, où le processus actif est interrompu pour permettre à un autre processus
de s'exécuter.
▪ 3: Signifie que le processus est sélectionné par l’ordonnanceur pour être exécuté.
▪ 4: Correspond à la fin de l'événement bloquant, rendant le processus éligible à l'exécution.
▪ Terminé: Le processus n’est plus exécutable

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les process - Rappel
9
Propriétés d’un processus
Dans Windows, Linux, et autres OS, chaque processus est représenté dans le noyau par une structure
appelée PCB (Process Control Block). Il contient :
▪ Son état : (Actif, Suspendu, Attente, Terminé)
▪ Un identifiant unique (PID)
▪ Le compteur ordinal : (Adresse de la prochaine instruction à exécuter)
▪ Ses données mémorisées : (Segments de code, données, pile, tas)
▪ Métadonnées: comme le processus parent, les processus enfants, le groupe auquel il appartient,
les variables d’environnement, les statistiques d’exécution, ainsi que les limites imposées sur les
ressources utilisées (comme la mémoire et le temps processeur).
▪ Ressources ouvertes : toutes les ressources nécessaires à son fonctionnement, telles que les
fichiers ouverts, les connexions E/S, et les sockets.
▪ …

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Rappel
10
Propriétés d’un processus
Identificateurs associés : Chaque processus se voit attribuer plusieurs identificateurs essentiels lors de sa
création :
▪ PID : Numéro unique du processus.
▪ PPID : Numéro du processus père.
▪ UID : Identifiant de l’utilisateur ayant lancé le processus.
▪ GID : Identifiant du groupe associé à l’utilisateur.

→ Ces caractéristiques permettent au SE de suivre, planifier et coordonner les processus dans un


environnement multi-tâches.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Rappel
11
Propriétés d’un processus
▪ Un buffer est une zone de mémoire temporaire utilisée pour stocker les données en transit entre un
composant rapide (processeur) et un composant lent (périphérique d’E/S).
▪ Pourquoi utiliser un buffer ?
▪ Compense les différences de vitesse entre le processeur et les périphériques.
▪ Optimise les performances en permettant l’exécution d’autres tâches pendant les opérations
d’E/S.
▪ Réduit la latence en stockant les données avant leur traitement ou transmission.
▪ Types de buffers :
▪ Buffer d’entrée: Stocke les données avant traitement (clavier, disque).
▪ Buffer de sortie: Conserve les données avant envoi (écran, imprimante).
▪ Buffer circulaire: Réutilise la mémoire pour les flux continus (audio/vidéo).
▪ Exemple : en streaming vidéo/audio, un buffer précharge les données pour éviter les interruptions en
cas de fluctuation du réseau.
Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025
Les processus - Rappel
12
Le bloc de contrôle et le contexte d’un Processus
▪ Pour gérer efficacement chaque processus, le SE utilise une structure de données spécifique appelée
Bloc de Contrôle de Processus (PCB : Process Control Block).
▪ Cette structure joue un rôle crucial dans la sauvegarde et la restauration du contexte du processus.

Rassemble les informations dynamiques essentielles, comme les registres, les compteurs d’instructions
et les indicateurs d’état.

▪ Rôle du PCB : En plus du contexte, le PCB contient des informations sur l’ordonnancement du
processus, comme :
▪ La priorité du processus.
▪ Les pointeurs vers les files d’attente.
▪ D’autres métadonnées nécessaires à la gestion et à la coordination des processus par le SE.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Rappel
13
Le bloc de contrôle et le contexte d’un Processus
➢ Registre vs Buffer

Caractéristique Registre Buffer

Définition Mémoire ultra-rapide intégrée au processeur Mémoire temporaire utilisée pour stocker des
données en transit
Emplacement Situé à l’intérieur du processeur (CPU) Situé dans la RAM ou les périphériques d’E/S

Taille Très petite (quelques bits ou octets) Plus grand (kilooctets, mégaoctets)

vitesse Ultra-rapide (accès direct par le CPU) Moins rapide (dépend de la RAM ou du
périphérique associé)
Rôle Stocke temporairement les instructions, Gère le transfert des données entre des
adresses et résultats des calculs composants de vitesse différente

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
14
Création de Processus
▪ La création d’un processus implique l’attribution d’un identifiant unique et l’initialisation de son état.
→ Cette identification permet de gérer sans ambiguïté les différents processus dans le système.
▪ Lorsqu’un processus est créé, il peut engendrer d’autres processus, créant ainsi une structure
hiérarchique. Le processus créateur est appelé processus père, et les processus créés sont ses processus

fils. Ensemble, ils forment un arbre de processus, où chaqu’un peut être à la fois un père et un fils.

Ancêtre

Père de F5 et F6 et fils de P

Arbre des processus


→ Cette organisation permet au système de déléguer des tâches spécifiques, de gérer les priorités et de
suivre l’exécution des processus de manière efficace.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
15
Exemple:

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
16
Représentation d’un processus sous Linux/Unix
▪ Un processus est représenté dans le noyau Linux par la structure task_struct.
▪ Elle sert de descripteur de processus, contenant toutes les informations nécessaires à son exécution.
▪ Chaque processus est relié aux autres sous forme de liste chaînée, permettant une gestion efficace des
relations parent-enfant.
▪ La structure task_struct est définie dans le fichier <linux/sched.h> et contient plusieurs champs clés :

Principaux champs de task_struct :


▪ state : l’état du processus
▪ prio : priorité du processus pour
l'ordonnancement.
▪ policy : politique d’ordonnancement appliquée au
processus.
▪ parent : référence au processus parent.
▪ tasks : liens vers les autres processus dans la liste
chaînée.
▪ pid : identifiant unique du processus.
liste des processus sous Linux ▪ ...

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
17
Pourquoi déléguer des tâches ?
▪ Lorsqu'un processus père crée des processus fils, il peut leur attribuer des tâches spécifiques à
exécuter. → Cela permet :
▪ Optimisation des ressources : répartition du travail pour éviter la surcharge.
▪ Modularité et robustesse : chaque processus exécute une partie de la tâche de manière
indépendante , facilitant la gestion des erreurs et la fiabilité du système.
▪ Exécution plus rapide : plusieurs processus peuvent fonctionner en parallèle.
▪ Exemple: Compilation de programme
▪ Processus principal : Supervise la compilation.
▪ Processus fils : Compile différents fichiers en parallèle.
▪ Avantages: amélioration de la performance, meilleure gestion des priorités, Système plus efficace et
réactif, …

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
18
Démarrage d'Unix et Organisation des Processus
▪ Étapes principales :
▪ BIOS : Initialise le matériel.
▪ Boot Loader : Charge l’image du noyau.
▪ Start_kernel() : Lance le noyau.
▪ Swapper (Processus 0) : Premier processus créé, gère la mémoire et initie les autres processus.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
19
Démarrage d'Unix et Organisation des Processus
▪ Processus Init (PID = 1, PPID = 0) : Fonctionne dans l'espace utilisateur.
▪ Lance les démons système: processus en arrière-plan qui s'exécute en permanence pour effectuer
des tâches système sans intervention directe de l'utilisateur. (ex. : inetd, crond, lpd).
▪ Gère les sessions utilisateur (via getty, login, shell).
▪ Démarre des commandes et applications (ex. : ls -la, firefox, ./script).

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
20
Démarrage d'Unix et Organisation des Processus
▪ Processus Kthreadd (PID = 2, PPID = 0) : Fonctionne dans l'espace noyau.
▪ Gère les threads essentiels du noyau :
▪ kswapd0 : Gestion de la mémoire.
▪ khelper : Gestion des événements noyau.
▪ kmpathd et rcu_sched : Gestion des tâches asynchrones.

→ Cette organisation garantit une coordination efficace entre l'espace noyau et utilisateur.
Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025
Les processus - Création et destruction d’un
processus
21

Utilisation de fork() pour Créer des Processus sous UNIX


▪ L’appel système fork() permet de créer un processus enfant en dupliquant le processus parent.
▪ Une fois le processus enfant créé, il peut exécuter de nouvelles instructions ou remplacer son
programme en mémoire via exec().

▪ Cycle des Processus :


1. fork()
▪ Crée un processus enfant identique au parent.
▪ Les deux processus continuent leur exécution indépendamment.
2. exec() (côté enfant)
▪ Permet de remplacer le programme courant par un nouveau programme.
▪ Fréquemment utilisé pour lancer une nouvelle application.
3. exit()
▪ Le processus enfant termine son exécution.
▪ Retourne un statut au processus parent.
4. wait() (côté parent) :
▪ Le parent attend la fin de l’enfant pour récupérer son statut d’exit.
▪ Garantit une bonne gestion des ressources système.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
22

Utilisation de fork() pour Créer des Processus sous UNIX

▪ fork()
▪ Génère un nouveau processus en créant une copie complète de l’original : le processus père et
le processus fils.
▪ Les processus deviennent indépendants et sont gérés par l’ordonnanceur.
▪ Chaque processus dispose d’une copie des zones de données, garantissant qu’une modification
dans l’un n’affecte pas l’autre.

▪ Propriétés héritées par le processus fils :


▪ Le même code que le processus parent.
▪ Une copie des données et de l’environnement
(variables d’environnement, chemin).
▪ Les descripteurs de fichiers (avec les mêmes
pointeurs de position).
▪ Les priorités et les signaux*.

*les signaux sont des mécanismes de communication utilisés pour notifier ou interrompre un processus

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
23
Attente d’un processus fils : wait()
▪ Fonctionnement de wait()
▪ Lorsqu’un processus fils termine (exit()), il libère ses ressources mais reste référencé dans la
table des processus en tant que zombie.
▪ Le processus père utilise wait() pour récupérer son statut et supprimer son entrée de la table,
éliminant ainsi le zombie.

▪ Un appel wait() par fils est nécessaire.


▪ Une gestion correcte de wait() garantit la
libération des ressources et empêche
l’accumulation de processus inutilisés.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
24
Attente d’un processus fils : sleep()
▪ La fonction sleep() suspend l’exécution du processus appelant pendant un certain
nombre de secondes spécifié.
▪ Pendant ce temps, le processus est en état de sommeil et ne consomme pas de temps
processeur.
▪ Une fois le délai écoulé, le processus reprend son exécution normalement.

▪ Caractéristiques:
▪ Appel bloquant : le processus est mis en
pause et ne reprend qu’après l’expiration
du temps spécifié.
▪ Utilisation courante : permet de contrôler le
rythme d’exécution d’un programme ou
d’attendre une ressource disponible.
▪ Interruption possible : le sommeil peut être
interrompu par un signal, auquel cas
l’exécution reprend plus tôt.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
25

Résultat attendu en sortie

(pid1 < 0 ou pid2 < 0)

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
26
Suivi de la terminaison d’un processus fils avec wait()
▪ Les macros définies dans <sys/wait.h> permettent d’analyser la fin d’un processus fils après un
appel à wait(). Elles fournissent des informations sur la nature de la terminaison.
▪ Macros essentielles :
▪ WIFEXITED(status) : Renvoie true si le processus fils s’est terminé normalement via exit() ou un return
dans main().
▪ WEXITSTATUS(status) : Retourne le code de sortie du processus fils si WIFEXITED(status) est vrai.
▪ WIFSIGNALED(status) : Renvoie true si le processus fils a été interrompu par un signal (ex. SIGKILL,
SIGSEGV).
▪ WTERMSIG(status) : Retourne le numéro du signal qui a causé la terminaison du processus fils si
WIFSIGNALED(status) est vrai.
▪ Ces macros sont essentielles pour assurer une bonne gestion des processus et diagnostiquer leur fin
(normale ou due à un signal).

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
27

Exemple 1 d’utilisation de la fonction : wait()

Résultat attendu en sortie

Attendre la terminaison d’un processus fils,


sans récupérer son code de retour

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
28

Exemple 2 récupération d’un processus père le PID et le code de retour

Résultat attendu en sortie

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
29
Attente d’un processus fils : waitpid ()
▪ Un processus père utilise wait() pour attendre la fin d’un de ses fils. Mais lorsqu’il y a plusieurs fils,
comment attendre un processus spécifique ?
→ Fonction waitpid():

▪ Permet au processus père d’attendre un fils précis en spécifiant son PID.


▪ Elle retourne:
▪ Le PID du fils terminé, si l’attente est réussie.
▪ -1 en cas d’erreur.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
30
Attente d’un processus fils : waitpid ()

▪ Paramètres:
▪ Pid:
▪ pid > 0 → Attend la fin du processus fils ayant ce PID exact.
▪ pid == 0 → Attend la fin de n'importe quel fils appartenant au même groupe.
▪ pid == -1 → Comportement identique à wait(), attend n'importe quel fils (on peut changé
le groupe d’un processus au cours de sa vie (setpgid() )).
▪ pid < -1 → Attend un fils dont le GID est égal à |pid|.
▪ Status: permet de récupérer le code de retour du fils.
▪ Options: définit le comportement de waitpid() (ex. 0 pour un fonctionnement par défaut).
▪ WNOHANG : ne pas bloquer si aucun fils ne s'est terminé.
▪ WUNTRACED : recevoir des informations sur les fils bloqués même si elles n'ont pas
encore été reçues.
▪ wait(&status) est équivalent à waitpid(-1, &status, 0).
Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025
Les processus - Création et destruction d’un
processus
31
Partage des ressources entre processus

▪ Lorsqu'un processus parent crée un processus enfant, plusieurs stratégies de partage des ressources
sont possibles :
▪ Partage total : Le parent et l’enfant partagent toutes les ressources (ex : mémoire, fichiers
ouverts, etc.).
▪ Partage partiel : L’enfant hérite d’un sous-ensemble des ressources du parent (ex : copie
des fichiers ouverts, mais mémoire indépendante).
▪ Aucun partage : Le parent et l’enfant n’ont aucune ressource en commun.
▪ Exemple : Lors de la création d’un processus avec fork(), l’enfant hérite des ressources, mais une
séparation peut être effectuée via exec().

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
32
Modes d’exécution des processus

▪ Après la création d’un processus enfant, deux options d’exécution existent :


▪ Exécution simultanée : Le parent et l’enfant s’exécutent en parallèle, indépendamment.
▪ Exécution séquentielle : Le parent attend la fin de l’exécution de l’enfant avant de
poursuivre (ex : wait() en C).
▪ Exemple :

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
33

Utilisation de fork() pour Créer des Processus


sous UNIX
Comment distinguer les deux processus (père et fils) ?
→ par la valeur de retour de l'appel fork()
▪ Valeurs de retour de fork() :
▪ zéro
▪ Renvoyé au processus fils.
▪ Indique qu’il s’agit du nouveau
processus créé.
▪ Valeur positive
▪ Renvoyée au processus père.
▪ Correspond au PID (Process ID) du
processus fils nouvellement créé.
▪ Valeur négative
▪ Indique un échec dans la création du
processus.
▪ Cela peut survenir en cas de manque de
ressources système (mémoire, tables de
processus).
Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025
Les processus - Création et destruction d’un
processus
34

Programme C créant un processus séparé

remplace le code du fils par le programme /bin/ls

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
35

Création d’un processus séparé via l’API Windows

Création du processus enfant avec


CreateProcess()

Le parent attend la fin du processus fils

▪ CreateProcess() demande beaucoup plus de paramètres pour


contrôler la création du processus.
▪ Contrairement à fork(), le processus enfant ne copie pas l’état du
parent mais démarre une nouvelle exécution.
Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025
Les processus - Création et destruction d’un
processus
36
Utilisation de fork() pour Créer des Processus sous UNIX

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
37
Utilisation de fork() pour Créer des Processus sous UNIX

return 0 exit(status);

▪ Division par zéro.


kill(pid, signal) ▪ Dépassement de mémoire (malloc() échoue).
▪ ...

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
38

Exit()
Kill() Return()

Processus de destruction d'un Processus

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
39

Exemple de terminaison d’un processus avec la méthode kill()

Résultat attendu en sortie

▪ Il force la terminaison immédiate du processus identifié par pid.


▪ Ne peut pas être intercepté ou ignoré par le processus cible.
▪ L'OS libère directement toutes les ressources associées au processus.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
40
Termination des processus avec exit()
▪ La fonction exit(int status) permet de mettre fin à l’exécution d’un processus de manière
explicite.
▪ Dans la bibliothèque <stdlib.h>
▪ Paramètre status : spécifie un code de retour entre 0 et 255, transmis au processus parent.
▪ Par convention :
▪ 0 indique une fin normale.
▪ Une valeur différente de 0 signale une erreur ou une condition spécifique.
▪ Avant la terminaison du processus, exit() :
▪ Exécute les fonctions de nettoyage des bibliothèques standard.
▪ Libère les ressources système allouées (mémoire, fichiers ouverts, etc.).

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Création et destruction d’un
processus
41

▪ Importance du contrôle hiérarchique


▪ Le suivi des processus enfants permet :
▪ Une meilleure gestion des ressources.
▪ La prévention des processus zombies.
▪ Une stabilité accrue du système.

▪ Processus zombies et orphelins


▪ Un processus zombie apparaît si le parent ne récupère pas le statut du fils via wait().
▪ Un processus orphelin survient si le parent termine avant ses enfants.
▪ Une gestion efficace de ces cas évite les pertes de ressources et optimise les performances
du système.

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025


Les processus - Inconvénients
42
Problèmes liés aux processus
Les processus ont certaines limites qui impactent
les performances du système :
▪ Consommation mémoire : chaque processus
dispose de son propre espace, entraînant des
duplications inutiles.
▪ Communication coûteuse : l’échange
d’informations passe par le noyau via des
pipes, files de messages ou mémoire partagée,
ce qui ajoute une latence.

▪ Surcharge du noyau : la création et la gestion des processus sollicitent fortement le système.


→ Les threads sont souvent privilégiés pour optimiser l’utilisation des ressources et réduire ces coûts.

Dr. Ing. T. Ben Aïcha Gader Cours


Système d’Exploitation 2024/2025
Les Threads
43

CHAPITRE 2

Dr. Ing. T. Ben Aïcha Gader Cours Système d’Exploitation II 2024/2025

Vous aimerez peut-être aussi