
PRINCIPIOS DE HARDWARE DE E/S
TIENE POR PROPOSITO LA INTERFAZ QUE
DESDE EL HARDWARE SE PRESENTA AL
SOFTWARE:
-
Comandos que acepta el hardware.
-
Funciones que realiza.
-
Errores que puede informar.
DISPOSITIVOS DE E/S:
Se pueden clasificar en dos grandes categorías:
-
Dispositivos de bloque.
-
Dispositivos de caracter.
Las principales características de los dispositivos de bloque son:
-
La información se almacena en bloques de tamaño fijo.
-
Cada bloque tiene su propia dirección.
-
Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes.
-
Un ejemplo típico de dispositivos de bloque son los discos.
Las principales características de los dispositivos de caracter son:
-
La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques.
-
No se pueden utilizar direcciones.
-
No tienen una operación de búsqueda.
-
Un ejemplos típico de dispositivos de caracter son las impresoras de línea, terminales, interfaces de una red, ratones, etc.
CONTROLADORES DE DISPOSITIVOS:
Las unidades de e / s generalmente constan de:
-
Un componente mecánico.
-
Un componente electrónico, el controlador del dispositivo o adaptador.
Muchos controladores pueden manejar más de un dispositivo.
El S. O. generalmente trabaja con el controlador y no con el dispositivo.
La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:
-
La comunicación es mediante un flujo de bits en serie que:
-
Comienza con un preámbulo.
-
Sigue con una serie de bits (de un sector de disco).
-
Concluye con una suma para verificación o un código corrector de errores.
-
El controlador debe:
-
Convertir el flujo de bits en serie en un bloque de bytes.
-
Efectuar cualquier corrección de errores necesaria.
-
Copiar el bloque en la memoria principal.
Cada controlador posee registros que utiliza para comunicarse con la cpu:
-
Pueden ser parte del espacio normal de direcciones de la memoria: e / s mapeada a memoria.
-
Pueden utilizar un espacio de direcciones especial para la e / s, asignando a cada controlador una parte de él.
Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo.
Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:
-
Obtenga el control de la cpu.
-
Verifique los resultados de la operación.

ACCESO DIRECTO A MEMORIA (DMA):
Muchos controladores, especialmente los correspondientes a dispositivos de bloque, permiten el DMA.
Si se lee el disco sin DMA:
-
El controlador lee en serie el bloque (uno o más sectores) de la unidad:
-
La lectura es bit por bit.
-
Los bits del bloque se graban en el buffer interno del controlador.
-
-
Se calcula la suma de verificación para corroborar que no existen errores de lectura.
-
El controlador provoca una interrupción.
-
El S. O. lee el bloque del disco por medio del buffer del controlador.
DMA se ideó para liberar a la cpu de este trabajo de bajo nivel.
La cpu le proporciona al controlador:
-
La dirección del bloque en el disco.
-
La dirección en memoria adonde debe ir el bloque.
-
El número de bytes por transferir.
Luego de que el controlador leyó todo el bloque del dispositivo a su buffer y de que corroboró la suma de verificación:
-
Copia el primer byte o palabra a la memoria principal.
-
Lo hace en la dirección especificada por medio de la dirección de memoria de DMA.
-
Incrementa la dirección DMA y decrementa el contador DMA en el número de bytes que acaba de transferir.
-
Al iniciar su ejecución el S. O. luego de la interrupción provocada, no debe copiar el bloque en la memoria, porque ya se encuentra ahí.
El controlador necesita un buffer interno porque una vez iniciada una transferencia del disco:
-
Los bits siguen llegando del disco constantemente.
-
No interesa si el controlador está listo o no para recibirlos.
-
Si el controlador intentara escribir los datos en la memoria directamente:
-
El bus podría estar ocupado por otro dispositivo y el controlador debería esperar.
-
Si el bloque se guarda en un buffer interno:
-
El bus no se necesita sino hasta que el DMA comienza.
-
La transferencia DMA a la memoria ya no es un aspecto crítico del tiempo.
