2.8 Procesamiento de interrupciones

 

     Los dispositivos que se conectan a un computador varían en muchas dimensiones: transfieren un carácter o un bloque de caracteres a la vez; se puede acceder a ellos sólo secuencialmente, o de forma aleatoria; transfieren datos sincrónica o asincrónicamente; son dedicados o compartidos; pueden ser sólo de lectura o de lectura y escritura. Además, los dispositivos varían mucho en cuanto a su velocidad. En muchos sentidos, estos dispositivos también son los más lentos de los componentes principales del computador.

 

A causa de toda esta variación en los dispositivos, el sistema operativo necesita ofrecer una gama muy amplia de funcionalidad a las aplicaciones para que ellas puedan controlar todos los aspectos de los dispositivos. Uno de los objetivos clave del subsistema de E / S de un sistema operativo es proporcionar la interfaz más sencilla posible al resto del sistema. Dado que los dispositivos son un cuello de botella del desempeño, otra clave es optimar la E/S de modo que la concurrencia sea máxima.

 

Las dos tareas principales de un computador son E/S y procesamiento. En muchos casos, la tarea principal es la E/S, y el procesamiento es meramente incidental. Por ejemplo, cuando navegamos en una página de Web o editamos un archivo, nuestro interés inmediato es leer o escribir algo de información, no calcular una respuesta.

 

El papel del sistema operativo en la E/S de un computador es administrar y controlar las operaciones de E/S y los dispositivos de E/S. Aquí reuniremos todas las piezas para presentar una imagen completa.

 

 

Una interrupción es un evento que altera el orden  en que el procesador ejecuta las instrucciones.  

        Las interrupciones se originan por lo general en dispositivos de entrada / salida que deben informar al procesador la necesidad  de un servicio. Como lo son las impresoras, teclados, unidades de disco, etc.  

        Las interrupciones manejan prioridades, ya que algunas de ellas como el procesamiento de una llamada asíncrona pueden esperar, mientras que otras como la presentada por la falla de alimentación de energía eléctrica debe dispararse inmediatamente para evitar daños en los archivos que pueden quedar abiertos.

 

Cuando ocurre una interrupción sucede lo siguiente:  

El sistema operativo toma el control (el hardware para el control al sistema operativo).  

El sistema operativo guarda el estado del proceso interrumpido en el PCB de dicho proceso. 

El sistema operativo analiza la interrupción y transfiere el control a la rutina apropiada para atenderla.  

La rutina procesa la interrupción correctamente.  

Se restablece el estado del proceso interrumpido.  

Por ultimo sigue su ejecución el proceso interrumpido.

   

CLASES DE INTERRUPCIONES    

Interrupción SCV (Llamadas al Supervisor).

        Este tipo de interrupciones son iniciadas por un proceso en ejecución que ejecuta dicha interrupción. Es una petición generada por el usuario de un servicio particular del sistema.        

        Un usuario no puede entrar arbitrariamente al sistema operativo sino que debe solicitar un servicio por medio de una SVC. Un ejemplo de este tipo de interrupciones es:

          Que un usuario solicite obtener más memoria el sistema.

 

Interrupciones de Entrada / Salida.

        Las interrupciones de entrada / salida se producen cuando finaliza una operación de E/S o cuando un dispositivo para al estado listo para ser utilizado. Unos ejemplos de este tipo de interrupciones son:  

Cuando la impresora está lista para imprimir.

Cuando se lee alguna unidad del disco.

 

Interrupciones Externas.

        Las interrupciones externas son provocadas por diversos eventos externos al sistema de cómputo o por la pulsación de la tecla de interrupción del teclado. Un ejemplo de este tipo de interrupciones es:  

        El fallo de suministro de energía eléctrica.

 

Interrupciones de Reinicio.

        Las interrupciones de reinicio se producen o son provocadas cuando se presiona el botón de reinicio ( Reset ) de la PC.

 

Interrupciones de programa.

        Este tipo de interrupciones son causadas por una amplia clase de problemas que pueden ocurrir cuando se ejecuta una instrucción. Unos ejemplos de este tipo de interrupciones son:                 

        La división entre cero.

        El desbordamiento de una pila.

 

Interrupciones de verificación de la máquina.

        Las interrupciones de verificación de la máquina son ocasionadas por el mal funcionamiento del hardware. Un ejemplo de este tipo de interrupciones es:  

        Cuando un dispositivo está mal conectado y por lo tanto no es reconocido por el sistema.

 

 

El control de los dispositivos conectados al computador es una preocupación importante de los diseñadores de sistemas operativos. Dada la amplia variación en la función y velocidad de los dispositivos de E/S (consideremos un ratón, un disco duro y un jukebox de CD-ROM), se requieren diversos métodos para controlarlos. Estos métodos constituyen el subsistema de E/S del núcleo, que aísla el resto del núcleo de la complejidad de administrar los dispositivos de E/S.

 

La tecnología de dispositivos de E / S exhibe dos tendencias que están en conflicto. Por un lado/ vemos una creciente estandarización de las interfaces de software y hardware. Esta tendencia nos ayuda a incorporar generaciones de dispositivos mejorados a computadores y sistemas operativos existentes. Por otro lado, vemos una variedad cada vez más amplia de dispositivos de E/S. Algunos dispositivos nuevos son tan distintos de los anteriores que es un reto incorporarlos en nuestros computadores y sistemas operativos. Este reto se enfrenta con una combinación de técnicas de hardware y software. Los elementos básicos de hardware de E/S, como puertos, buses y controladores de dispositivos, dan cabida a una amplia variedad de dispositivos de E/S. Para encapsular los detalles y peculiaridades de los diferentes dispositivos, el núcleo de un sistema operativo se estructura a modo de usar módulos controladores de dispositivos (en software) o drivers. Los drivers presentan al subsistema de E/S una interfaz de acceso a dispositivos uniforme, así como las llamadas al sistema proporcionan una interfaz estándar entre la aplicación y el sistema operativo.

 

       

Hosted by www.Geocities.ws

1