You are on page 1of 5

LA GESTIN DEL SISTEMA DE ENTRADA Y SALIDA DE LOS SISTEMAS OPERATIVOS. E/S controlada por programa.

rama. E/S controlada por interrupciones. Acceso directo a memoria (DMA) Procesador de E/S. Buffers de E/S. Por muy poderosa que sea una unidad central de procesamiento (CPU), la utilidad de una computadora depende esencialmente de sus capacidades de entrada y salida. Es decir sin ellas, no habra por ejemplo entrada desde el teclado, ni salida desde la pantalla, ni salida impresa y ni siquiera almacenamiento y recuperacin en disco. Para ello se requiere utilizar rutinas y medios especializados que permitan procesar la entrada y la salida.

E/S controlada por programa. Todo ordenador posee un repertorio de instrucciones que es capaz de ejecutar, constituyendo lo que se conoce como el lenguaje mquina del ordenador. El algoritmo de solucin de cualquier problema consiste en realizar una serie de pasos en una secuencia especfica. Para implantar tal algoritmo en el ordenador, hay que descomponer estos pasos en pasos ms pequeos, cada uno de los cuales representa una instruccin del ordenador. La secuencia de instrucciones resultante es un programa en lenguaje mquina, que representa el algoritmo en cuestin. Dentro de este conjunto de instrucciones hay algunas relativas a entrada/salida. El formato de dichas instrucciones de e/s esta formado por los siguientes campos:
1.

Cdigo de operacin (CO). El contenido de los bits de este campo indica al procesador que se trata de una operacin de E/S.

2.

Cdigo de orden (COR). El contenido de este campo indica el tipo de

operacin de E/S a realizar. Distinguindose fundamentalmente cuatro tipos de operaciones: Operaciones de entrada de datos Operaciones de salida de datos Operaciones de control (situar la cabeza de lectura/escritura de un disco en un determinado sector de una determinada pista. Operaciones de prueba de estado. (Comprueba si el perifrico est preparado para aceptar informacin) La ejecucin desde la UCP de una instruccin de este tipo desencadena la transferencia de una palabra de datos entre el ordenador y el perifrico mediante una operacin de E/S. Cuando se quiere realizar una operacin de E/S desde o hacia un dispositivo perifrico, el programa pregunta el estado del mismo, para ver si se puede realizar la transferencia. Si esta es posible, se realiza; en caso contrario, se espera en un bucle, comprobando constantemente el estado del dispositivo, hasta que se puede realizar la operacin de E/S. El principal inconveniente es que en dispositivos de E/S de fuerte demanda (discos), lo habitual es que haya que esperar para poder realizar la transferencia, y durante ese tiempo la UCP no est haciendo trabajo til.

Tcnica de E/S mediante interrupciones. Es aquella en la que el programa genera una orden de E/S y despus contina ejecutndose hasta que el hardware de E/S interrumpe para indicar que la operacin de E/S ha concluido. [Stallings, 2000].

La idea base es que la CPU pueda seguir trabajando mientras el perifrico se prepara para recibir o aceptar otro dato.

Este es un mecanismo ms sofisticado en el que el propio perifrico es el que solicita el inicio de una operacin de transferencia de E/S. Cuando el perifrico se encuentra en disposicin de realizar una transferencia se lo indica a la UCP mediante una seal de control denominada solicitud de interrupcin, que es la que contiene la orden concreta de realizar la transferencia de E/S. Una vez efectuada la transferencia elemental, la UCP contina el programa en curso por la instruccin que lo suspendi, hasta que se produzca una nueva interrupcin.

DMA (Acceso Directo a Memoria) son dispositivos de E/S que realizan acceso directo a memoria, sin necesidad de ocupar tiempo de CPU, su velocidad de transferencia de datos es prxima a la de la memoria, y no necesitan la CPU para realizar la transferencia de informacin a la memoria. Cuando un dispositivo con DMA interrumpe a la CPU, la rutina de servicio de interrupciones comprueba en primer lugar los errores en la transferencia previa, luego selecciona, para la transferencia, un buffer de una cola de buffers (vaco para entradas, y lleno para salidas).

La E/S controlada por interrupciones es un gran adelanto en comparacin con la E/S programada [TANENBAUM, 2000]. El problema es que se requiere una interrupcin por cada carcter transmitido. El procesamiento de interrupciones es costoso. Razn por la cual es necesario una forma de reducir la mayor parte de las interrupciones. La solucin es regresar a la E/S programada, pero encargrsela a otro dispositivo que no sea el CPU. La figura 1 muestra como se logra esto. Se ha aadido un nuevo chip al sistema, un controlador de acceso directo a la memoria (DMA), con acceso directo al bus.

Procesadores de entrada salida. Un procesador entrada salida o canal es un un procesador auxiliar dedicado a realizar operaciones de E/S. Dispone de un repertorio de instrucciones limitado y especializado en operaciones de entrada salida. Son capaces de controlar totalmente las operaciones de entrada salida mediante la ejecucin de instrucciones de entrada salida. Las instrucciones o programas de E/S se almacenan en la memoria principal del computador Para iniciar una transferencia de E/S la CPU nicamente indica al procesador de de E/S la direccin de memoria donde comienza el programa de E/S. El procesador de E/S ejecuta estas instrucciones y controla totalmente la transferencia de datos, entonces la CPU queda completamente liberada de las operaciones de entrada salida. Buffers (Memorias intermedias)

Otra solucin a la lentitud de los dispositivos de E/S es el buffering, que es la utilizacin de memoria intermedia (o buffer). El buffering trata de mantener permanentemente ocupados tanto la CPU como los dispositivos de E/S. El funcionamiento es muy sencillo, los datos que se transmiten de memoria al perifrico, y viceversa, son volcados en el buffer donde estn disponibles para ser utilizados. Por ejemplo, para el envo de datos a un dispositivo de salida, la CPU vuelca los datos al buffer (memoria intermedia) hasta que el dispositivo de salida pueda aceptarlos. Cuando el dispositivo de salida vace el buffer, reclamar tiempo de CPU mediante una lnea de interrupcin habilitada para tal efecto. La CPU dejar la tarea que est haciendo (aqu entra en juego la prioridad del dispositivo implicado en la tarea en ejecucin y del dispositivo que genera la interrupcin) guardando el estado del programa que se estaba ejecutando en la pila, para continuar donde estaba, una vez atendida la interrupcin, que en este caso consistir en volver a llenar el buffer e instruir al dispositivo para que inicie la lectura de los datos. Por tanto, debe existir una comunicacin entre CPU y perifrico, y una gestin del buffer. Existen dos tipos de dispositivos, los que transfieren informacin caracter a caracter y los que lo hacen por bloques de caracteres. Esto depende de lo rpido que sea el dispositivo perifrico, as por ejemplo la pantalla y el teclado seran del primer grupo (de caracter en caracter), mientras que los discos, tanto fijos (o duros) como los extrables (flexibles) serian del segundo grupo.

You might also like