11  Gestión de la Entrada - Salida (I/O)

La gestión de entrada y salida (I/O) es una función esencial del sistema operativo que permite la interacción entre los programas y los dispositivos periféricos, como discos duros, teclados, monitores, impresoras, entre otros.

Estos dispositivos necesitan intercambiar datos con la memoria y el procesador, pero no es práctico —ni seguro— que los procesos accedan directamente a ellos. Por eso, el sistema operativo actúa como intermediario, ocultando los detalles técnicos y ofreciendo una interfaz uniforme para que los procesos puedan leer y escribir datos sin preocuparse por las particularidades de cada dispositivo.

Esta gestión permite realizar operaciones básicas de entrada y salida, como la lectura desde un archivo o la impresión de un documento, garantizando además la transferencia eficiente de datos entre el hardware y la CPU. Uno de sus principales objetivos es asegurar que los dispositivos funcionen de forma eficiente y que las múltiples solicitudes de entrada/salida generadas por diferentes procesos sean manejadas de manera ordenada y simultánea.

11.1 Clasificación de los dispositivos de E/S

Los dispositivos hardware son componentes físicos encargados de realizar operaciones de entrada y salida (E/S). Para facilitar su estudio, se agrupan en tres grandes categorías:

Tip

¿Por qué clasificar los dispositivos?
Clasificarlos ayuda a comprender mejor su función dentro del sistema operativo y cómo el sistema gestiona los distintos tipos de entrada/salida.

11.1.1 📦 Dispositivos de almacenamiento

Estos dispositivos se encargan de guardar y recuperar información, ya sea de manera permanente o temporal.

  • 💾 Discos duros (HDD)
  • Unidades de estado sólido (SSD)
  • 📀 Discos ópticos (CD, DVD, Blu-ray)

Son fundamentales para almacenar el sistema operativo, las aplicaciones y los archivos del usuario.


11.1.2 🖥️ Terminales

Permiten la interacción directa entre el usuario y el sistema. Son dispositivos que sirven tanto para ingresar como para mostrar información.

  • ⌨️ Teclado
  • 🖱️ Ratón (mouse)
  • 🖥️ Pantalla o monitor

Gracias a estos periféricos, el usuario puede controlar el sistema y recibir retroalimentación visual.


11.1.3 🌐 Dispositivos de comunicación

Son aquellos que posibilitan la transmisión de datos entre computadoras, redes o dispositivos.

  • 🌍 Tarjetas de red (Ethernet)
  • 📡 Módems
  • 📶 Adaptadores WiFi y Bluetooth

Estos dispositivos permiten compartir recursos, conectarse a Internet y establecer redes locales o remotas.


Nota

Importancia en la gestión de E/S
Cada tipo de dispositivo requiere una gestión distinta por parte del sistema operativo, tanto a nivel de controladores (drivers) como de políticas de acceso y sincronización.

11.2 Interfaz entre procesador y periférico

En un sistema informático, la interfaz entre el procesador (CPU) y los dispositivos periféricos es esencial para permitir la comunicación entre componentes que operan con tecnologías y velocidades muy distintas.

La CPU funciona de forma puramente electrónica, mientras que muchos periféricos tienen una naturaleza electromecánica o electromagnética, como impresoras, discos o pantallas. Esta diferencia fundamental en el modo de operación hace imposible que el procesador interactúe directamente con los periféricos sin una capa intermedia que traduzca y sincronice sus comunicaciones.

11.2.1 🔌 ¿Por qué se necesita una interfaz?

La interfaz entre el procesador y los periféricos resuelve varios desajustes técnicos y funcionales, como se muestra en la siguiente tabla:

Diferencia CPU Periféricos
Naturaleza Electrónica digital Electromecánica o electromagnética
Velocidad de operación Alta Baja
Formato de datos Codificado para memoria y CPU Varía según el dispositivo
Modo de funcionamiento Sincrónico, basado en reloj Asíncrono, según eventos físicos
Protocolos y control Estandarizados Propios de cada periférico
Importante

Sin esta interfaz, la CPU no podría comunicarse con los dispositivos de forma segura ni confiable.
El sistema operativo y el hardware del controlador deben coordinar el acceso, la sincronización y la traducción de datos.

11.2.2 🧩 ¿Qué incluye una interfaz?

Una interfaz típica está compuesta por:

  • Controlador del dispositivo: Hardware o software que adapta las señales del periférico a las requeridas por la CPU.
  • Registros de control y datos: Sirven como intermediarios para almacenar instrucciones, estados y datos en tránsito.
  • Líneas de control y estado: Indicadores eléctricos que permiten saber si un periférico está listo, ocupado o en error.

11.3 Software de control de Entrada/Salida

El software de control de entrada/salida (E/S) es la parte del sistema operativo encargada de gestionar las operaciones de comunicación entre los procesos del sistema y los dispositivos periféricos. Esta capa de software abstrae las diferencias entre los distintos tipos de hardware, ofreciendo una interfaz uniforme y eficiente para realizar operaciones de E/S.

11.3.1 🎯 Objetivos principales

El software de E/S cumple funciones críticas para el funcionamiento estable y eficiente del sistema:

  • 📚 Abstracción del hardware: Proporciona una interfaz común para los dispositivos, de modo que los programas puedan realizar operaciones de E/S sin preocuparse por los detalles físicos del hardware.
  • 🧩 Gestión de controladores (device drivers): Estos módulos específicos permiten al sistema operativo comunicarse con distintos periféricos traduciendo comandos genéricos a instrucciones concretas del dispositivo.
  • 🔄 Sincronización y planificación: Coordina múltiples peticiones de E/S de diferentes procesos, evitando conflictos y optimizando el uso de los recursos.
  • 🛡️ Manejo de interrupciones: Detecta y responde a eventos generados por los dispositivos (por ejemplo, “se completó la lectura”) sin que el procesador tenga que esperar activamente.

11.3.2 🛠️ Técnicas de mejora del rendimiento

Para asegurar operaciones rápidas y fluidas, el sistema operativo implementa mecanismos como:

  • Buffering: Almacena temporalmente los datos en una zona intermedia (buffer) mientras se completa la transferencia.
  • Caching: Guarda en memoria los datos más utilizados para evitar accesos repetidos a dispositivos lentos.
  • Spooling: Acumula trabajos en cola (por ejemplo, trabajos de impresión) para ser procesados secuencialmente cuando el dispositivo esté disponible.
Nota

Ejemplo:
Cuando un usuario imprime un documento, este no se envía directamente a la impresora. El sistema operativo lo guarda en una cola (spool) y lo va enviando cuando el dispositivo esté listo, permitiendo al usuario seguir trabajando mientras tanto.