# Archivo (informática)

Un archivo o fichero informático es una secuencia de bytes, que representan una unidad de información, almacenados en un dispositivo de almacenamiento. Un archivo se identifica por un nombre y la descripción de la carpeta o directorio que lo contiene. Los archivos informáticos son los equivalentes digitales de los documentos físicos tradicionales, como expedientes, tarjetas, libretas, papel o microfilmes.

## Contenido de los Archivos

Desde el punto de vista del sistema operativo, un archivo es, en la mayoría de los casos, un flujo unidimensional de bytes tratado como una unidad lógica. Un archivo informático tiene un tamaño, generalmente expresado en bytes (o múltiplos como kilobytes, megabytes, etc.). El tamaño puede ser cualquier número entero no negativo de bytes, hasta un máximo que depende del sistema y del dispositivo de almacenamiento. El software que se ejecuta en la computadora interpreta la secuencia de bytes como un programa, un texto, una imagen, etc., basándose en el nombre, la extensión y el contenido del archivo. Algunos tipos especiales de archivos, como los nodos de dispositivo (que representan simbólicamente partes del hardware), no consisten en un flujo de bytes y no tienen tamaño de archivo.
Los datos dentro de un archivo suelen estar organizados en paquetes más pequeños, a menudo llamados registros o líneas, que comparten características comunes. Por ejemplo, un archivo de nóminas podría contener información sobre los empleados de una empresa, con cada registro asociado a un empleado específico y conteniendo datos relacionados con su nómina. Un archivo de texto podría contener líneas de texto.
La forma en que se estructuran los datos dentro de un archivo depende del diseño del archivo. Existe una gran variedad de estructuras de archivos, desde las más simples hasta las más complejas. La mayoría de los archivos son utilizados por aplicaciones informáticas que los crean, modifican y borran. Los programadores de estas aplicaciones definen los archivos necesarios, su uso y, a menudo, sus nombres.
En algunos casos, los programas permiten a los usuarios manipular directamente los archivos. Por ejemplo, en un procesador de texto, el usuario crea y nombra archivos de documento. El programa interpreta el contenido del archivo (organizado en un formato específico), pero el usuario gestiona el nombre, la ubicación y la información almacenada en el archivo.
Muchas aplicaciones agrupan todos sus archivos de datos en un único archivo contenedor, utilizando marcadores internos para diferenciar los tipos de información. Un ejemplo claro es el formato de archivo de juegos como Doom.
Los archivos pueden crearse, moverse, modificarse, crecer, reducirse y eliminarse. Generalmente, las aplicaciones se encargan de estas operaciones, pero el usuario también puede manipular los archivos directamente mediante un administrador de archivos como Explorador de Windows (en sistemas Windows).

## Identificación y Organización

