Gestión de Almacenamiento en Sistemas Operativos

Conceptos fundamentales sobre sistemas de archivos, RAID y administración de almacenamiento

Jerarquía de Almacenamiento

Niveles de Almacenamiento

  1. Registros de CPU: Más rápidos pero de capacidad mínima
  2. Caché: Memoria pequeña y rápida cerca del procesador
  3. Memoria principal (RAM): Volátil, para datos y programas en ejecución
  4. Almacenamiento secundario (HDD/SSD): No volátil, para almacenamiento persistente
  5. Almacenamiento terciario (cintas, nube): Para backups y archivos poco accedidos

Ejemplo: Un servidor web usa RAM para solicitudes activas, SSD para archivos del sitio, y almacenamiento en nube para backups.

Sistemas de Archivos

Conceptos Básicos

  • Archivo: Unidad lógica de almacenamiento
  • Directorio: Estructura para organizar archivos
  • Metadata: Información sobre archivos (permisos, tamaño, etc.)

Sistemas Populares

  • FAT32: Compatible pero limitado (4GB por archivo)
  • NTFS: Windows, con permisos avanzados y journaling
  • ext4: Linux, alto rendimiento y estabilidad
  • APFS: Apple, optimizado para SSDs

Operaciones Básicas

Creación

Asignar espacio y registrar metadatos

Lectura

Acceder a datos desde el almacenamiento

Escritura

Guardar datos en el almacenamiento

Eliminación

Liberar espacio y actualizar estructuras

Implementación de Sistemas de Archivos

Estructuras Clave

  • Superbloque: Información global del sistema de archivos
  • Inodos (ext4): Almacenan metadata de archivos
  • Tabla FAT (FAT32): Mapea clusters de archivos
  • Master File Table (NTFS): Registro central de archivos

Gestión de Espacio

Asignación Contigua

Archivos en bloques continuos (simple pero propenso a fragmentación)

Asignación Enlazada

Bloques enlazados (eficiente pero acceso secuencial)

Asignación Indexada

Índice central para bloques (acceso aleatorio eficiente)

Sistemas RAID

Concepto de RAID

Tecnología que combina múltiples discos para mejorar rendimiento, capacidad y/o redundancia.

Nivel RAID Descripción Redundancia Rendimiento Capacidad Útil
RAID 0 Striping (distribución) No Alto 100%
RAID 1 Mirroring (espejo) Sí (1 disco) Lectura alta 50%
RAID 5 Striping con paridad Sí (1 disco) Lectura alta N-1 discos
RAID 6 Doble paridad Sí (2 discos) Lectura alta N-2 discos
RAID 10 Espejo + striping Sí (1 disco por par) Muy alto N/2 discos

Implementación RAID

RAID por Hardware

  • Controlador dedicado
  • Alto rendimiento
  • Costo elevado

RAID por Software

  • Gestionado por el SO
  • Menor costo
  • Mayor carga de CPU

Ejemplo: Un servidor de bases de datos podría usar RAID 10 por hardware para máximo rendimiento y redundancia.

Entrada/Salida (E/S)

Gestión de Dispositivos

  • Dispositivos de bloque: Discos duros, SSDs (acceso por bloques)
  • Dispositivos de carácter: Teclados, ratones (flujo de bytes)
  • Controladores: Software que gestiona hardware específico

Técnicas de E/S

Buffering

Almacenamiento temporal para compensar diferencias de velocidad

Caching

Copias frecuentemente accedidas en memoria rápida

DMA (Acceso Directo a Memoria)

Dispositivos acceden a RAM sin CPU

Spooling

Colas de trabajos para dispositivos lentos (ej. impresión)

Glosario

Términos de Almacenamiento

  • Journaling: Registro de cambios para recuperación ante fallos
  • Fragmentación: Espacio no contiguo en disco
  • Block: Unidad mínima de almacenamiento en disco

Términos de RAID

  • Striping: Distribución de datos en múltiples discos
  • Mirroring: Duplicación de datos en discos
  • Paridad: Información para reconstruir datos perdidos

Términos de E/S

  • Interrupciones: Señales de dispositivos al CPU
  • Polling: Consulta periódica de estado
  • Planificación de disco: Algoritmos como elevador para optimizar accesos