Changement de contexte
Changer le processus qui s'exécute sur un cœur — sauvegarder tout l'état de l'un, restaurer celui de l'autre.
Le noyau sauvegarde le contenu des registres, le compteur ordinal et le pointeur de pile du processus sortant, puis charge les équivalents du processus entrant. Si l'on change aussi de processus, et pas seulement de thread, la traduction mémoire doit être remplacée, ce qui vide en pratique le TLB.
Le changement lui-même prend environ une microseconde, mais le coût caché est bien plus lourd : le nouveau processus démarre avec un cache froid et attend la mémoire pendant des milliers de cycles. C'est toute la raison pour laquelle les modèles asynchrones à peu de threads battent souvent le modèle un-thread-par-connexion, et pourquoi un système qui affiche un chiffre cs élevé dans vmstat ne va pas bien.