Recientemente comencé a bucear en la programación de bajo nivel del sistema operativo. Soy (muy lentamente) que actualmente trabajan a través de dos libros más antiguos, Xinu y construir su propio sistema operativo de 32 bits, así como algunos recursos sugeridos por los finos para que la gente en mi pregunta anterior, How to get started in operating system development.¿Cómo funcionan las interrupciones en máquinas multinúcleo/multicpu?
Podría ser que aún no lo he encontrado en ninguno de esos recursos, pero es probable porque la mayoría de estos recursos se escribieron antes que los omnipresentes sistemas multinúcleo, pero lo que me pregunto es cómo funcionan las interrupciones en un multinúcleo./sistema multiprocesador.
Por ejemplo, dicen que el DMA quiere indicar que un archivo leído operación se ha completado. ¿Qué procesador/núcleo reconoce que se indicó una interrupción? ¿Es el procesador/núcleo el que inició la lectura del archivo? ¿Es el procesador/núcleo el que llega primero?
No sé la respuesta a su pregunta, pero altamente recomiendo echar un vistazo a la Intel® 64 and IA-32 Architectures Software Developer's Manual, volumen 3, capítulo 5. Es grande y detallado, contiene más de lo que siempre quiso saber sobre la arquitectura x86. –
@GiovanniGalbo +1 por mencionar el proyecto XINU. – smwikipedia