La interrupción es una señal emitida por hardware o software cuando un proceso o un evento necesita atención inmediata. Alerta al procesador de un proceso de alta prioridad que requiere la interrupción del proceso de trabajo actual. En los dispositivos de E / S, una de las líneas de control de bus está dedicada a este propósito y se denomina Rutina de Servicio de Interrupción (ISR).
Cuando un dispositivo genera una interrupción en, digamos, el proceso i, el procesador completa primero la ejecución de la instrucción i. Luego carga el Contador de Programas (PC) con la dirección de la primera instrucción del ISR. Antes de cargar el Contador de programa con la dirección, la dirección de la instrucción interrumpida se mueve a una ubicación temporal. Por lo tanto, después de manejar la interrupción, el procesador puede continuar con el proceso i+1.
Mientras el procesador está manejando las interrupciones, debe informar al dispositivo que su solicitud ha sido reconocida para que deje de enviar la señal de solicitud de interrupción. Además, al guardar los registros para que el proceso interrumpido pueda restaurarse en el futuro, aumenta el retraso entre el momento en que se recibe una interrupción y el inicio de la ejecución del ISR. Esto se denomina Latencia de interrupción.
Interrupciones de hardware:
En una interrupción de hardware, todos los dispositivos están conectados a la Línea de solicitud de interrupción. Se utiliza una sola línea de solicitud para todos los dispositivos n. Para solicitar una interrupción, un dispositivo cierra su conmutador asociado. Cuando un dispositivo solicita una interrupción, el valor de INTR es el OR lógico de las solicitudes de dispositivos individuales.
Secuencia de eventos involucrados en el manejo de una IRQ:
- Los dispositivos generan una IRQ.
- El procesador interrumpe el programa que se está ejecutando actualmente.
- Se informa al dispositivo de que su solicitud ha sido reconocida y el dispositivo desactiva la señal de solicitud.
- se realiza La acción solicitada.
- La interrupción está habilitada y se reanuda el programa interrumpido.
Manejo de varios dispositivos:
Cuando más de un dispositivo genera una señal de solicitud de interrupción, se necesita información adicional para decidir qué dispositivo considerar primero. Se utilizan los siguientes métodos para decidir qué dispositivo seleccionar: Sondeo, Interrupciones Vectorizadas y Anidamiento de interrupciones. Estos se explican a continuación.
- Sondeo:
En el sondeo, el primer dispositivo que se encuentra con un conjunto de bits IRQ es el dispositivo que se debe reparar primero. Se llama al ISR apropiado para prestar el mismo servicio. Es fácil de implementar, pero se pierde mucho tiempo interrogando el bit IRQ de todos los dispositivos. - Interrupciones vectorizadas:
En interrupciones vectorizadas, un dispositivo que solicita una interrupción se identifica directamente enviando un código especial al procesador a través del bus. Esto permite al procesador identificar el dispositivo que generó la interrupción. El código especial puede ser la dirección de inicio del ISR o donde se encuentra el ISR en la memoria, y se denomina vector de interrupción. - Anidamiento de interrupciones:
En este método, el dispositivo de E/S se organiza en una estructura de prioridades. Por lo tanto, se reconoce la solicitud de interrupción de un dispositivo de mayor prioridad cuando no lo es la solicitud de un dispositivo de menor prioridad. Para implementar esto, cada proceso / dispositivo (incluso el procesador). El procesador acepta interrupciones solo de dispositivos / procesos que tienen prioridad más que él.
La prioridad de los procesadores está codificada en unos pocos bits de PS (Registro de estado del proceso). Se puede cambiar mediante instrucciones de programa que se escriben en el PS. El procesador solo está en modo supervisado mientras ejecuta rutinas del sistema operativo. Cambia al modo de usuario antes de ejecutar programas de aplicación.
¡Atención al lector! No dejes de aprender ahora. Obtenga todos los conceptos importantes de Teoría de CS para entrevistas SDE con el Curso de Teoría de CS a un precio amigable para los estudiantes y prepárese para la industria.