Para poder procesar y mostrar la información externa en sus distintas formas, el sistema informático necesita que haya una comunicación entre las unidades periféricas y los componentes internos (procesador, memoria, buses).
Para facilitar la conexión de la gran cantidad de tipos de dispositivos periféricos que podemos encontrar en el mercado, el computador dispone de varios interfaces estandarizados (conectores HW + protocolo SW) y de un hardware (chipset) que permite la comunicación del micro con la placa y adapta los distintos niveles eléctricos y modos de comunicación entre los periféricos y los componentes internos (procesador, memoria, buses).
Además, se añaden tarjetas o circuitos específicos (controlador) para trabajar con determinados dispositivos.
Sin embargo, además del hardware necesitaremos que alguien (software) coordine las distintas comunicaciones con los dispositivos y su driver-SW, y ese será nuevamente el Sistema Operativo (nivel Supervisor).

En resumen, esta parte del SO, tienen como misión gestionar las operaciones de que un proceso realice sobre un dispositivo externo, ocultándole las peculiaridades del mismo, gestionando las interrupciones con seguridad y controlando los posibles errores.
El nivel supervisor del SO controla y coordina la gestión de la entrada/salida de los procesos con los dispositivos periféricos y de almacenamiento externo.
Atendiendo a cómo se lleva a cabo la transferencia de información tenemos dos tipos de periféricos:
Los dispositivos tipo bloque:
Los dispositivos tipo carácter:

Nota: Hay que matizar que las transferencias se tendrán que realizar entre el dispositivo de entrada/salida y la memoria interna del computador ya que para que se procese la información tiene que estar en la memoria interna.
Atendiendo al sentido en el que se efectúa la transferencia de información los periféricos se clasifican en:

Los dispositivos de E/S pueden dividirse en una parte mecánica y una parte electrónica.
Cuando se accede a un dispositivo, se accede siempre a su parte electrónica, denominada controlador del dispositivo.
El controlador se encarga de mostrar al S.O. un interfaz estándar adaptándose a las peculiaridades del hardware que está por debajo. Sus funciones son:
Un controlador se destina normalmente a manejar uno o más dispositivos del mismo tipo o similares (ej. discos duros).

El software de manejo de los dispositivos está organizado en capas. Las capas inferiores se encargan de ocular las peculiaridades del hardware y las capas superiores de presentar un interfaz amigable a los usuarios.
Los drivers se encargan de aceptar las solicitudes abstractas del software independiente del dispositivo y ponerse en contacto con el controlador para realizar esta petición.
Si el dispositivo se encuentra ocupado atendiendo otra petición, el manejador se encargará de gestionar una cola de peticiones para darles paso tan pronto como sea posible.

Para gestionar las E/S el sistema puede utilizar diferentes métodos:
Controlada por programa: El sistema operativo inicializa el dispositivo o dispositivos y va preguntando su estado. Según el caso se ejecuta uno u otro programa con las distintas operaciones.
Controlada por interrupciones: El dispositivo interrumpe la actividad de la CPU y solicita tiempo. Según el dispositivo que interrumpe se ejecuta uno u otro programa.

Spooling o Buffer: Otros dispositivos son más lentos y en algún caso la información se envía carácter a carácter, por ejemplo, en las salidas es frecuente utilizar spooling o buffer, es decir, los datos se almacenan temporalmente en una cola situada en un dispositivo (área de un disco) hasta que el periférico requerido quede libre.
