Básicamente existen 2 tipos de interrupciones, las interrupciones de software y las interrupciones de hardware, una interrupción es simplemente una señal que es capturada por el procesador presente en una computadora, indicándole que debe parar lo que este procesando en ese momento y pasar a ejecutar los comandos que van en la interrupción que ha ocurrido, dándole prioridad según el tipo de interrupción podría seguir ejecutándose el proceso actual si la interrupción no es importante pero en el caso de que si lo sea se pasara inmediatamente a darle prioridad a la interrupción , pero antes de pasar a la interrupción el sistema guarda el estado del proceso anterior a la interrupción para que así cuando la interrupción termine pueda continuar donde se había quedado anteriormente y no interferir con otros procesos.
Todo esto de las interrupciones surgió debido a que en el pasado el procesador tenía que estar verificando constantemente que dispositivos necesitaban su atención y en ocasiones verificaba en vano ya que ninguno necesitaba atención ocasionando una pérdida de tiempo, por eso las interrupciones solucionan este problema porque no es el procesador el que tiene que preocuparse por estar verificando constantemente si no que los mismos dispositivos le avisan al procesador cuando necesitan su atención y así se ahorra tiempo el procesador y por consiguiente aumenta el rendimiento del sistema en general.
Cuando ocurre una interrupción en nuestro ordenador lo que en realidad ocurre serían los siguientes 4 pasos:
1) Se termina (se suspende) la ejecución de la instrucción que se encuentra en curso.
2) Se almacena el valor actual del Program Counter (Contador de programa) , con esto nos aseguramos que cuando la interrupción sea procesada podremos regresar sin ningún inconveniente a la instrucción que se estaba ejecutando anteriormente.
3) La CPU produce saltos hasta llegar a la dirección donde está almacenada la rutina de servicio de interrupción y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción.
4) Una vez que la rutina de la interrupción termina, el procesador restaura el estado que había guardado en el paso 2 y regresa al programa que se estaba usando anteriormente.
Ustedes que piensan sobre las interrupciones en la actualidad como serían los Sistemas operativos en la actualidad si se subiera mantenido la antigua forma de que el procesador tenía que ir verificando si los dispositivos necesitaban de su atención. ¿Creen que tendríamos los mismos avances y las velocidades de procesamiento actuales?


No hay comentarios:
Publicar un comentario