Saltar al contenido principal

Capítulo 2.4 - Sistema de Archivos Virtual (VFS)

Objetivos de Aprendizaje​

Al final de este capítulo, usted será capaz de:

  • Comprender el rol del VFS
  • Explicar cómo el VFS unifica diferentes sistemas de archivos
  • Comprender los inodos y las estructuras de datos
  • Identificar los diferentes tipos de sistemas de archivos

¿Qué es el VFS?​

El VFS (Virtual File System) es una capa de abstracción en el Kernel de Linux que proporciona una interfaz unificada para acceder a diferentes tipos de sistemas de archivos, ya sean locales (ext4, xfs) o de red (NFS, CIFS).


Roles del VFS​

1. Interfaz Unificada​

El VFS proporciona una interfaz única para:

  • Abrir, leer, escribir, cerrar archivos
  • Crear, eliminar, renombrar archivos
  • Gestionar directorios
  • Gestionar permisos

2. Abstracción​

Las aplicaciones no necesitan conocer:

  • El tipo de sistema de archivos
  • La ubicación (local o de red)
  • Los detalles de implementación

3. Rendimiento​

El VFS mantiene cachés:

  • Inode cache: Metadatos de archivos
  • Dentry cache: Nombres de archivos y rutas
  • Buffer cache: Datos de archivos

Inodos​

Un inodo (index node) es una estructura de datos que almacena los metadatos de un archivo:

Información almacenada:

  • Tipo de archivo (archivo, directorio, enlace, etc.)
  • Permisos (propietario, grupo, otros)
  • Tamaño del archivo
  • Timestamps (creación, modificación, acceso)
  • Punteros a los bloques de datos
  • Número de enlaces

Tipos de Sistemas de Archivos​

Sistemas de Archivos Locales​

ext4 (Fourth Extended File System):

  • Estándar en la mayoría de las distribuciones
  • Con journaling (resistente a fallos)
  • Soporta archivos de hasta 16TB

xfs:

  • Alto rendimiento para archivos grandes
  • Usado en entornos empresariales
  • Bueno para bases de datos

btrfs:

  • Funcionalidades avanzadas (snapshots, compresión)
  • Copy-on-write
  • En desarrollo activo

Sistemas de Archivos de Red​

NFS (Network File System):

  • Compartición de archivos en red
  • Estándar Unix/Linux

CIFS/SMB:

  • Compatible con Windows
  • Compartición de archivos entre plataformas

Sistemas de Archivos Especiales​

tmpfs:

  • En memoria (RAM)
  • Rápido pero temporal
  • /tmp, /dev/shm

procfs:

  • Interfaz hacia el kernel
  • /proc

sysfs:

  • Información del sistema
  • /sys

Estructura de Directorios​

El VFS mantiene una jerarquía unificada:

/
├── bin/ # Binarios esenciales
├── etc/ # Configuración
├── home/ # Usuarios
├── proc/ # Interfaz kernel (procfs)
├── sys/ # Interfaz sistema (sysfs)
├── tmp/ # Temporal (tmpfs)
├── var/ # Datos variables
└── ...

Comandos Útiles​

# Ver los sistemas de archivos montados
mount
df -h

# Ver los inodos
ls -li
stat fichier

# Ver el uso de inodos
df -i

# Ver los tipos de sistemas de archivos
mount | grep -E '^/dev'

Resumen​

En este capítulo, usted ha aprendido:

VFS: Interfaz unificada para todos los sistemas de archivos
Inodos: Metadatos de los archivos
Cachés: Inode, Dentry, Buffer para rendimiento
Tipos FS: Locales (ext4, xfs), de red (NFS), especiales (tmpfs, procfs)
Jerarquía: Estructura unificada con / como raíz


Próximos Pasos​

Capítulo 2.5: Gestión de Procesos
Capítulo 2.6: Proceso Init y systemd


Capítulo creado el: diciembre 2024