...

Instituto Politécnico Nacional

Escuela Superior de Cómputo

Recurso Didáctico Digital

Unidad 1: Estructura de un sistema operativo
...
1.3.3 Controladores

El controlador de interrupciones es un componente adicional y un sistema con controladores de interrupciones que se utiliza para gestionar las peticiones de interrupciones. Cada módulo de entrada y salida tiene líneas de petición de interrupción y reconocimiento conectadas al controlador de interrupciones; De esta manera, el procesador solo debe tener una línea de petición de interrupción y una de reconocimiento conectadas al controlador de interrupción para gestionar las peticiones de entrada y salida.

Las funciones del controlador de interrupción son las siguientes:

  • Establecer una política de prioridades para los módulos de entrada y salida del controlador.
  • Hay que destacar qué módulo de entrada y salida necesita atención e informe al procesador.
  • La gestión de interrupciones de este sistema es similar a la gestión de interrupciones con un solo módulo de entrada y salida, por lo que debe de ajustar la etapa de reconocimiento de interrupciones para administrar las prioridades y determinar qué atención periférica necesita.
Como se muestra en la siguiente imagen

Fig 16. Sistema con controladores de interrupciones

El siguiente es el procedimiento utilizado para reconocer una interrupción.

Se crea un sistema de vectorización en el cual no es necesario que el módulo de entrada y salida tenga un registro vectorial. Esto significa que el controlador de interrupciones tiene un conjunto de registros vectoriales donde se guardan los vectores de interrupción asociados, a cada línea.

El controlador de interrupciones hace la petición de prioridad al procesador activando la señal INT, y el procesador responde activando la señal INTA. Cuando el controlador de interrupciones recibe la señal INTA, coloca el vector de interrupción, correspondiente al módulo de entrada y salida solicitado, en el bus de datos.

El vector luego es leído por el procesador. De esta manera, el procesador puede obtener la dirección de RSI e iniciar la ejecución de la rutina para realizar la transferencia de datos, comunicándose directamente con el módulo de entrada y salida. y el controlador de interrupciones no controla la transferencia de datos.

Los principales beneficios de este sistema en comparación con un controlador de la gestión de prioridades flexible y la identificación inmediata del periférico hacen que el procesador solo necesite una línea INT y una INTA para administrar múltiples módulos de entrada y salida.

La desventaja de la gestión de prioridades es que requiere la ejecución de un pequeño programa que acceda al nivel de ejecución para que el controlador lo haga automáticamente la interrupción, lo que hace que el estado sea más lento, como se muestra en la imagen siguiente.

Fig 17. Proceso reconocimiento de la interrupción

Si queremos aumentar el número de módulos de entrada y salida en un sistema que utiliza controladores de interrupción, debemos conectar el controlador de interrupción en cascada. Sin embargo, es importante que los controladores se encuentren diseñados específicamente para conectarse de esta manera.