Chapitre 3 Flashcards Preview

INF2610 - Noyau d'un systeme d'exploitation > Chapitre 3 > Flashcards

Flashcards in Chapitre 3 Deck (13):
1

Qu'est ce qu'un thread?

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

2

Combien de thread un processus possède t'il

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

3

Quelles sont les cractéristiques d'un thread?

– 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

4

Quelles sont les avantages d'utiliser les threads?

● 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.

5

Donner les caractéristique des threads utlisateur

- 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

6

Donner les inconvénient d'utiliser les threads

– À 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.

7

Donner les caractéristiques des threads noyau

- 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

8

Donner les inconvénients des threads noyau

● Performance (gestion plus coûteuse)
● Les programmes utilisant les fils d'exécution noyau sont moins portables que ceux qui utilisent des fils utilisateur.

9

Que fait vfork?

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

10

Quelle est la différence entre fork et clone?

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

11

Que fait pthread_exit?

● 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.

12

Que fais l'instruction pthread_create

Créer un pthread

13

Que fais l'instruction pthread_join?

Attend que le thread envoyer en parametre se termine.