Tengo una idea de cómo las interrupciones son manejadas por una CPU de doble núcleo. Me preguntaba cómo se implementa el manejo de interrupciones en una placa con más de un procesador físico.¿Cómo se manejan las interrupciones en las máquinas con dos procesadores?
¿Alguna de las responsabilidades de interrupción está determinada por la configuración de la placa física? Cada procesador debe ser capaz de manejar algunos tipos de interrupciones, como E/S de disco. ¿A menos que haya algún circuito para gestionar y enviar interrupciones al procesador apropiado? Supongo que el esquema debe ser el procesador neutral, de modo que cualquier procesador y núcleo pueda ejecutar el manejador de interrupciones.
Si un núcleo está esperando una lectura de disco, ¿será ese núcleo el que ejecutará el manejador de interrupciones cuando el disco esté listo?
Ahora veo que un núcleo nunca espera en una lectura, un hilo de espera. Sin embargo, cuando finalice la lectura, parece que sería mejor ejecutar el hilo recién despertado en el mismo procesador que antes debido a la posibilidad de que los datos aún se almacenen en caché en ese procesador. – jeffD