¿Qué es un archivo?
Un archivo, es una unidad de datos o información almacenada, conformada por un conjunto de bits en algún medio que puede ser utilizada por aplicaciones de la computadora. Está formado por un nombre y una extensión la cual indica que tipo de archivo es y por cuales aplicaciones puede ser ejecutado.

Características de un archivo
- Un Archivo tiene:
- Un nombre
- Un tamaño que puede incrementar o disminuir según la cantidad de su contenido
- Una localización
- Una extensión.
- Es la unidad más pequeña de almacenamiento secundario lógico.
Descripción de 5 extensiones de archivos (Ejemplo)
.dat: Los archivos DAT, contienen datos genéricos que pueden ser utilizados o indexados por otros programas. Los archivos DAT son compatibles con diversos programas, pero en general no están ideados para abrirse de forma manual.
En caso de abrirlos, su contenido puede visualizarse en un editor de texto, siempre que el archivo DAT original se haya guardado como información de texto.

.dll: Es un conjunto de recursos compilados como directivas, procedimientos y bibliotecas de controladores que son requeridas por las aplicaciones integradas de Windows y programas de terceros que se han desarrollado para Microsoft Windows.

.doc: La extensión de archivo .DOC se relaciona con Microsoft Word, se compone básicamente de los marcos y los registros que se centran en el texto, formato de página, gráficos, cuadros, tablas, imágenes y otros documentos cuyo contenido es creado y editado.

.html: Se implementan en su mayoría en forma de páginas estáticas de sitios web. HTML se puede utilizar para integrar ciertos atributos de formato y las especificaciones de diseño en el contenido de estas páginas web.
Hay una gran cantidad de aplicaciones que se pueden utilizar para crear y editar estos archivos HTML, y muchos de los navegadores web se pueden usar para abrir y ver el contenido de archivos en el .html formato

.pdf: Los archivos PDF se clasifican generalmente como archivos de datos, y estos documentos se conocen comúnmente como archivos de formato de documento portátil. el formato PDF se implementó con el fin de proporcionar un apoyo más amplio de compatibilidad cruzada para ver y compartir contenido a través de sistemas de uso frecuente.
El contenido de un .pdf documento consta normalmente de texto, elementos visuales como imágenes, gráficos y tablas, anotaciones, bibliografías, índices, notas al pie y notas al final, entre otros.

¿Qué es un directorio?
Un directorio es un contenedor virtual en el que se almacenan una agrupación de archivos informáticos y otros subdirectorios, atendiendo a su contenido, a su propósito o a cualquier criterio que decida el usuario.
Técnicamente, el directorio almacena información acerca de los archivos que contiene: como los atributos de los archivos o dónde se encuentran físicamente en el dispositivo de almacenamiento.
¿Cómo se implementan los sistemas de archivos?
Al momento de implementar un sistema de archivo nos podemos encontrar con 2 situaciones diferentes.
1) definir como debe de ver el usuario el sistema de archivos. •definir un archivo y sus atributos •definir las operaciones permitidas sobre un archivo •definir la estructura de un directorio. •
2) Definir los algoritmos y estructuras de archivos que deben crearse para establecer la correspondencia entre los archivos lógicos y los dispositivos físicos donde se almacena.
Estructura de un sistema de archivo de un sistema operativo a nivel básico.
Se pueden implementar diversos métodos en los diferentes sistemas operativos para asignación de espacio. Algunos de ellos son:
•Asignación contigua
•Asignación no contigua

Asignación contigua
La asignación contigua es cuando se crea un archivo y a este se le asigna un único conjunto continuo de bloques, esta es una estrategia de asignación previa y emplea bloques de tamaño variable.
Ventajas: •Cada archivo ocupa un conjunto de bloques contiguos en el disco •para esta, solo se necesita la localización de comienzo y la longitud
Desventajas: •Desperdicio de espacio •Carece de fragmentación excesiva •Escribe cada archivo como un todo a la vez

