Sistemas operativos – Sistema de Entrada-Salida (E/S)

Los ordenadores actuales están basados en la arquitectura de Von Neumann. Esta arquitectura consta de tres partes claramente diferenciadas: El procesador, la memoria y uno o varios dispositivos de E/S. Para conectar estas partes, se usan tres tipos básicos de buses:

  • Bus de datos: Puede ser de 8, 16, 32 o 64 bits, dependiendo del modelo de procesador.
  • Bus de direcciones: Se usa para poder conectar la CPU con la memoria y con dispositivos de E/S.
  • Bus de control: Se usa para enviar señales que determinan cómo se comunica la CPU con el resto del sistema.

Con esta arquitectura, debe haber un sistema que se encargue de comunicar y gestionar los dispositivos de E/S con el procesador, reduciendo la carga de trabajo en la CPU tanto como sea posible. Esto es el módulo de E/S.

El módulo de E/S, también llamado controlador, es un circuito o chip integrado en la placa base, separado físicamente del procesador y la memoria, pero unido a estos mediante buses de la propia placa. Este módulo suele ser conocido como southbridge o northbridge, dependiendo de su ubicación en la placa.

SouthNorth

Este chip transfiere y controla el flujo de información entre la memoria principal, el procesador y los periféricos.  Los periféricos se conectan a la placa base mediante una serie de módulos físicos. Los módulos E/S pueden controlar múltiples dispositivos. El sistema operativo se comunica con el dispositivo a través del módulo E/S. Cada dispositivo físico está hecho por un fabricante diferente y puede tener unos registros, chips y manera de trabajar propias. Se necesita entonces un conjunto de instrucciones que conformen un protocolo de comunicación entre el computador y el dispositivo físico. Para ello, el fabricante crea un software llamado driver. Los drivers se implementan mediante módulos añadidos al núcleo del sistema operativo, son objetos software con una interfaz bien definida para especificar al sistema operativo y al módulo de E/S cómo debe controlar y comunicarse con ese dispositivo.

El sistema E/S tiene las siguientes funciones:

  • Envío de comandos a los dispositivos, recibir sus interrupciones y ocuparse de sus errores.
  • Ofrecer una interfaz entre los dispositivos y el resto del sistema, incluyendo la CPU, simple y fácil de usar.
  • Optimizar la E/S del sistema. Los dispositivos de E/S son muy lentos en comparación con el procesador. Si no se delega trabajo en los propios dispositivos y en el módulo E/S, estaríamos haciendo un mal uso del procesador, ya que quedaría innecesariamente a la espera de datos en una operación E/S.
  • Permitir la conexión de nuevos dispositivos de E/S.
  • Almacenamiento temporal de datos en un buffer. La velocidad de acceso de la memoria es mucho más alta que la que proporcionan los dispositivos periféricos, el módulo de E/S dispone de una memoria local bastante rápida que usa para comunicarse con la memoria y la CPU. De esta forma, puede recibir rápidamente un bloque de datos, liberar el bus, y luego escribirlo en el dispositivo a la velocidad que éste estipule.
  • Detección de errores. Debe ocuparse de detectar y comunicar a la CPU los errores mecánicos y eléctricos del dispositivo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

6 − 6 =