Académique Documents
Professionnel Documents
Culture Documents
Zendaoui Fairouz
2021-2022
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Plan du cours
Introduction
Parallélisme
Outils de parallélisme
Problématique
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Introduction
Introduction
Introduction
Introduction
Introduction
Définition de processus
C’est une entité dynamique (active) créée à un instant donné, qui disparaît
en général au bout d’un temps fini, représentant l’exécution d’un
programme sur un processeur.
Processus=instructions + ressources
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Introduction
Exemple de processus:
Le calcul de la moyenne des notes (programme utilisateur)
Les commandes DOS: copy, find (programmes systèmes)
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Introduction
Du programme au processus
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Introduction
Introduction
Définition
L’ordonnanceur (scheduler en anglais) est un programme du SE qui s’occupe de
choisir, selon une politique (ou algorithme) d’ordonnancement donné, un processus
parmi les processus prêts pour lui affecter le processeur.
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Introduction
Introduction
Création de processus
Terminaison de processus
Introduction
Introduction
Introduction
Introduction
Compétition
C’est la situation dans laquelle plusieurs processus doivent utiliser
simultanément une ressource critique à accès exclusif (ressource ne peut
être utilisée que par un seul processus à la fois ).
Introduction
Coopération
Si les processus se connaissent mutuellement, on parle alors de
coopération. C’est la situation dans laquelle plusieurs processus collaborent
à une tâche commune et doivent synchroniser pour réaliser cette tâche.
Un processus est dit coopératif s’il peut affecter les autres processus en
cours d’exécution dans le système ou être affecté par exécution.
Exemples :
P1 produit un fichier, p2 imprime le fichier.
P1 met à jour un fichier, p2 consulte le fichier.
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Introduction
Parallélisme
Définition
Parallélisme
Exemple
Soit le programme suivant :
I1: lire(a)
I2: lire(b)
I3: c=a+b
I4: ecrire(c)
Parallélisme
Exemple
Soit le programme suivant :
I1: lire(a)
I2: lire(b)
I3: c=a+b
I4: ecrire(c)
Parallélisme
Types
Parallélisme
Parallélisme apparent
Exemple:
Dans les systèmes temps partagé, on utilise l’ordonnancement par
tourniquet pour réaliser ce parallélisme:
• Conceptuellement, chaque processus a son propre processeur virtuel et
son compteur ordinal.
• Concrètement, un seul processeur et un seul compteur ordinal.
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Parallélisme
Parallélisme réel
Exemple:
Les systèmes répartis dont l’objectif est de masquer l’aspect répartition aux
utilisateurs.
L’utilisateur accède aux ressources éloignées de la même façon que les
ressources locales.
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Outils de parallélisme
Le multitâches
Outils de parallélisme
Le multitâches
Outils de parallélisme
Le multithreading
• Un processus est une exécution d'un programme mais un thread est une
séquence d'exécution unique au sein du processus. Un processus peut
contenir plusieurs threads.
Outils de parallélisme
Le multithreading
Outils de parallélisme
Le multithreading
Avantages :
Permet à une application de continuer l’exécution même si l’une de ses
parties est bloquée ou effectue une opération de longue durée.
Partage de ressources entre les threads d’un même processus.
L’économie d’allocation mémoire et le temps d’exécution.
Bonne méthode dans les architectures parallèles.
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Problématique
Exemple de concurrence
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Problématique
o Client ne doit pas pouvoir accéder à une zone mémoire que User est en
train d’écrire.
o Lorsqu’une zone mémoire contient une valeur, User doit réveiller
Client s’il est inactif.
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Problématique
Conflit pour l’accès simultané à une ressource qui ne peut être utilisée
que par un seul processus à la fois.
Action directe d’un processus sur un autre: mise en attente ou réveil.
Chapitre 1: Notions de parallélisme, de coopération et de compétition
Problématique
Mécanismes d’interaction