1. Interrupciones
Una interrupción es un mecanismo que permite ejecutar un
bloque de instrucciones interrumpiendo la ejecución de un
proceso y su objetivo principal es mejorar la eficiencia del
procesamiento.
2. Clases de Interrupciones
• De programa
Son aquellas que se producen cuando la CPU detecta una condición
extraordinaria durante la ejecución de un programa o instrucción
(Desbordamiento (Overflow), Direccionamiento invalido, Instrucción
invalida).
• De reloj
Estas son generadas por un reloj interno del procesador con el fin de
que el S.O lleve a cabo ciertas funciones con regularidad.
• De E/S
Estas son generadas por los dispositivos periféricos, ya que estos
pueden operar en forma independiente del procesador y ocurren
cuando estos dispositivos notifican al S.O que ha concluido una
operación (Sea esta satisfactoria o no) .
• Por fallas de hardware
• Estas ocurren por condiciones externas al programa que se esta
ejecutando. (Corte de energía)
3. Tratamiento de Interrupciones
• El S.O debe proveer las rutinas especiales para el manejo de
interrupciones con el fin de reconocer el tipo especifico de
interrupción que ha ocurrido y realizar el tratamiento debido:
1. Cuando se produce la interrupción, esta queda almacenada en un
registro especial donde se encuentra e tipo de interrupción
presentada.
2. Se salva el estado actual de CPU al momento de la interrupción.
3. Se hace transferencia incondicional al punto de entrada dela
rutina manejadora de interrupciones.
4. Una vez en la rutina manejadora, se determina el origen de la
interrupción.
5. Se mantienen enmascaradas las interrupciones con prioridad igual
o menor que aquella que se esta procesando.
6. Al finalizar la rutina manejadora, eventualmente continuara
ejecutándose el programa que estaba corriendo cuando se
produjo la interrupción.
4. Interrupciones Múltiples
• Existen dos enfoques para estas:
1. Inhabilitar las interrupciones mientras se esta tratando una.
2. Definir prioridades para estas y permitir que una de mas alta
prioridad pueda interrumpir la rutina de una de mas baja
prioridad.