jueves, 10 de junio de 2010


CONTROL DE ENTRADA Y SALIDA E/S


En el sistema operativo una parte de el se encarga de controlar la entrada y salida de información este es llamado administrador de entrada y salida.



ADMINISTRACION DE E/S


El subsistema de administración de E/S controla todas las entradas y salidas del sistema informático. Para la seguridad, las tareas más importantes que lleva a cabo el subsistema de administración de E/S son:



*administrar la transferencia de datos.

*aplicar los controles de acceso a los datos mientras se están transfiriendo.


Durante la transferencia de bloques o secuencias de datos, y durante la operación de E/S de caracteres, cada transacción de E/S está completamente separada de las demás. Esta transacción sigue una ruta bien conocida y definida; por tanto, la integridad de todos los datos se mantiene durante las transacciones con datos.

METODOS DE ENTRADAS/SALIDAS

• Entradas/salidas por programa
• Entradas/salidas por interrupciones (más usado)

Diferencias entre los dos primeros: la toma de decisiones. En el primero, la iniciativa parte del micro, en el segundo, la iniciativa es por parte del periférico.

Las E/S controladas por programas deben ser SINCRONAS, por lo que se pierde mucho tiempo. Las E/S controladas por interrupciones pueden tener lugar en cualquier momento. Su comienzo tiene lugar a petición del dispositivo.

En la elección se deben tener en cuenta:

• Tiempo disponible de la CPU. Si la actividad es grande, no es conveniente que se pierda tiempo explorando periféricos.
• Urgencia con que las peticiones deben ser atendidas.
• Velocidad de transferencia de datos. Si se requiere velocidad, se debe hacer por acceso directo a memoria.

ENTRADAS SALIDAS CONTROLADAS POR PROGRAMAS

Es el programa que se está ejecutando el que toma la iniciativa de la realización de una transferencia de E/S. Estas operaciones tienen lugar de forma síncrona con la ejecución del programa.

Su realización tendrá la siguiente secuencia:

• Envió de un COMANDO a la interface del periférico para que se prepare.
• Lectura del registro de STATUS de la interface para ver si está preparado
• Realización de la transferencia

Inconvenientes: Pérdida de tiempo (en preguntar si el periférico ha solicitado alguna interrupción), Lentitud (en atender al periférico).



E/S PROGRAMADA SINCRONICA

  • Cuando el periférico tiene un tiempo de respuesta conocido, y puede estar listo para comunicarse con el sistema para recibir o emitir datos en intervalos compatibles con los ciclos de instrucción del procesador.


E/S PROGRAMADA ASINCRONICA

  • El periférico responde empleando lapsos no fácilmente conocidos o muy variables, el procesador deberá probar el estado de aquel antes de realizar una operación de E/S.


EL ACCESO DIRECTO A MEMORIA (DMA):

Es una características de las computadoras y microprocesadores modernos que permite que ciertos subsistemas de hardware dentro de la computadora puedan acceder a la memoria del sistema para la lectura y/o escritura, independientemente de la unidad central de procesamiento (CPU). De lo contrario, la CPU tendría que copiar cada porción de dato desde el origen hacia el destino, haciendo que ésta no esté disponible para otras tareas.

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.


CARACTERISTICAS GENERALES DEL DMA:

Aquellas computadoras que tienen canales DMA pueden transferir datos desde y hacia los dispositivos con menos utilización de CPU que aquellas computadoras sin canales DMA. Básicamente una transferencia DMA consiste en copiar un bloque de memoria de un dispositivo a otro. Esa transferencia se lleva a cabo por el controlador DMA, en lugar del CPU. El controlador DMA es generalmente un chipset de la placa madre.

En computadoras sin DMA, el CPU generalmente se ocupa completo durante toda la operación de lectura o escritura de la memoria y, por lo tanto, no está disponible para realizar otras tareas. Con DMA, el CPU puede iniciar la transferencia, luego realizar otras operaciones mientras la transferencia está en progreso y luego recibir una interrupción del controlador de DMA una vez que la transferencia termina.

Sin DMA se utiliza el modo PIO para la comunicación de periféricos con la memoria y de instrucciones de load/store en el caso de chips con multinúcleos.

DMA es útil en aplicaciones en tiempo real y en el procesamiento de flujos de datos.

TIPOS DE TRANSFERENCIA DMA O ACCESO DIRECTO A MEMORIA:

* DMA por robo de ciclo: es uno de los métodos más usados, ya que requiere poca utilización del CPU. Esta estrategia utiliza uno o más ciclos de CPU para cada instrucción que se ejecuta. Esto permite alta disponibilidad del bus del sistema para la CPU, aunque la transferencia de datos se hará más lentamente.

* DMA por ráfagas: esta estrategia consiste en enviar el bloque de datos solicitado mediante una ráfaga empleando el bus del sistema hasta finalizar la transferencia. Permite una altísima velocidad, pero la CPU no podrá utilizar el bus de sistema durante el tiempo de transferencia, por lo que permanece inactiva.

* DMA transparente: esta estrategia consiste en emplear el bus del sistema cuando la CPU no lo necesita. Esto permite que la transferencia no impida que la CPU utilice el bus del sistema; pero la velocidad de transferencia es la más baja posible.

* DMA Scatter-gather: esta estrategia permite transmitir datos a varias áreas de memoria en una transacción DMA simple. Equivale al encadenamiento de múltiples peticiones DMA simples. Su objetivo es librar a la CPU la tarea de la copia de datos e interrupciones de entrada/salida múltiples.