Chapitre 3 Flashcards

1
Q

Qu’est ce qu’un thread?

A

C’est une unité d’exécution chargé d’exécuter une paretie du code du pricessus auquel elle est attachée

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Combien de thread un processus possède t’il

A

1+ thread

1 thread principal créer à la création du processus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelles sont les cractéristiques d’un thread?

A
– un identificateur unique
– une pile d'exécution
– des registres (un compteur ordinal)
– un état… 
(espace d’adressage, fichiers, périphériques…) sont partragé entre les thread du processus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quelles sont les avantages d’utiliser les threads?

A

● Réactivité (le processus peut continuer à s’exécuter même si certaines de ses parties sont bloquées),
● Partage de ressources (facilite la coopération, améliore les performances),
● Économie d’espace mémoire et de temps. Il faut moins de temps pour :
– créer, terminer un fil (sous Solaris, la création d’un processus est 30 fois plus lente que celle d’un thread),
– Changer de contexte entre deux threads d’un même processus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Donner les caractéristique des threads utlisateur

A
  • Implanter au niveau utilisateur (dans une libraire) et non au niveau kernel.
  • Le noyau ne les gere pas. ne s’en préoccupe pas
  • Ils se partagent le temps d’exécution du leur processus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Donner les inconvénient d’utiliser les threads

A

– À tout instant, au plus un fil par processus est en cours d’exécution.
Cette implémentation n’est pas intéressante pour des systèmes
multiprocesseurs.
– Si un thread d’un processus se bloque, tout le processus est bloqué.
Pour pallier cet inconvénient, certaines librairies transforment les
appels système bloquants en appels système non bloquants.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Donner les caractéristiques des threads noyau

A
  • Directement supporter par le noyau
  • Le système d’exploitation se charge de leur gestion
  • Du temp CPU est alloué à chaque thread
  • Si un thread est bloqué, un autre thread du meme processus peut etre elu par le noyau
  • Adapter aux systeme multi-processeurs
  • Un systeme peut ajuster le niveau de priorité des threads
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Donner les inconvénients des threads noyau

A

● Performance (gestion plus coûteuse)

● Les programmes utilisant les fils d’exécution noyau sont moins portables que ceux qui utilisent des fils utilisateur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Que fait vfork?

A

Il bloque le processus parent jusqu’a ce que le processus enfant ait terminé

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quelle est la différence entre fork et clone?

A

clone permet de spécifier les ressources qui sont partagées

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Que fait pthread_exit?

A

● Termine l’exécution du thread.
● Si le thread n’est pas détaché, le TID du thread et l’état de terminaison sont
sauvegardés pour les communiquer au thread qui effectuera pthread_join.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que fais l’instruction pthread_create

A

Créer un pthread

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Que fais l’instruction pthread_join?

A

Attend que le thread envoyer en parametre se termine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly