# data[].attributes.headline
Mecanismos de recuperación en caso de falla

# data[].attributes.subject
Mecanismos de recuperación en caso de falla

# data[].attributes.body
Recuperación

Los archivos y directorios se mantienen tanto en memoria principal como en disco, y debe tener. Se cuidado para que los fallos del sistema no provoquen una pérdida de datos o una incoherencia en los mismos.

Comprobación de coherencia

Como hemos explicado en la Sección 11.3, parte de la información de directorios se almacena en la memoria principal (o en caché) para acelerar el acceso. La información de directorios en la memoria principal está, generalmente, más actualizada que la correspondiente información en el disco, porque la información de directorios almacenada en caché no se escribe necesariamente en el disco nada más producirse la actualización.

Considere, entonces, el posible ejemplo de un fallo de la computadora. El contenido de la caché y de los búferes, así como de las operaciones de E/S que se estuvieran realizando en ese momento, pueden perderse, y con él se perderán los cambios realizados en los directorios correspondientes a los archivos abiertos. Dicho suceso puede dejar el sistema de archivos en un estado incoherente. El estado real de algunos archivos no será el que se describe en la estructura de directorios.

# data[].attributes.body
El directorio contiene un conjunto de datos por cada archivo referenciado

Una posibilidad es que el directorio contenga por cada archivo referenciado:

El nombre.

Sus atributos.

Las direcciones en disco donde se almacenan los datos.

Otra posibilidad es que cada entrada del directorio contenga:

El nombre del archivo.

Un apuntador a otra estructura de datos donde se encuentran los atributos y las ,direcciones en disco.

# data[].attributes.body
En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la cantidad de información que se transfiere físicamente en cada operación de acceso (lectura o escritura).

El Sistema Operativo o Sistema de Gestión de Archivos es el encargado de la asignación de bloques a archivos, de lo que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de Memoria Secundaria a los archivos y, en segundo lugar, es necesario guardar constancia del espacio disponible para asignar.

El sistema de archivos se ocupa primordialmente de administrar el espacio de almacenamiento secundario, sobre todo el espacio en disco. El manejo del espacio libre en disco se lleva a cabo de la siguiente manera:

Vector de bit.

Lista ligada (lista libre).

Por conteo (agrupación)

# data[].attributes.body
Existen varios mecanismos para acceder los archivos: Directorios, descriptores de archivos,
mecanismos de control de acceso y procedimientos para abrir y cerrar archivos.
Descriptores de archivos.
El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene
información que el sistema necesita para administrar un archivo.
Es una estructura muy dependiente del sistema.
Puede incluir la siguiente información:
 Nombre simbólico del archivo.
 Localización del archivo en el almacenamiento secundario.
 Organización del archivo (método de organización y acceso).
 Tipo de dispositivo.
 Datos de control de acceso.
 Tipo (archivo de datos, programa objeto, programa fuente, etc.).
 Disposición (permanente contra temporal).
 Fecha y tiempo de creación.
 Fecha de destrucción.
 Fecha de la última modificación.
 Suma de las actividades de acceso (número de lecturas, por ejemplo).
Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al
almacenamiento primario al abrir el archivo.
El descriptor de archivos es controlado por el sistema de archivos ; el usuario puede no hacer
referencia directa a él.
A cada uno de los archivos se le asigna un descriptor el cual contendrá toda la información que
necesitará el sistema de archivos para ejecutar con él los comandos que se le soliciten. El
descriptor se mantendrá en memoria principal desde que el archivo es abierto hasta que sea
cerrado, y debe tener al menos la siguiente información, identificación del archivo, lugar de
almacenamiento, información del modo de acceso.
Identificación del archivo. Consiste de dos partes que es el nombre simbólico que es el que le da el
usuario y un identificador interno que es asignado por el sistema operativo (número). Lugar de
almacenamiento así como el tamaño del archivo. Modo de acceso. Se debe indicar en forma
explícita quien puede accesar el archivo y conque derecho.
Mecanismo de control de acceso. Control de un sistema de información especializado en detectar los intectos de acceso, permitiendo el paso de las entidades autorizadas, y denegando el paso a todas las demás. Involucra medios técnicos y procedimientos operativos. Mecanismo que en función de la identificación ya autenticada permite acceder a datos o recursos. Los Directorios son utilizados por el sistema operativo para llevar un registro de los archivos que incluye el nombre, los atributos y las direcciones en disco donde se almacenan los datos del archivo referenciado. Open (abrir): antes de utilizar un archivo, un proceso debe abrirlo. La finalidad es permitir que el sistema traslade los atributos y la lista de direcciones en disco a la memoria principal para un rápido acceso en llamadas posteriores. Close (cerrar): cuando concluyen los accesos, los atributos y direcciones del disco ya no son necesarios, por lo que el archivo debe cerrarse y liberar la tabla de espacio interno.

