125
5.4 Choix des compteurs
Figure 5.14 — Affichage du temps privilégié
System\Context Switches/sec
Indique le nombre de changements de contexte à la seconde. Dans un environnement multiprocesseurs, un nombre de threads plus important que le nombre de
processeurs s’exécute en multitâche préemptif 1 . Le système d’exploitation est
responsable de l’attribution des temps d’utilisation processeur à chaque thread. Il
organise donc une répartition d’exécution, comme un animateur de débat télévisé
qui distribue les temps de parole tout au long de l’émission. Chaque thread s’exécute
dans un contexte, son état est maintenu, notamment dans les registres du processeur.
Passer d’un thread à l’autre implique donc de remplacer le contexte du thread remis
dans la pile, par le contexte du thread à qui l’OS redonne le processeur.
Nous avons vu que SQL Server implémente une couche appelée SQLOS, qui est
un environnement semblable à un système d’exploitation en miniature. Cet environnement gère ses propres threads, appelés « worker threads », mappés par défaut à
des threads Windows. Un réservoir (pool) de worker threads est maintenu par SQLOS
pour exécuter les tâches du serveur SQL. Le nombre de threads dans ce pool est déter1. En multitâche préemptif, un temps défini est attribué par le système d’exploitation à chaque
processus pour exécuter sa tâche. Si le travail n’est pas fini à l’expiration de ce délai, le processus
est renvoyé dans la pile et laisse sa place au processus suivant dans la file d’attente, et ainsi de
suite.
5.4 Choix des compteurs
Figure 5.14 — Affichage du temps privilégié
System\Context Switches/sec
Indique le nombre de changements de contexte à la seconde. Dans un environnement multiprocesseurs, un nombre de threads plus important que le nombre de
processeurs s’exécute en multitâche préemptif 1 . Le système d’exploitation est
responsable de l’attribution des temps d’utilisation processeur à chaque thread. Il
organise donc une répartition d’exécution, comme un animateur de débat télévisé
qui distribue les temps de parole tout au long de l’émission. Chaque thread s’exécute
dans un contexte, son état est maintenu, notamment dans les registres du processeur.
Passer d’un thread à l’autre implique donc de remplacer le contexte du thread remis
dans la pile, par le contexte du thread à qui l’OS redonne le processeur.
Nous avons vu que SQL Server implémente une couche appelée SQLOS, qui est
un environnement semblable à un système d’exploitation en miniature. Cet environnement gère ses propres threads, appelés « worker threads », mappés par défaut à
des threads Windows. Un réservoir (pool) de worker threads est maintenu par SQLOS
pour exécuter les tâches du serveur SQL. Le nombre de threads dans ce pool est déter1. En multitâche préemptif, un temps défini est attribué par le système d’exploitation à chaque
processus pour exécuter sa tâche. Si le travail n’est pas fini à l’expiration de ce délai, le processus
est renvoyé dans la pile et laisse sa place au processus suivant dans la file d’attente, et ainsi de
suite.
