Vous êtes sur la page 1sur 10

Université Mohammed V

Ecole Nationale supérieure d’informatique et d’Analyse


des Systèmes
ENSIAS

Compte rendu 1
TP N°1 : Gestion des processus
Nom et Prénom : Hanane ABID

Master1: Cloud and High Performance Computing-CLOUDHPC

Annee universitaire: 2019-2020

I. Objectifs du travail :
 Création des processus et des threads pour exécuter des taches différents ;
 Communication entre processus et threads ;
 Comprendre la différence entre les processus et les threads au niveau de la
mémoire ;
 Synchronisation des processus.

II. Etapes de réalisation :


A. Gestion des processus :
a) Création des Processus sous Linux :

Exercice 1 :
Figure1 : création 3 processus fils

Figure2 : création 3 processus fils (suite)

Après l’exécution du programme de la figure 2, on obtient les résultats suivants :

Figure3 : la sortie du programme précédent


 La fonction wait permet au processus père de récupérer le statut d’un processus fils.

b) Communication entre Processus :

Exercice 2 :

Figure 4 : échanger un tableau d’entiers entre deux processus

Après avoir exécuté le programme de la figure 4, on obtient comme résultats ce qui suit :
Figure 5 :la sortie du programme de la figure 4

Exercice 3 :

Figure 5 : communiquer deux processus en utilisant les tubes anonymes

c) Synchronisation des processus.

Exercice 4 :
Figure 6 : création de N processus et les mettre en attente

Apres l’exécution du programme de la figure 6 on obtient les résultats suivants :

Figure 7 : exécution du programme précédent

B. Introduction à la gestion des threads


Exercice 4 :

Le programme processus1.c :
Figure 8 : modification de la valeur a en utilisant les processus

Apres l’exécution du programme de la figure 8, on obtient les résultats suivants :

Figure 9 : la sortie du programme de la figure 8

Programme du thread1.c :
Figure 10 : modification de la valeur de a en utilisant les threads

Après avoir exécuté le programme thread1.c, on obtient les résultats suivants :

Figure 11 : la sortie du programme thread1.c

 Interprétation des résultats :

Les processus travaillent d’une manière indépendante (ils ne partagent pas la même mémoire), par
contre les threads partagent la même mémoire.

Exercice 5 :
Figure 12 : création d’un thread qui dort pendant que le thread principal attend qu’il se termine

Exercice 6 :
Figure 13 : création d’un thread qui prend en paramètre un tableau d’entier

Exercice 7 :

Figure 14 : création d’un thread qui prend en paramètre un tableau d’entier

III. Conclusion :
En ce qui concerne les processus :

 La création d’un nouveau processus implique la duplication de l’espace d’adressage.


 Les processus sont indépendants : données + pile d’exécution
 Un seul fil d’exécution.
 Découpage d’un programme en plusieurs processus “gros grain”

En ce qui concerne les threads :

 Communication plus simple par accès à l’espace d’adressage partagée ;


 Découpage des taches a ´´grain fin´´
 Problèmes de terminaison et d’inter blocages.

IV. Problèmes rencontrés :


Aucun problème rencontré pendant la création des programmes, il faut juste comprendre
l’utilisation des fonctions et quand il faut les utiliser et pourquoi.
V. Questions :
1. Est-ce que on peut utiliser ces fichiers pour faire communiquer des
processus ?
2. Est-ce qu’il y a la possibilité de Créer un bloc de mémoire du processus père
et le marquer comme accessible par ses processus fils ?

Vous aimerez peut-être aussi