En los sistemas informáticos modernos, los archivos siempre tienen nombres. Los archivos se organizan en directorios (también llamados carpetas o catálogos). Un archivo se identifica de forma única por su nombre *dentro de un directorio específico*. No puede haber dos archivos con el mismo nombre en el mismo directorio.
La combinación del nombre del archivo y la ruta completa al directorio donde se encuentra identifica unívocamente al archivo dentro de todo el sistema informático. La apariencia del nombre del archivo depende del sistema operativo. Los sistemas antiguos a menudo limitaban la longitud y los caracteres permitidos en los nombres de archivo, mientras que los sistemas modernos suelen permitir nombres largos con una amplia variedad de caracteres Unicode.
La distinción entre mayúsculas y minúsculas en los nombres de archivo depende del sistema de archivos. Los sistemas Unix y derivados (como Linux o macOS) suelen ser sensibles a mayúsculas y minúsculas (permitiendo archivos como "archivo.txt" y "Archivo.txt" en el mismo directorio). Microsoft Windows admite varios sistemas de archivos, cada uno con sus propias reglas. El antiguo sistema FAT (en sus diversas variantes) no distingue entre mayúsculas y minúsculas en las aplicaciones de usuario (aunque a nivel interno, con herramientas de edición de disco, sí se podría). NTFS, el sistema de archivos más común en Windows actualmente, puede configurarse para ser sensible o insensible a mayúsculas y minúsculas (por defecto, no lo es).
Los archivos se organizan jerárquicamente en una estructura de árbol de carpetas (directorios). Cada carpeta puede contener archivos y otras carpetas (subcarpetas). Existe una carpeta raíz (cuyo nombre puede variar o incluso estar ausente) que contiene todas las demás carpetas y archivos. Las rutas de archivo especifican la ubicación de un archivo dentro de esta jerarquía, utilizando un carácter separador (como la barra diagonal `/` o la barra invertida `\`) para delimitar los nombres de las carpetas. Por ejemplo, una ruta como `/Usuarios/Documentos/Trabajo/Informe.txt` indica un archivo llamado "Informe.txt" dentro de la carpeta "Trabajo", que a su vez está dentro de la carpeta "Documentos", que está dentro de la carpeta "Usuarios", que está en la raíz del sistema de archivos.
Muchos sistemas informáticos utilizan extensiones de archivo para ayudar a identificar el tipo de contenido. En Windows, las extensiones suelen ser un punto (`.`) seguido de unas pocas letras al final del nombre del archivo (por ejemplo, `.txt` para archivos de texto, `.docx` para documentos de Microsoft Word). El grado en que el sistema operativo reconoce y utiliza las extensiones varía. En algunos sistemas son obligatorias, mientras que en otros se pueden ignorar.

## Operaciones sobre Archivos Completos

Las operaciones sobre archivos completos se realizan sobre el archivo como una unidad, sin acceder a sus registros individuales. Sin embargo, la organización interna del archivo (estructura lógica de los registros) sí influye en estas operaciones.

### Creación

Permite a los usuarios crear nuevos archivos. El sistema de archivos registra las propiedades y características del archivo (nombre, tamaño, ubicación, permisos, etc.).

### Apertura

Localiza e identifica un archivo existente para que pueda ser utilizado por el sistema operativo o una aplicación. Posibles errores:
* El archivo no se encuentra en la ubicación especificada.
* El usuario no tiene permisos de acceso.
* Errores de hardware impiden la lectura.

### Cierre

Indica que se ha terminado de usar un archivo. El sistema operativo rompe la conexión entre el programa y el archivo, garantizando la integridad de los datos. Se escribe en el disco cualquier información pendiente en los búferes y se realizan tareas de limpieza. Posibles errores:
* El archivo no estaba abierto.
* Errores de hardware impiden la escritura.
* Falta de espacio en el dispositivo de almacenamiento.
Ejemplo (en gedit): Para cerrar un archivo, se selecciona "Archivo -> Cerrar", se pulsa la "X" en la pestaña del archivo, o se usa el atajo de teclado Ctrl + W.

### Edición (Ampliación)

Permite aumentar el tamaño de un archivo, asignándole más espacio en el dispositivo de almacenamiento. El sistema de archivos debe conocer el identificador del archivo y la cantidad de espacio adicional. La asignación de espacio contiguo o no contiguo depende de la organización del archivo y del sistema de archivos. El único error común es la falta de espacio disponible. (Nota: la edición del *contenido* del archivo no se considera una operación sobre el archivo completo).

## Protección de Archivos

Muchos sistemas operativos modernos ofrecen mecanismos para proteger los archivos contra daños accidentales o intencionados. Esto suele implicar:
    Permisos de archivo: Controlan qué usuarios o grupos de usuarios pueden leer, escribir, ejecutar o eliminar un archivo o carpeta. Se pueden establecer diferentes permisos para el propietario del archivo, el grupo al que pertenece el archivo y otros usuarios.
    Atributos de archivo: Son marcas especiales que modifican el comportamiento del archivo. Ejemplos comunes:
       Solo lectura (read-only): El archivo puede leerse, pero no modificarse ni eliminarse.
       Oculto (hidden): El archivo no se muestra en los listados de directorio normales. Se utiliza a menudo para archivos de sistema importantes que no deben ser modificados por el usuario.
       Sistema (system): Indica que es un archivo crítico del sistema operativo.

## Almacenamiento de Archivos

En términos físicos, la mayoría de los archivos informáticos se almacenan en dispositivos de almacenamiento secundario, como discos duros (que permiten acceso rápido) y, para copias de seguridad, en cintas magnéticas, memorias USB, discos ópticos (CD, DVD, Blu-ray), etc.

## Respaldo de Archivos

El respaldo (backup) de archivos es una medida de protección contra la pérdida de información importante. Consiste en crear copias de los archivos en una ubicación separada (otro disco, una cinta, un servidor remoto, etc.) para poder restaurarlos en caso de fallo del dispositivo principal, borrado accidental o corrupción de datos. Los sistemas operativos suelen proporcionar utilidades para facilitar el proceso de respaldo.

## Sistemas de Archivos y Gestores de Archivos

El sistema de archivos es la forma en que un sistema operativo organiza, nombra, almacena y manipula los archivos. Cada sistema operativo tiene al menos un sistema de archivos, y algunos admiten varios. Por ejemplo, Windows 7 admite FAT32 (más antiguo) y NTFS (más moderno). Cada sistema de archivos tiene sus propias características, ventajas y desventajas. Por ejemplo, FAT32 tiene limitaciones en el tamaño de los archivos y en la longitud de los nombres de archivo, mientras que NTFS admite archivos más grandes y nombres más largos y descriptivos.
Un administrador de archivos (o gestor de archivos) es una utilidad que permite a los usuarios manipular archivos directamente: moverlos, copiarlos, eliminarlos, renombrarlos, etc. No permiten editar el *contenido* de los archivos, sino que gestionan los archivos como unidades. Cada sistema operativo proporciona al menos un gestor de archivos para su sistema de archivos nativo. En Windows, el gestor de archivos más común es el Explorador de archivos.