Sunteți pe pagina 1din 2

Interrupciones del procesador

Una interrupcin es un evento que altera la secuencia en que el procesador ejecuta las instrucciones. La interrupcin es generada por el hardware del sistema de cmputo. Cuando ocurre una interrupcin: El sistema operativo toma el control (es decir, el hardware pasa el control al sistema operativo). El sistema operativo guarda el estado del proceso interrumpido. En muchos sistemas esta informacin se guarda en el bloque de control de proceso interrumpido. El sistema operativo analiza la interrupcin y transfiere el control a la rutina apropiada para atenderla; en muchos sistemas actuales el hardware se encarga de esto automticamente. La rutina del manejador de interrupciones procesa la interrupcin. Se restablece el estado del proceso interrumpido (o del siguiente proceso). Se ejecuta el proceso interrumpido (o el siguiente proceso).

l microprocesador est en constante interaccin con los perifricos del computador. Estos ltimos requieren que en determinados momentos se ejecute otro programa, comnmente conocido como rutina de servicio de interrupcin, para procesar los datos que ellos generan. Ahora bien, cmo puede el
microprocesador estar al tanto que en determinado momento el perifrico requiere de los servicios del microprocesador? Una de las respuestas a dicha pregunta es implementando una rutina que supervise constantemente el estado del perifrico. Cuando esta rutina detecta que se cumplen ciertas condiciones, se ejecuta la subrutina de servicio. Este mtodo o procedimiento trae como desventaja emplear innecesariamente ciclos de mquina del procesador en determinar el estado del perifrico, ya que la necesidad de ejecutar la subrutina de servicio es aleatoria. Una manera ms refinada de solucionar este problema es implementar un sistema en el microprocesador que permita que el perifrico le notifique la necesidad de sus servicios. Este es el concepto de una interrupcin, de modo que una interrupcin es una solicitud al microprocesador para que suspenda el programa en ejecucin, y se ejecute la rutina de servicio de interrupcin. A nivel fsico, una interrupcin se solicita activando una seal que llega a la unidad de control del microprocesador. El agente generador o solicitante de la interrupcin activa la mencionada seal cuando necesita que se le atienda, es decir, que se ejecute un programa que le atienda. Ante la solicitud de una interrupcin, siempre y cuando est habilitado ese tipo de interrupcin, la unidad de control realiza un ciclo de aceptacin de interrupcin. Este ciclo se lleva a cabo en cuanto termina la ejecucin de la instruccin mquina que se est ejecutando y consiste en las siguientes operaciones:

1. Terminar la ejecucin en curso: el programa o proceso actual debe ser


interrumpido temporalmente.

2. Salvar algunos registros del procesador, como son el de estado y el contador


de programa, de modo que la CPU, al terminar el proceso que dio. lugar a la interrupcin, pueda seguir ejecutando el programa que fue interrumpido a partir de la ltima instruccin.

3. La CPU salta a la direccin donde est almacenada la rutina de interrupcin y ejecuta esa rutina que tiene como objetivo atender al dispositivo que gener la interrupcin. 4. Una vez que la rutina de la interrupcin termina el procesador vuelve a tomar el control: el procesador retoma los procesos que quedaron pendientes y que se estaban ejecutando antes que se generara la interrupcin. Una interrupcin puede ser iniciada especficamente por un proceso en ejecucin (en cuyo caso se suele denominar trampa (trap), y se dice que est sincronizada con la operacin del proceso) o puede ser causada por algn evento que puede estar relacionado o no con el proceso en ejecucin (en cuyo caso se dice que es asncrona con la operacin del proceso). Los sistemas orientados hacia las interrupciones pueden sobrecargarse. Si ests llegan con mucha frecuencia, el sistema no ser capaz de atenderlas. En algunos sistemas orientados hacia el teclado, cada tecla presionada almacena en la memoria un cdigo de un byte y genera una interrupcin para informar a la UCP que un carcter est listo para ser procesado. Si la UCP no puede procesar el dato antes de que se presione la siguiente tecla, se pierde el primer carcter.

Clases de Interrupciones Interrupciones de E/S. Son iniciadas por hardware de entrada y salida. Estas interrupciones indican a la UCP el cambio de estado de un canal o dispositivo. Las interrupciones de E/S se producen cuando finaliza una operacin de E/S o cuando un dispositivo pasa al estado listo. Una de las funciones principales del kernel o ncleo de cualquier sistema operativo es mantener una comunicacin tal con el microprocesador, que permita controlar correctamente los dispositivos de E/S. Los controladores de estos dispositivos necesitan interrumpir para indicar las operaciones que realizan.

S-ar putea să vă placă și