# data[].attributes.body
Los datos son arreglados por su adyacencia física, es decir, de acuerdo con el dispositivo de almacenamiento secundario. Los registros son de tamaño fijo o de tamaño variable y pueden organizarse de varias formas para constituir archivos físicos.

Cinta magnética

Discos Magnéticos

# data[].attributes.body
La mayoría de las computadoras organizan los archivos en jerarquías llamadas carpetas, directorios o catálogos . (El concepto es el mismo independientemente de la terminología usada.) Cada carpeta puede contener un número arbitrario de archivos, y también puede contener otras carpetas. Las otras carpetas pueden contener todavía más archivos y carpetas, y así sucesivamente, construyéndose un estructura en árbol en la que una «carpeta raíz» (el nombre varía de una computadora a otra) puede contener cualquier número de niveles de otras carpetas y archivos. A las carpetas se les puede dar nombre exactamente igual que a los archivos (excepto para la carpeta raíz, que a menudo no tiene nombre). El uso de carpetas hace más fácil organizar los archivos de una manera lógica.

La mayor parte de las estructuras de organizaciones alternativas de archivos se encuentran dentro de estas cinco categorías:

Pilas

Es la forma más fácil de organizar un archivo. Los datos se recogen en el orden en que llegan.

Su objetivo es simplemente acumular una masa de datos y guardarla.

Los registros pueden tener campos diferentes o similares en un orden distinto. Cada campo debe ser autodescriptivo, incluyendo tanto un campo de nombre como el valor. La longitud de cada campo debe indicarse implícitamente con delimitadores, explícitamente incluidos como un subcampo más.

El acceso a los registros se hace por búsquedas exhaustiva y son fáciles de actualizar. Si se quiere encontrar un registro que contiene un campo particular y un valor determinado, es necesario examinar cada registro de la pila hasta encontrar el registro deseado. Si se quieren encontrar todos los registros que contienen un campo particular o que tienen un valor determinado para ese campo, debe buscarse el archivo entero.

Se aplica cuando los datos se recogen o almacenan antes de procesarlos o cuando no son fáciles de organizar. Esta clase de archivo aprovecha bien el espacio cuando los datos almacenados varían en tamaño y estructura. Fuera de estos usos limitados, este tipo de archivos no se adapta a la mayoría de las aplicaciones.

# data[].attributes.body
La administraciòn de archivos se refiere a las diferentes maneras en las que puede ser organizada la información de los archivos, así como las diferentes maneras en que ésta puede ser accesada. Dado que hay 2 niveles de visión de los archivos (físico y lógico), se puede hablar también de 2 aspectos de organización de archivos: Organización de archivos lógicos y de archivos físicos.

