Gestion des Threads Noyau

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quel attribut d'un thread indique sa stratégie d'ordonnancement ?

  • schedpolicy (correct)
  • inheritsched
  • detachstate
  • scope

Quel type de fonction est utilisée pour extraire la valeur d'un attribut d'un thread ?

  • pthread_attr_getnom (correct)
  • pthread_attr_modify
  • pthread_attr_setnom
  • pthread_attr_create

Quelle fonction est utilisée pour modifier la taille de la pile d'un thread ?

  • pthread_stacksize
  • pthread_create
  • pthread_attr_getstacksize
  • pthread_attr_setstacksize (correct)

Quel est le paramètre qui détermine si un thread est joignable ou détaché ?

<p>detachstate (D)</p> Signup and view all the answers

Quel attribut permet de définir l'adresse de la pile d'un thread ?

<p>stackaddr (B)</p> Signup and view all the answers

Quel est le retour d'un thread après une annulation réussie?

<p>PTHREAD_CANCELED (A)</p> Signup and view all the answers

Quelle fonction permet de changer l'état d'annulation d'un thread?

<p>pthread_setcancelstate (B)</p> Signup and view all the answers

Quel état d'annulation est défini par défaut pour un thread?

<p>PTHREAD_CANCEL_ENABLE (C)</p> Signup and view all the answers

Quel type d'annulation permet à un thread d'être annulé immédiatement?

<p>PTHREAD_CANCEL_ASYNCHRONOUS (A)</p> Signup and view all the answers

Quel paramètre est retourné par pthread_setcancelstate pour indiquer l'ancien état?

<p>oldState (D)</p> Signup and view all the answers

Quel sous-standard POSIX est spécifiquement lié à la création et à la gestion des threads ?

<p>POSIX.4a (C)</p> Signup and view all the answers

Quel aspect de la gestion du temps est abordé dans le sous-standard POSIX.4 ?

<p>Horloges et timers (A)</p> Signup and view all the answers

Quel sous-standard se concentre sur les signaux en temps réel ?

<p>POSIX.4 (B)</p> Signup and view all the answers

Quels éléments ne sont pas inclus dans POSIX.1 ?

<p>Sémaphores (D)</p> Signup and view all the answers

Quelle fonctionnalité fait partie des extensions de POSIX.4b ?

<p>Gestion des interruptions (A)</p> Signup and view all the answers

Quel sous-standard est le premier à introduire des concepts de gestion de threads ?

<p>POSIX.4a (A)</p> Signup and view all the answers

Quels types de signal sont abordés dans POSIX.1 ?

<p>Signaux de base (B)</p> Signup and view all the answers

Quel est l'avantage principal du modèle de multi-threading plusieurs-vers-plusieurs ?

<p>Il réduit le blocage en permettant plusieurs threads en même temps. (C)</p> Signup and view all the answers

Quel sous-standard n'aborde pas la gestion du temps ?

<p>POSIX.1 (D)</p> Signup and view all the answers

Dans quel système d'exploitation peut-on trouver des exemples de multi-threading plusieurs-vers-plusieurs ?

<p>Solaris avant la version 9. (B)</p> Signup and view all the answers

Quel type de threads est principalement géré par le noyau dans un modèle plusieurs-vers-plusieurs ?

<p>Threads noyaux. (B)</p> Signup and view all the answers

Quel est un inconvénient du modèle de multi-threading plusieurs-vers-plusieurs ?

<p>Il nécessite une mise en œuvre plus complexe. (B)</p> Signup and view all the answers

Quelle approche d'implémentation utilise uniquement l'espace utilisateur pour les librairies de threads ?

<p>Utilisation par invocation de fonctions. (D)</p> Signup and view all the answers

Quelle est une caractéristique des threads hybrides dans le modèle à deux niveaux ?

<p>Ils combinent plusieurs-vers-plusieurs et un-vers-un. (D)</p> Signup and view all the answers

Quelles sont les trois librairies courantes pour la gestion des threads ?

<p>POSIX Pthreads, Windows, Java. (D)</p> Signup and view all the answers

Quel est l'impact principal du multiplexage des threads utilisateurs sur les threads noyaux ?

<p>Cela améliore la capacité de gestion des processus. (A)</p> Signup and view all the answers

