Vous êtes sur la page 1sur 2

INTERRUPCIONES POR HARDWARE Y SOFTWARE Una interrupcin se genera cuando se quiere que la CPU deje de ejecutar el proceso en curso

y ejecute una funcin especfica de quien produce la interrupcin. Cuando se ejecuta esta funcin especfica decimos que la CPU est atendiendo la interrupcin. Interrupcin software, se produce cuando un usuario solicita una llamada del sistema. Interrupciones hardware, son causadas cuando un dispositivo hardware requiere la atencin de la CPU para que se ejecute su manejador. INTERRUPCIONES HARDWARE . Una de las principales tareas del sistema de manejo de interrupciones es llevar las diferentes interrupciones a los cdigos de manejo de esas interrupciones. Cuando se activa el contacto 6 del controlador de interrupciones, se debe reconocer cual es la interrupcin asociada a ese contacto, por ejemplo el controlador del dispositivo disquete, por lo tanto el sistema de manejo de interrupciones debe encaminar a la rutina que trata esta interrupcin, para ello Linux proporciona un conjunto de estructuras de datos y tablas, y un conjunto de funciones que las inicializan y las manejan. El sistema de interrupciones es muy dependiente de la arquitectura, Linux en la medida de lo posible, tratar de que sea independiente de la mquina en la que reside el sistema, para ello el sistema de interrupciones se va a implementar mediante una serie de estructuras de datos y funciones en lenguaje C que facilitarn la portabilidad. Veamos una presentacin de las estructuras de datos implicadas, resaltando las ms importantes y describiendo los campos de cada una. Posterior a eso se seguir con la inicializacin de estas estructuras que soportan las interrupciones, esta parte es fuertemente dependiente de la arquitectura, nos basaremos en i386. Finalmente se expondr el flujo dentro del ncleo que sigue una interrupcin hardware, desde que se origina en el dispositivo hardware hasta que se atiende por el manejador de la interrupcin. INTERRUPCIONES POR SOFTWARE

Este artculo o seccin tiene un estilo difcil de entender para los lectores interesados en el tema. Si puedes, por favor edtalo y contribuye a hacerlo ms accesible para el pblico general, sin eliminar los detalles tcnicos que interesan a los especialistas. A las interrupciones por software, se las denomina excepciones. En este apartado se consideran las llamadas al sistema operativo mediante una instruccin, normalmente de Entrada/Salida, por ejemplo una divisin por 0. Una interrupcin por software, se generar por un programa mientras est ejecutndose. En general acta de la siguiente manera: Un programa que se vena ejecutando luego de su instruccin I5 , llama al Sistema Operativo, por ejemplo para leer un archivo de disco.(cuando un programa necesita un dato exterior , se detiene y pasa a cumplir con las tareas de recoger ese dato) A tal efecto, luego de I5 existe en el programa, la instruccin de cdigo de mquina CD21, simbolizada INT 21 en Assembler, que realiza el requerimiento del paso 1. Puesto que no

puede seguir le ejecucin de la instruccin I6 y siguientes del programa hasta que no se haya ledo el disco y est en memoria principal dicho archivo, virtualmente el programa se ha interrumpido, siendo, adems, que luego de INT 21, las instrucciones que se ejecutarn no sern del programa, sino del Sistema Operativo. ( se detiene el programa y ordena en este caso mediante INT21 ( interrupcion predefinida ) que recoge el dato solicitado, para poder sequir el programa que la ordeno ). La ejecucin de INT 21 permite hallar la subrutina del Sistema Operativo. Se ejecuta la subrutina del Sistema Operativo que prepara la lectura del disco. Luego de ejecutarse la subrutina del Sistema Operativo, y una vez que se haya ledo el disco y verificado que la lectura es correcta, el Sistema Operativo ordenar reanudar la ejecucin del programa auto interrumpido en espera. La ejecucin del programa se reanuda.

Vous aimerez peut-être aussi