0% ont trouvé ce document utile (0 vote)
3 vues7 pages

Threads et Parallélisme en Système d'Exploitation

Le document traite des concepts de threads et de parallélisme dans les systèmes d'exploitation, en expliquant les différences entre systèmes multiprocessus, multiprocesseurs et distribués. Il aborde également la gestion des ressources, la communication entre threads et processus, ainsi que les problèmes de synchronisation. Enfin, il présente des primitives pour décrire des tâches parallèles et discute des limitations de ces primitives dans la gestion des dépendances.
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)
3 vues7 pages

Threads et Parallélisme en Système d'Exploitation

Le document traite des concepts de threads et de parallélisme dans les systèmes d'exploitation, en expliquant les différences entre systèmes multiprocessus, multiprocesseurs et distribués. Il aborde également la gestion des ressources, la communication entre threads et processus, ainsi que les problèmes de synchronisation. Enfin, il présente des primitives pour décrire des tâches parallèles et discute des limitations de ces primitives dans la gestion des dépendances.
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

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]

Vous aimerez peut-être aussi