Buscar en este blog

Tema 3.f: Explicación en detalle de las técnicas de gestión de E/S


Los dispositivos de E/S (Entrada-Salida) son aquellos a través de los cuales un humano u otro dispositivo intercambian información con un ordenador. Como ejemplos más claros de dispositivos de entrada están el ratón o el teclado, y de salida pueden ser por ejemplo una impresora. 

La pantalla se puede considerar un dispositivo de salida en cuanto a que muestra datos al usuario pero es realmente la tarjeta gráfica el dispositivo de salida y la pantalla sólo una extensión del mismo.

La forma en la que gestionemos la comunicación con estos dispositivos podrá tener un mayor o menor efecto en el rendimiento global del ordenador.

Las consideraciones que hay que tener en cuanto al diseñar un sistema de E/S (I/O: Input-Output en inglés) son las siguientes:

  • -        La necesidad de los agentes humanos de introducir información y recibir información en respuesta
  • -        La necesidad de los dispositivos de introducir información y recibirla
  • -        La necesidad de los ordenadores de comunicarse entre sí en red

En el primer caso la cantidad de información introducida por el usuario es muy pequeña pero se requiere que la respuesta sea inmediata (introducir un retardo de 0,5 segundos entre la pulsación de una tecla y la aparición del carácter correspondiente en un procesador de textos es ciertamente frustrante para cualquier usuario). 

En el segundo sin embargo la cantidad de información transmitida es mucho mayor y debe ser tratada en bloques para que resulte eficiente. La velocidad de emisión de información puede no ser la misma que la de consumo y para lidiar con ello existen distintos tipos de buffers.

A continuación vamos a ver los distintos modos de gestión de los eventos de E/S:
-        E/S programada: en este modo el dispositivo lanza un evento y el procesador se pone en modo espera hasta que se resuelve, preguntando constantemente cuál es el estado del dispositivo mientras permanece inactivo. Se puede ver en el siguiente esquema:


-        E/S de sondeo: en este modo el sistema pregunta por turno a cada dispositivo si está listo para emitir o recibir datos. En caso afirmativo gestiona el evento y pasa al siguiente. Este modo suele usarse en sistemas de red para interrogar a los puertos. Un esquema de su lógica puede verse a continuación:


-        E/S de interrupción: como los dispositivos son normalmente mucho más lentos que los procesadores actuales, en otros modos de gestión se pueden gastar muchos ciclos de procesador esperando la respuesta de un dispositivo interrogado. La técnica de interrupción intenta extraer rendimiento de esta situación dejando que el procesador continúe con la ejecución del resto del proceso hasta que el dispositivo está listo para funcionar, en ese momento lanza una interrupción que detiene la ejecución del programa, se guarda el estado en que estaba, se resuelve la operación de E/S y se continúa. Debido a la diferencia de velocidades que hemos comentado antes esta suele ser una muy buena técnica pero dependiendo del número y tipo de dispositivos podemos llegar de nuevo a excesivas interrupciones que ralenticen al procesador de forma apreciable. Existen varios tipos de interrupción: internas, externas y por software.

-      E/S en modo DMA o Data Transfer: el acceso directo a memoria (DMA: Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. Los subsistemas de hardware que utilizan DMA pueden ser: controladores de disco duro, tarjetas gráficas, tarjetas de red, tarjetas de sonido y tarjetas aceleradoras. También es utilizado para la transferencia de datos dentro del chip en procesadores con múltiples núcleos. Se puede ver su funcionamiento de forma esquemática en la siguiente figura:


Al usar esta técnica el dispositivo y la CPU pueden tener que competir por el acceso al bus, para ello existen varias formas de gestionarlo:
·        DMA por robo de ciclo
·        DMA por ráfagas
·        DMA transparente
·        DMA tipo scatter-gather

-        Procesadores de E/S: el procesador de E/S (IOP en inglés) está conectado al bus principal y ejecuta código propio para controlar la operación de E/S. Surgen para paliar inconvenientes como los que se detallan en la siguiente tabla:



Bibliografía:


No hay comentarios: