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.

results matching ""

    No results matching ""