2 ÉME ANNÉE LIC
SPÉCIALITÉ: INFORMATIQUE
MODULE: SYSTEME D'EXPLOITATION 01
Solution Fiche TD 01
Titre : La notion de Thread & le Parallélisme
Exercice 01 : Solution
Réponse Question 1 :
➢ Un système multiprocessus : plusieurs processus s’exécutent en parallèles
➢ Un système multiprocesseur : plusieurs processeurs s’exécutent en
parallèles et partage la mémoire commune (la ram), ils sont reliés entre eux
par des bus de données.
➢ Un système distribué : c’est un système composé par plusieurs processeurs
qui ne partage ni la mémoire ni la fréquence d’horloge et communique entre
eux par un réseau de communication.
Réponse Question 2 :
➢ Dans un système séquentiel, un processus qui s’exécute les entrées / sorties
ne libère pas le processeur malgré qu’il ne l’utilise pas (il n’y a pas une
exécution parallèle entre les traitements cpu et les traitements des
entrées/sorties.
➢ Par contre dans un système parallèle lorsqu’un processus demande des
entrées/ sorties libère automatiquement le processeur aux autres processus
(il y a une exécution parallèle entre les traitements CPU et les traitements
entrés/sortie).
Réponse Question 3 :
➢ C’est la multitâche et la rapidité d’exécution
Réponse Question 4 :
➢ Le thread exprime le parallélisme à l’intérieur d’un processus, il augmente la
rapidité d’exécution d’une application (réduire le temps de réponse d’une
application.
Réponse Question 5 :
➢ Crée une application multithread est très efficace de créer une application
multiprocessus. Les threads consomment moins de ressources du système par
rapport aux processus.
• Exemple : une application de 3 processus nécessite trois espaces
mémoire (chaque processus possède son propre mémoire), par contre
une application de 3 threads utilise et partage un seule espace mémoire
de son processus père.
➢ Les threads ne s’exécutent pas des appels systèmes, ils sont inconnus
(invisible) au niveau de système.
➢ Tous les threads d’un même processus partagent les mêmes ressources de
processus père. La communication entre les threads s’effectué directement en
utilisant l’espace mémoire partagé, Par contre, la communication entre
processus nécessite des appels système
Dr. Abdelkader Medjdoubi
@ Mail : [Link]@[Link]
2 ÉME ANNÉE LIC
SPÉCIALITÉ: INFORMATIQUE
MODULE: SYSTEME D'EXPLOITATION 01
Réponse Question 6 :
➢ Oui, cela dépend de la taille de l’espace mémoire réservé et alloué au processus
père.
Réponse Question 7 :
➢ Non, un thread accède uniquement aux ressources allouées à son processus
père.
Réponse Question 8 :
➢ C’est le problème de synchronisation et l’exclusion mutuelle entre les
processus.
Exercice 02 : Solution
Exercice 03 : Solution
1. Découpage en tâches sans variables intermédiaires
Dr. Abdelkader Medjdoubi
@ Mail : [Link]@[Link]
2 ÉME ANNÉE LIC
SPÉCIALITÉ: INFORMATIQUE
MODULE: SYSTEME D'EXPLOITATION 01
2. Graphe de précédence avec condition de Bernstein
a. Condition de Bernstein :
✓ Deux tâches sont dépendantes si elles ont au moins une variable en
écriture-lecture, lecture-écriture ou écriture-écriture
b. Graphe de précédence :
3. Le Programme PARBEGIN/PAREND :
Dr. Abdelkader Medjdoubi
@ Mail : [Link]@[Link]
2 ÉME ANNÉE LIC
SPÉCIALITÉ: INFORMATIQUE
MODULE: SYSTEME D'EXPLOITATION 01
Exercice 04 : Solution
Dr. Abdelkader Medjdoubi
@ Mail : [Link]@[Link]
2 ÉME ANNÉE LIC
SPÉCIALITÉ: INFORMATIQUE
MODULE: SYSTEME D'EXPLOITATION 01
Exercice 05 : Solution
➢ Les primitives PARBEGIN/PAREND permettent de décrire des tâches
exécutées en parallèle mais sans dépendances complexes. (En remarquant la
tache T1 et leur dépendance avec T5, T8 et T9)
➢ Elles ne peuvent exprimer que des parallélismes simples, c’est-à-dire des
tâches qui démarrent en même temps et se terminent avant la suite du
programme.
➢ Elles ne permettent pas d’exprimer des dépendances partielles, où une tâche
dépend d’une autre qui s’exécute en parallèle avec d’autres.
➢ Ce système de tâches nécessite des mécanismes plus généraux, comme les
sémaphores, car PARBEGIN/PAREND ne permet que des dépendances
globales et non partielles.
➢ Donc, on ne peut pas vraiment représenter ce system utilisant les primitives
PARBEGIN/PAREND.
Dr. Abdelkader Medjdoubi
@ Mail : [Link]@[Link]
2 ÉME ANNÉE LIC
SPÉCIALITÉ: INFORMATIQUE
MODULE: SYSTEME D'EXPLOITATION 01
Exercice 06 : Solution
Dr. Abdelkader Medjdoubi
@ Mail : [Link]@[Link]
2 ÉME ANNÉE LIC
SPÉCIALITÉ: INFORMATIQUE
MODULE: SYSTEME D'EXPLOITATION 01
Le temps d’exécution minimale :
✓ Avec 1 CPU = 8s
✓ Avec 8 CPU = 4s et pas 0.5s
Dr. Abdelkader Medjdoubi
@ Mail : [Link]@[Link]