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