Interrupciones del Sistema
Concepto
En el contexto de la computación, una interrupción es una señal recibida por el procesador de la computadora que debe interrumpir la ejecución actual y comenzar a ejecutar cierto código para lidiar con esta situación.
Una interrupción es una suspensión temporal de la ejecución de un proceso, al hacer esto se ejecuta una subrutina que normalmente no forma parte del programa, pero pertenece al sistema operativo o al BIOS. Al final de la subrutina, la ejecución del programa continuará.
Las interrupciones surgen de la necesidad de que la información de los dispositivos periféricos llegue procesador principal del sistema informático.
Procesamiento
- Fin de la ejecución de la instrucción máquina.
- Almacene el valor del contador del programa IP en la pila para que la CPU pueda continuar ejecutando el programa desde la última instrucción después de que termine el proceso.
- El procesador salta a la dirección donde está almacenado el controlador de interrupción (ISR) y ejecuta el programa para dar servicio al dispositivo que generó la interrupción.
- Después de completar la rutina de interrupción, el procesador restaura el estado guardado en la pila en el paso 2 y regresa al programa que usó antes.
Clases
Interrupciones de hardware.
Son asincrónicos con la ejecución del procesador, lo que significa que pueden ocurrir en cualquier momento, independientemente de lo que esté haciendo el procesador en ese momento. La razón de esto es una causa externa del procesador y, a menudo, está relacionada con varios dispositivos de E/S.
Las interrupciones de hardware son interrupciones que generalmente ocurren debido a operaciones de E / S. No son generadas por ninguna instrucción de programa, sino por señales de periféricos que le dicen al procesador que deben estar manejando.
Cuando el microprocesador está accediendo a dispositivos periféricos (discos duros, puertos de comunicación...), la descarga o transferencia de datos puede tardar algún tiempo. La solución más sencilla es esperar a que se reciban los datos o finalice la transferencia (sondeo), pero esta solución bloquea todos los programas en ejecución, lo que no es compatible con los sistemas multitarea. Por lo tanto, en los sistemas modernos, se prefiere la operación de interrupción porque la interrupción aumenta la productividad del procesador para que el coprocesador pueda emitir E/S y, en lugar de hacer una espera, puede dedicarse a dar servicio a otro proceso o aplicación hasta que el dispositivo vuelva a estar disponible, lo que es responsable de notificar al procesador a través de la interrupción que está listo para continuar/completar la operación de E/S.
Interrupciones por software
Una interrupción de programa es una interrupción generada por un programa en ejecución. Para generarlos, hay varias instrucciones en el código de la máquina que permiten al programador generar interrupciones, estas instrucciones a menudo tienen términos como INT (por ejemplo, ejecutar la instrucción INT 0x21 en DOS, llamar al sistema INT 0x80 en DOS). Unix).
Las interrupciones de programa, también conocidas como llamadas al sistema, son interrupciones generadas por un programa mientras se está ejecutando. Suelen hacer lo siguiente:
El programa que se ejecuta después de emitir el comando I5 llamará al sistema operativo, por ejemplo, leerá un archivo del disco (cuando el programa necesite datos externos, se detendrá y reanudará su tarea de recopilarlos). Para este propósito, hay una instrucción de código de máquina CD21 después de I5 en el programa y en lenguaje ensamblador denotada INT 21 y se cumplen los requisitos del paso 1. Dado que la ejecución de la instrucción I6 y la ejecución del programa deben esperar a que se lea el disco y el archivo esté en memoria principal para continuar la ejecución, el programa efectivamente se ha interrumpido y después de INT 21 la instrucción a ejecutar será no se ejecuta. del programa sino del sistema operativo. En este caso, el programa es detenido y comandado por INT21 (interrupción predefinida) recopilar los datos requeridos para continuar con el programa que lo emitió). La implementación de INT 21 le permite encontrar subrutinas del sistema operativo. Ejecuta la subrutina del sistema operativo que se prepara para leer el disco. Después de que se ejecuta la subrutina del sistema operativo, después de leer el disco y verificar que sea correcto, el sistema operativo instruye a la ejecución del programa para que espere a que se reanude la interrupción automática. Continuar ejecutando el programa.
https://lcsistemasoperativos.wordpress.com/tag/interrupciones/



Comentarios
Publicar un comentario