•Asignación no contigua
La asignación no contigua utiliza lo que son las listas enlazadas.
Ventajas: •Cada archivo es una lista enlazada de bloques de disco, los bloques pueden estar dispersos en el disco, permite que un archivo no deba estar contiguo en el disco •Evita la fragmentación extrema •Basta almacenar el puntero al primer bloque del archivo
Desventaja: •Es el acceso aleatorio, el Sistema Operativo debe de ir buscando nodo por nodo la dirección del siguiente, hasta llegar al que necesita

Administración y optimización de sistema de archivo
Debido a que el espacio del disco está limitado por la capacidad de este, se necesita reutilizar el espacio disponible que sea liberado al borrar otros archivos y así darle ocupación con los nuevos.
Para poder controlar y conocer el espacio libre del disco, el sistema mantiene una lista de estos sectores libres que se puede dar por medio de diferentes implementaciones:
- Mapa o Vectores de bits
- Listas enlazadas
- Listas enlazadas con agrupaciones
- Cuenta-Lista de Bloques Libres
Mapa de Bits o Vector de Bits.

- Cada bloque se presenta con un Bit (0=Bloque libre) y (1 =Bloque ocupado).
- Fácil encontrar un bloque libre o n-bloque libres consecutivos. Algunas maquinas tienen instrucciones especificas.
- Fácil tener archivos en bloques continuos.
Desventajas:
- Ineficiente si no se mantiene en memoria principal.
Lista Enlazada:
Ventajas:
- Enlaza todos los bloques libres del disco, Guarda un puntero al primer bloque en un lugar concreto.
- No derrocha espacio
Desventajas:
Relativamente ineficiente: no es normal atravesar bloques vacíos, si es que hubieran bloques vacíos.


Sistemas de archivos y las diferencias entre ellos.
Sistemas de archivos en Linux
GNU/Linux es el sistema operativo que soporta más sistemas de organización que lo convierte en uno de los más versátiles. Además, al igual que Windows, utiliza los mismos tipos de accesos y sistemas de organización.
La estructura de archivos es una estructura jerárquica en forma de árbol invertido, donde el directorio principal (raíz) es el directorio “/”, del que cuelga toda la estructura del sistema.
Este sistema de archivos permite al usuario crear, borrar y acceder a los archivos sin necesidad de saber el lugar exacto en el que se encuentran. No existen unidades físicas, sino archivos que hacen referencia a ellas.
Consta de tres partes importantes, super bloque, tabla de i-nodos y bloques de datos. •-EXT: el “sistema de archivos extendido” (extended file system, ext), fue el primer sistema de archivos de Linux.
Tiene metadatos estructura inspirada en el tradicional Unix File System o sistema de archivos UNIX (UFS). Fue diseñado por Rémy Card para vencer las limitaciones del sistema de archivos MINIX.

Sistema de archivos de MacOS:
Los sistemas de archivos que utiliza MacOS tienen su forma peculiar de trabajar, la cual es totalmente distinta a la de Microsoft Windows y GNU/Linux, trabajan por medio de jerarquías.
-HFS: el “sistema de archivos jerárquico” (Hierarchical File System, HFS) divide un volumen en bloques lógicos de 512 bytes. Estos bloques lógicos están agrupados juntos en bloques de asignación (allocation blocks) que pueden contener uno o más bloques lógicos dependiendo del tamaño total del volumen.

Diferencia entre los sistema de archivos de MacOS y Sistema de archivos en Linux
En Linux la estructura de archivos es una estructura jerárquica en forma de árbol invertido, donde el directorio principal (raíz) es el directorio “/”, del que cuelga toda la estructura del sistema. Mientras en MacOs estos trabajan por medio de jerarquías, pero esta dividido en un volumen en bloques lógicos de 512 bytes que divide un volumen en bloques lógicos de 512 bytes.
En mi parecer el sistema de archivos que utiliza Linux es mas amigable para el usuario avanzando o por lo menos lo es para mi, este sistema de archivos permite al usuario crear, borrar y acceder a los archivos sin necesidad de saber el lugar exacto en el que se encuentran. Por esta misma razón también se debe de proceder con mas cautela.