# data[].attributes.body
El corazón de cualquier sistema digital radica en la interacción entre su procesador y su memoria, por la sencilla razón que el procesador ejecuta el código que esté escrito allí. Sin embargo, no es posible concebir un sistema físico que tenga solo estos dos componentes, se requiere lo que se conoce como Hardware externo o hardware de entrada/salida. Por ejemplo: teclado, video, audio, red, discos.

# data[].attributes.body
Para proporcionar la abstracción suficiente a los programadores. Por ejemplo, si escribes un programa para leer el teclado o el ratón, no deberías preocuparte por los detalles como el tipo de teclado o ratón, las señales y los errores en los datos transferidos entre el periférico y el sistema y otros detalles de funcionamiento.

# data[].attributes.body
Ocurre de modo parecido con el hardware de video, red y sonido. Esta abstracción se consigue a través de la gestión de entrada/salida. Este componente constituye el grueso del código de un Sistema Operativo y también debe garantizar la protección del hardware para que un proceso no tenga preferencia sobre algún dispositivo.

# data[].attributes.body
uando se utiliza acceso directo a memoria, es el controlador el que se encarga directamente de transferir los datos entre el periférico y la memoria principal, sin requerir intervención alguna por parte del procesador. Esta técnica funciona de la siguiente manera: cuando el procesador desea que se imprima un bloque de datos, envía una orden al controlador indicándole la siguiente información:

Tipo de operación: lectura o escritura.
Periférico involucrado en la operación.
La dirección de memoria desde la que se va a leer o a la que va a escribir directamente con el controlador de dispositivo (dirección).
El número de bytes a transferir (contador).

# data[].attributes.body
Donde el campo Operación corresponde al código de operación de las instrucciones máquina normal. Especifica la operación que debe realizar la CCW. La unidad de control decodifica este campo y envía las señales adecuadas de control al dispositivo. Existen varias operaciones, las más importantes son las siguientes:

Lectura: el canal transfiere a memoria principal un bloque de palabras de tamaño especificado en el campo nº de palabras, en orden ascendente de direcciones, empezando en la dirección especificada en el campo dirección del dato.
Escritura: el canal transfiere datos de memoria principal al dispositivo. Las palabras se transfieren en el mismo orden que en la operación de lectura.
Control: se utiliza esta orden para enviar instrucciones específicas al dispositivo de E/S, como rebobinar una cinta magnética, etc.
Bifurcación: cumple en el programa de canal la misma función que una instrucción de salto en un programa normal. El canal ejecuta las CCW en secuencia, salvo cuando aparece una CCW de este tipo, que utiliza el campo dirección del dato como la dirección de la siguiente CCW a ejecutar.

# data[].attributes.body
Dispositivos de presentación de datos. Son dispositivos con los que interactúan los usuarios, portando datos entre éstos y la máquina, por ejemplo, ratón, teclado, pantalla, impresora, etc.
Dispositivos de almacenamiento de datos. Son dispositivos que forman parte de la jerarquía de memoria del computador. Interactúan de forma autónoma con la máquina, aunque también sirven para el intercambio de datos con el usuario, por ejemplo, los discos magnéticos.
Dispositivos de comunicación con otros procesadores. Permiten la comunicación con procesadores remotos a través de redes, por ejemplo, las redes de área local o global.
Dispositivos de adquisición de datos. Permiten la comunicación con sensores y actuadores que operan de forma autónoma en el entorno del computador. Se utilizan en sistemas de control automático de procesos por computador y suelen incorporar conversores de señales A/D y D/A.

# data[].attributes.attachment_link.title
L4 4 Gestion de entradas salidas por el sistema operativo