J'ai une idée de la façon dont les interruptions sont traitées par un processeur dual core. Je me demandais comment la gestion des interruptions est implémentée sur une carte avec plus d'un processeur physique.Comment les interruptions sont-elles gérées par des machines à double processeur?
L'une des responsabilités d'interruption est-elle déterminée par la configuration de la carte physique? Chaque processeur doit être capable de gérer certains types d'interruptions, comme les E/S disque. À moins qu'il y ait des circuits pour gérer et envoyer les interruptions au processeur approprié? Ma conjecture est que le schéma doit être neutre du processeur, de sorte que n'importe quel processeur et noyau puisse exécuter le gestionnaire d'interruption.
Si un noyau est en attente sur une lecture de disque, ce noyau sera le seul à exécuter le gestionnaire d'interruption lorsque le disque est prêt?
Je vois maintenant qu'un noyau attend jamais sur une lecture, un thread attend. Lorsque la lecture est terminée cependant, il semble qu'il serait probablement préférable d'exécuter le thread nouvellement réveillé sur le même processeur que précédemment en raison de la possibilité pour les données encore en cache sur ce processeur. – jeffD