Qu'est-ce qui se produit si un thread d'un processus se bloque ?

<p>Tout le processus est bloqué. (A)</p> Signup and view all the answers

Quel est l'inconvénient principal des threads noyau par rapport aux threads utilisateur ?

<p>Les programmes utilisant des threads noyau sont moins portables. (B)</p> Signup and view all the answers

Quelle affirmation est vraie concernant la gestion des threads noyau ?

<p>Les threads peuvent être répartis sur plusieurs cœurs. (B)</p> Signup and view all the answers

Quel est un inconvénient de l'utilisation des threads noyau ?

<p>Le changement de contexte passe par le noyau. (B)</p> Signup and view all the answers

Quel est un avantage des threads noyau ?

<p>Un autre thread peut être élu si un thread est bloqué. (B)</p> Signup and view all the answers

Pourquoi certaines bibliothèques transforment-elles les appels système bloquants en appels système non bloquants ?

<p>Pour éviter le blocage de tous les processus. (A)</p> Signup and view all the answers

Comment le système d'exploitation gère-t-il les threads noyau ?

<p>Il ne fait aucune différence entre processus et threads. (C)</p> Signup and view all the answers

Quel élément est essentiel pour la gestion des threads noyau ?

<p>Une table des threads. (D)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

Gestion de Threads

  • L'implémentation des threads noyau est directement supportée par le système d'exploitation, gérant leur gestion.
  • Linux ne différencie pas les processus des threads, les désignant tous comme "tâches".
  • L'ordonnancement est géré directement par le noyau.
  • Une table des threads est nécessaire pour mémoriser les contextes d'exécution et les informations de chaque thread.
  • Le CPU affecte du temps à chaque thread sur la base de leur priorité.

Avantages des Threads Noyau

  • Si un thread est bloqué, un autre thread peut être élu par le noyau pour s'exécuter.
  • Un processus peut ajuster la priorité de ses threads.
  • Les threads peuvent être répartis sur plusieurs cœurs, ce qui est plus intéressant pour les systèmes multiprocesseurs.

Inconvénients des Threads Noyau

  • La performance peut être impactée car la gestion est plus coûteuse.
  • Le changement de contexte nécessite de passer par le noyau.
  • Les programmes utilisant les threads noyau sont moins portables que ceux qui utilisent les threads utilisateur.

Modèles de Multi-threading

  • L'implémentation des liens entre threads utilisateur et threads noyau varie selon les plateformes.

Modèle "Plusieurs-vers-plusieurs"

  • Plusieurs threads utilisateur peuvent être associés à plusieurs threads noyau.
  • Ce modèle combine les avantages des threads noyau et des threads utilisateur.
  • Permet une meilleure concurrence et moins de blocage.
  • Exemples : Solaris avant version 9, Windows NT/2000 (avec ThreadFiber).
  • Inconvénient : implémentation plus complexe.

Modèle "Deux-niveaux" (Threads Hybrides)

  • Combine les modèles "plusieurs-vers-plusieurs" et "un-vers-un".
  • Exemples : IRIX, HP-UX, Tru64 UNIX, Solaris 8 et avant.
  • Exemples: Threads Solaris.

Librairie de Threads

  • Fournit une API pour la création et la gestion de threads.
  • Deux approches d'implémentation : espace utilisateur sans support kernel et espace noyau.
  • Trois librairies courantes principales : POSIX Pthreads, Windows et Java.

Pthread (POSIX Thread)

  • Pthread est un standard POSIX pour la gestion de threads.
  • Il est divisé en plusieurs sous-standards : POSIX.1, POSIX.4, POSIX.4a et POSIX.4b.

Attributs des Threads

  • Définissent les propriétés d'un thread, comme son type, sa stratégie d'ordonnancement, sa priorité, etc.
  • Passés lors de la création du thread via pthread_attr_t.
  • Initialisés avec les valeurs par défaut via pthread_attr_init.

Gestion des Threads: Annulation

  • Les threads peuvent être annulés.
  • L'état d'annulation est géré par pthread_setcancelstate.
  • Le type d'annulation est géré par pthread_setcanceltype.
  • pthread_testcancel permet de tester si un thread a reçu une demande d'annulation.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team
Use Quizgecko on...
Browser
Browser