# data[].attributes.body
Métodos De Acceso. Se ocupan de la manera en que se tendrá acceso a la información almacenada en el archivo. Ejemplo: Secuencial, Directo, indexado, etc. Administración De Archivos. Se ocupa de ofrecer los mecanismos para almacenar, compartir y asegurar archivos, así como para hacer referencia a ellos. Administración De Almacenamiento Secundario. Se ocupa de asignar espacio para los archivos en los dispositivos de almacenamiento secundario. En la siguiente figura se muestra un ejemplo de la administración de espacio en un disco duro.
Mecanismos De Integridad. Se ocupan de garantizar que no se corrompa la información de un archivo, de tal manera que solo la información que deba estar en el, se encuentre ahí. Mecanismos de Organización Lógica. Contiene las diferentes rutinas y comandos a través de los cuales el usuario podrá estructurar sus archivos virtuales. Directorio de Identificadores. Convierte los identificadores simbólicos de los archivos en identificadores internos, los cuales apuntarán a su descriptor o a una estructura que permite encontrar el archivo. Sistemas Teóricos de Archivos. Su objetivo es el de activar y desactivar a través de las rutinas de abrir y cerrar archivos y verifica el modo de acceso. Mecanismos de Organización Física. Traslada las direcciones lógicas en direcciones físicas correspondientes a las estructuras de memoria secundaria y los buffers en memoria principal necesarios para la transferencia de datos. Mecanismos de E/S. Por cada petición de acceso al archivo real, este mecanismo genera la secuencia de operaciones elementales de entrada y salida que se necesita. SCHEDULING E/S. En este nivel es donde se tiene el número de peticiones pendientes así como de las que se están realizando y lleva el control y asignación de tiempo de CPU a las diferentes peticiones de E/S.

# data[].attributes.body
Lo conforman todas aquellas rutinas encargadas de administrar todos los aspectos relacionados con el manejo de Archivos. En UNIX se define un File System como un sistema de software dedicado a la creación, destrucción, organización y lectura, escritura y control de acceso de los archivos, funcionalmente los componentes de un sistema de archivos son lenguajes de comandos, interpretador de comandos, manejador del almacenamiento secundario, sistema de entrada y salida y mecanismos de respaldo y recuperación.

# data[].attributes.body
Un sistema de archivos es el sistema de almacenamiento de un dispositivo de memoria, que estructura y organiza la escritura, búsqueda, lectura, almacenamiento, edición y eliminación de archivos de una manera concreta. El objetivo principal de esta organización es que el usuario pueda identificar los archivos sin lugar a error y acceder a ellos lo más rápido posible.

# data[].attributes.headline
Los sistemas de archivos también otorgan a los archivos, entre otras, las siguientes características:

# data[].attributes.subject
Los sistemas de archivos también otorgan a los archivos, entre otras, las siguientes características:

# data[].attributes.body
Convenciones para nombrar a los archivos

Atributos de archivo

Control(es) de acceso

# data[].attributes.body
Es un objeto que contiene programas, datos o cualquier otro elemento.
Un archivo se muestra de manera real, en la información del espacio que ocupa en un disco duro o sistema de almacenamiento, en otras palabras su tamaño en bytes. (Fig. 5.2.4)

# data[].attributes.body
Es un archivo de uso temporal que es utilizado por los procesos del sistema mientras se están ejecutando dichos procesos.(Fig.5.2.1). Estos archivos se crean durante la ejecución de un sistema y los utiliza para el almacenamiento de información, intercambio y organización mientras se ejecuta el sistema (Fig. 5.2.2), su tamaño es muy variable y terminan al detener la ejecución del sistema, muchos de ellos son borrados, por ejemplo, los archivos *.tmp (Fig. 5.2.3) .
Se le conoce como archivo virtual, aquel que contiene los datos generados por el usuario.

# data[].attributes.body
Hay diversos sistemas de archivos estándar para Windows, macOS, Linux, Unix y el resto de sistemas operativos. En los últimos años, con el desarrollo de las nuevas tecnologías, se han ido diferenciando cada vez más: por ejemplo, se han creado sistemas de archivos adecuados para los dispositivos de almacenamiento flash, cada vez más populares, entre los que se incluyen las memorias USB y las unidades SSD. Todos los sistemas de archivos comparten la característica de utilizar una estructura de árbol para organizar los archivos, que parte del directorio raíz. A partir de ahí, se ramifican el resto de carpetas o directorios y subcarpetas.
En la actualidad, existen bastantes sistemas de archivos, aunque no todos están igual de extendidos. Los más habituales hasta la fecha son FAT16, FAT32, exFAT y NTFS (Windows) y HFS+ y APFS (macOS/Mac OS X). Linux utiliza actualmente ext4 (sucesor de ext3 y ext2), entre otros. A continuación, resumimos brevemente las características de estos sistemas de archivos.