Chapitre 2 - Threads Flashcards

1
Q

PCB

A

(Process Control Block)

Informations requises pour permettre au SE de gérer un processus

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

États de processus

A
  • nouveau: le processus vient d’être créé
  • Executant (ou élu) - running : le processus est en train d’être exécuté par une UCT
  • Attente (ou bloqué) - waiting : le processus est en train d’attendre un evenement
  • Pret - ready : le processus est en attente d’être execute par une UCT
  • Termine - terminated : fin d’execution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Overhead

A

Le temps pour le changement de contexte

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

Un Thread

A

C’est un flux d’instructions

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

Modèle de codage des threads

Délégation

A

Un Thread principal crée les autres threads et leur assigne une tâche. Il peut aussi attendre jusqu’à ce que la tâche soit complétée.

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

Modèles de codage des threads

Peer to Peer

A

Tous les threads ont un status de travail egal.

Un thread pair (peer) cree tous les theads necessaires a une tache mais il me delegue pas des responsabilites.

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

Modèles de codage des threads

Producteur-Consommateur

A

Un Thread producteur génère du data pour être consommé par le thread consommateur. Le data est emmagasiné dans un block mémoire partagé par les threads producteur et consommateur

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

Modèles de codages des threads

Pipeline

A

Approche semblable à une ligne de production pour traiter des données par étapes (stages). Chaque stage est un thread qui fait du travail sur une unité d’entrée. Lorsque l’unité d’entrée passe par tous les stages, le traitement est complété

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

Thread Posix

A
Programmation Multithread pthread
#include "pthread.h"
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

EAGAIN

A

Erreur survenu lors de l’execution d’un thread :

La limite du système est dépassée (nombre de LWP- light weight process - permit)

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

Comment retourner l’ID du thread? (identificateur)

A

Pthread_t pthread_self(void);

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

Comment peut ont comparer deux threads?

A
int pthread_equal(pthread_t t1, pthread_t t2);
si la valeur retournée est NON NULLE alors les threads t1 et t2 sont egaux (c'est le meme thread), sinon elle retourne 0.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Difference entre pthread_exit et exit()?

A

Lorsque le Thread principal (main) appelle la fonction pthread_exit, il ne termine que lui même, les autres Threads dans le processus continuent d’exister . Alors que lors de l’execution de la fonction exit(), le processus se termine avec tous les threads.

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

int pthread_cancel(pthread_t t);

A

terminaison d’un Thread à partir d’un autre thread.

=> les valeurs retournés: 0 ou ESRCH (thread specifié non trouvé)

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

sched_yield( )

pthread_yield( )

A

un thread demande de rendre la main au cours de son execution

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