Interrupciones
Una interrupción es una señal hacia el procesador emitida por hardware o software indicando un evento que necesita atención inmediata.
Rutina de servicio de interrupción
Tambien conocido como gestor de interrucpion o ISR(Interrupt Service Routine), es una función callback en un microcontrolador firmware, un sistema operativo o un controlador de dispositivos, cuya ejecución es provocada por la recepción de una interrupción. En general, las interrupciones y sus gestores son usados para manejar condiciones de alta prioridad que requieren interrupción del codigo actual que el procesador está ejecutando.
Proceso de tratamiendo al recibir una señal de interrupción:
- Usando el apuntador al PCB actual, el estado y todos los valores de los registros para el proceso son guardados para usarlos cuando el proceso sea reiniciado luego.
- El bit del modo del CPU es cambiado a modo supervisor.
- Usando el Apuntador a la tabla gestora de interrupciones y el vector de interrupciones, la ubicación del codigo kernel a ejecutar es determinada. El vector de interrupciones es el IRQ para las interrupciones de hardware (leídas del registro de un controlador de interrupciones) y un argumento para la instruccion de lenguaje ensamblador para las interrupciones por software.
- Se ejecuta entonces la rutina apuntada por la dirección determinada en el paso anterior.