¿Qué es un archivo?
📄 Definición
Un archivo es una colección de datos relacionados, almacenada en un soporte persistente (disco, SSD, nube) bajo un nombre y una ubicación dentro del sistema de archivos.
🧩 Identificación
Cada archivo se identifica por: nombre, extensión (p. ej. .txt, .jpg), ruta en el sistema, y metadatos (fecha, tamaño, permisos).
🗂️ Tipos principales
Se dividen en archivos de datos (contienen información del usuario) y archivos de programa (contienen instrucciones ejecutables o código fuente).
⚙️ Ambiente de software
Cada sistema operativo (Windows, Linux, macOS) y cada aplicación tiene sus propias convenciones para crear, leer y modificar archivos.
| Categoría | Ejemplos de archivos | Ambiente típico | Tipo |
|---|---|---|---|
| Documentos de texto | .txt .md .csv |
Cualquier SO | Texto |
| Documentos de oficina | .docx .xlsx .pdf |
Windows / macOS | Binario |
| Imágenes | .png .jpg .bmp |
Multiplataforma | Binario |
| Audio / Video | .mp3 .mp4 .wav |
Multiplataforma | Binario |
| Programas ejecutables | .exe .elf .app |
Windows / Linux / macOS | Ejecutable |
| Código fuente | .py .java .c .js |
Cualquier SO | Texto |
Archivos de Texto
Los archivos de texto almacenan información como secuencias de caracteres legibles por humanos, codificados bajo un estándar (ASCII, UTF-8, etc.).
.txt, .csv, .html. Detectables sin extensión leyendo bytes iniciales (todos < 0x7F en ASCII).LF en Unix, CR+LF en Windows.Archivos Binarios
Los archivos binarios almacenan información en su representación más compacta y eficiente, no necesariamente legible por humanos.
FF D8 FF = JPEG; 89 50 4E 47 = PNG; 50 4B 03 04 = ZIP/DOCX.Formatos Comunes por Ambiente
%PDF-1.x en los primeros bytes. Versión visible como texto ASCII.FF D8 FF. Termina siempre con FF D9 (End Of Image).49 44 33) o directamente con frame de audio (FF FB).4D 5A ("MZ"). ELF (Linux): 7F 45 4C 46 ("elf").50 4B 03 04 ("PK"). Usada por ZIP y todos los formatos basados en él (DOCX, XLSX, JAR, APK)..docx es en realidad un ZIP con XML adentro. Podés renombrarlo a .zip y abrirlo.word/, _rels/ con archivos XML dentro.
Estructura Interna y Almacenamiento
Los archivos no son simplemente datos: tienen una organización interna que permite al software localizarlos, interpretarlos y acceder a su contenido.
📌 Header (Encabezado)
Primeros bytes del archivo. Contienen la firma mágica, versión del formato, dimensiones, metadatos y offsets a las secciones del cuerpo.
📦 Body (Cuerpo)
Los datos reales: píxeles, texto, audio, código. Pueden estar en bruto, comprimidos o codificados (Base64, RLE, Huffman, LZ77).
🔗 Índices y Tablas
Estructuras que mapean nombres → offsets o claves → posiciones. Hacen posible el acceso directo sin recorrer todo el archivo.
🔚 Footer (Pie)
Presente en algunos formatos (ZIP, PDF). Contiene el directorio central o trailer que apunta de vuelta al resto del archivo.
| Sistema de Archivos | SO | Tamaño max. archivo | Metadatos | Características |
|---|---|---|---|---|
FAT32 |
Windows / USB | 4 GB | Básicos | Simple, compatible universalmente |
NTFS |
Windows | 16 EB | Avanzados (ACL, compresión) | Journaling, seguridad, cuotas |
ext4 |
Linux | 16 TB | Inodos (permisos Unix) | Journaling, extents, rápido |
APFS |
macOS / iOS | 8 EB | Encriptación nativa | Snapshots, clones, SSD-optimized |
Factores de Eficiencia en el Acceso
La velocidad con que un programa puede leer o escribir datos depende de múltiples factores relacionados con el formato y el hardware.
- 🔹 Tipo de acceso: secuencial vs. aleatorio
- 🔹 Presencia de índices o tablas de salto
- 🔹 Nivel de compresión del contenido
- 🔹 Tamaño del cluster del sistema de archivos
- 🔹 Fragmentación del archivo en disco
- 🔹 Caché del sistema operativo (buffer cache)
- 🔹 Tipo de almacenamiento: HDD vs. SSD vs. RAM
Cuando un archivo crece y no cabe en un bloque contiguo, el SO lo divide en fragmentos. En HDD esto causa "seek time" (la cabeza lectora debe moverse físicamente). En SSD no hay penalización mecánica, pero sí overhead de gestión. La desfragmentación reorganiza los datos para mejorar la eficiencia.
Tabla Comparativa General
| Formato | Tipo | Identificación | Compresión | Acceso directo | Espacio | Uso principal |
|---|---|---|---|---|---|---|
| .txt / .csv | Texto | Sin firma; codificación | ✗ No | ✗ Solo líneas | Alto (verboso) | Intercambio, logs, config |
| .json / .xml | Texto | { o <?xml | ✗ No | ✗ Solo parseo | Alto | APIs, configuración |
| Binario | %PDF-x.x | ✓ Parcial | ✓ xref table | Medio | Documentos imprimibles | |
| .jpg | Binario | FF D8 FF | ✓ DCT lossy | ✗ Líneas de scan | Bajo | Fotografías |
| .png | Binario | 89 50 4E 47 | ✓ DEFLATE lossless | ✗ Líneas de scan | Medio | Gráficos, transparencia |
| .mp3 | Binario | 49 44 33 / FF FB | ✓ Psicoacústica | ✗ Frames secuenciales | Bajo | Audio comprimido |
| .zip / .docx | Contenedor | 50 4B 03 04 | ✓ DEFLATE | ✓ Central Dir | Muy bajo | Archivado, Office |
| .exe / ELF | Ejecutable | MZ / 7F ELF | ✗ No | ✓ Secciones | Variable | Programas del SO |
Actividad de Repaso
Respondé las preguntas para comprobar lo que aprendiste. Cliqueá una opción para ver si es correcta.