El problema
Crear un archivo parece simple desde la perspectiva del usuario. Por debajo, implica metadatos, asignación de espacio, entradas de directorio y relaciones entre estructuras. Este proyecto de Manejo e Implementación de Archivos explora esas ideas mediante un simulador de disco virtual y sistema de archivos.
Mi contribución
Implementé el proyecto de forma individual. Go se encarga de las operaciones de disco y sistema de archivos, mientras que los reportes y la interfaz web facilitan inspeccionar las estructuras subyacentes.
Arquitectura técnica
La implementación modela estructuras MBR y EBR, particiones, superbloque, inodos, bloques de directorio, bloques de archivo y bitmaps de asignación. Las operaciones leen y escriben estructuras binarias en offsets calculados dentro de archivos de disco virtual.
La capa de comandos expone operaciones como formatear, crear directorios, crear archivos y leer contenido. Los reportes en Graphviz ofrecen vistas estructurales del disco simulado y sus metadatos.
Trabajo con estructuras binarias
Cada estructura tiene un rol para describir dónde vive la información y cómo se conecta. Una entrada de directorio vincula un nombre con un inodo; un inodo conecta metadatos con bloques; el superbloque describe el layout general del sistema de archivos.
El proyecto convierte esas relaciones en código explícito, en lugar de delegarlas por completo a una API de sistema de archivos existente.
Resultados y alcance
El resultado es un simulador educativo estilo EXT2 implementado, con operaciones de disco virtual, manejo de archivos/directorios y reportes. No se presenta como un sistema de archivos montable en Linux, ni como una implementación EXT2 completa o EXT3 con journaling.
El repositorio incluye el código en Go y artefactos de interfaz. Su documentación es más breve que su implementación, por lo que este caso de estudio aporta el contexto arquitectónico necesario para explorarlo.
Lecciones de ingeniería
El almacenamiento es un punto de encuentro útil entre ingeniería de software e infraestructura. Comprender offsets, metadatos y asignación da una visión más concreta de lo que el sistema operativo hace por las aplicaciones.
