5 Sistemas de Archivos

5. Sistemas de archivos Sistemas Operativos I MTW. Juan Oswaldo López Fuentes 5.1 CONCEPTO DE SISTEMA DE ARCHIVOS C

Views 106 Downloads 4 File size 768KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

5. Sistemas de archivos Sistemas Operativos I

MTW. Juan Oswaldo López Fuentes

5.1 CONCEPTO DE SISTEMA DE ARCHIVOS

Concepto 1: Son los algoritmos y estructuras lógicas utilizadas para poder acceder a la información que tenemos en el disco. Cada uno de los sistemas operativos crea estas estructuras y logaritmos de diferente manera independientemente del hardware. El desempeño de nuestro disco duro, la confiabilidad, seguridad, capacidad de expansión y la compatibilidad, estará́ en función de estas estructuras lógicas.

Fat 12 • Es el sistema de archivos de DOS, y es con el que formateamos los disquetes. Fue muy utilizado en las primeras PCs. Fat 16 • Este sistema de archivos tenia muchas limitaciones, por ejemplo si el disco duro era mayor de 2 GB, era imposible particionarlos y no usaba nombre largos en los archivos, solo 8 caracteres. Fat 32 • Fue utilizado a partir de 1997, y pudo ser utilizado en Windows 98, pero a medida que el tamaño de los discos duros se incrementaba, surgieron nuevas limitaciones. Se llamo Fat32, por que utiliza números de 32 bits para representar a los clusters en lugar de los 16 en los sistemas anteriores. NTFS • Especialmente creado para usarlo en Windows NT, es mas complejo que los FAT. El propósito era satisfacer la demanda y necesidades de de seguridad y eficacia para servidores y otras aplicaciones en red. No tiene limitaciones de tamaño clusters y en general en el disco.

Linux Este sistema de archivos trabaja de manera totalmente distinta, las particiones del disco se colocan en el directorio raíz. Podemos incluso tener diferentes particiones y cada una de ellas tener su propio sistema de archivos.

Concepto 2 En computación, un sistema de archivos es un método para el almacenamiento y organización de archivos de computadora y los datos que estos contienen, para hacer más fácil la tarea encontrarlos y accederlos. Los sistemas de archivos son usados en dispositivos de almacenamiento como discos duros y CD-ROM e involucran el mantenimiento de la localización física de los archivos.

Los sistemas de archivos pueden ser representados de forma textual (ej.: el shell de DOS) o gráficamente (ej.: Explorador de archivos en Windows) utilizando un gestor de archivos.

El software del sistema de archivos se encarga de organizar los archivos (que suelen estar segmentados físicamente en pequeños bloques de pocos bytes) y directorios, manteniendo un registro de qué bloques pertenecen a qué archivos, qué bloques no se han utilizado y las direcciones físicas de cada bloque.

Clasificación Los sistemas de archivos pueden ser clasificados en tres categorías: sistemas de archivo de disco, sistemas de archivos de red y sistemas de archivos de propósito especial.

Concepto 4 Debido a su importancia, es necesario que un sistema operativo tenga la capacidad de leer, escribir, acceder y mantener la integridad de un sistema de archivos. Un sistema de archivos provee al usuario con una abstracción que le permitirá́ crear con facilidad colecciones de datos llamados archivos. Estas colecciones deberán tener los siguientes requisitos o propiedades:

Existencia a largo tiempo: • Los archivos deberán ser almacenados sobre una unidad de almacenamiento y deberán permanecer allí ́ aun cuando el usuario apague el ordenador. Deberán tener la capacidad de ser compartidos

• Los archivos tendrán nombres que los identifique y deberán poseer permisos de acceso los cuales permitirán el compartimiento controlado entre procesos. Deberán poseer una estructura definida • Dependiendo del tipo de sistema de archivos, un archivo deberá́ poseer una estructura definida y conveniente; permitiendo que los archivos puedan ser organizados en orden jerárquico o en cualquier otro orden para reflejar su relación con otros archivos.

Operaciones sobre archivos. Crear un archivo • El usuario o un proceso podrá crear un nuevo archivo el cual tomará una posición dentro de la estructura del sistema de archivos. Borrar un archivo • Un archivo podrá ser borrado de la estructura. Abrir un archivo

• Un proceso podrá abrir un archivo permitiendo el acceso a la información contenida por dicho archivo. El proceso podrá ejecutar varias funciones sobre la información del archivo como leer, escribir, reemplazar, etc. Cerrar un archivo • Un proceso puede cerrar el archivo dejando atrás los privilegios de acceder a dicho archivo. Leer • Un proceso podrá leer parte de la información contenida en un archivo Escribir • Un proceso podrá añadir o reemplazar información en un archivo.

5.2 ARCHIVOS REALES Y VIRTUALES

Un archivo virtual Es un archivo de uso temporal que es utilizado por los procesos del sistema mientras se están ejecutando dichos procesos. 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 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.

Ejemplo: Archivo temporal

Archivo Real 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.

Ejemplo: Archivo real

5.3 COMPONENTES DE UN SISTEMA DE ARCHIVOS

Lo conforman todas aquellas rutinas encargadas de administrar todos los aspectos relacionados con el manejo de Archivos.

En UNIX se define un sistema de archivos como un sistema de software dedicado a la creación, destrucción, organización, 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.

En general, un Sistema de Archivos está compuesto por: Métodos de Acceso, Administración de Archivos, Administración de Almacenamiento Secundario, Mecanismos de Integridad.

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 ae Almacenamiento Secundario. • Se ocupa de asignar espacio para los archivos en los dispositivos de almacenamiento secundario. 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 así como lleva el control y asignación de tiempo de CPU a las diferentes peticiones de E/S.

5.4 ORGANIZACIÓ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 accedida. 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.

Organización de un sistema de archivos utilizando directorios

Organización lógica. 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.

Archivos secuenciales • Es la forma más común de estructura de archivos. • Se emplea un formato fijo para los registros, son de la misma longitud y constan del mismo número de campos de tamaño fijo con un orden determinado. • Se utilizan normalmente en aplicaciones de procesos por lotes, ya que es la única organización de archivos que se puede guardar tanto en cintas como en discos.

Archivos secuenciales indexados

Los registros se organizan en una secuencia basada en un campo clave presentando dos características, un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. El índice proporciona una capacidad de búsqueda para llagar rápidamente al registro deseado y el archivo de desbordamiento es similar al archivo de registros usado en un archivo secuencial, pero está integrado de forma que los archivos de desbordamiento se ubiquen siguiendo un puntero desde su registro predecesor.

Archivos directos o de dispersión • Explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida. • Se requiere un campo clave en cada registro. • Los archivos directos son muy usados donde se necesita un acceso muy rápido, donde se usan registros de longitud fija y donde siempre se accede a los registros de una vez.

Organización física. 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.

En este dispositivo el archivo físico esta formado por un conjunto de registros físicos, y los bloques están organizados en forma consecutiva, ya que se asigna en igual forma.

Discos Magnéticos.

El archivo físico en un disco es una colección de registros físicos de igual tamaño, los cuales pueden estar organizados en forma consecutiva, ligada o con una tabla de mapeo.

5.5 MECANISMOS DE ACCESO A LOS ARCHIVOS

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. • Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al almacenamiento primario al abrir el archivo. • Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al almacenamiento primario al abrir el archivo. • • • •

Nombre simbólico del archivo. Localización del archivo en el almacenamiento secundario. Organización del archivo Tipo (archivo de datos, programa objeto, programa fuente, etc.). • Fecha y tiempo de creación.

Mecanismo de control de acceso. Control de un sistema de información especializado en detectar los intentos 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.

5.6 MANEJO DE ESPACIO EN MEMORIA SECUNDARIA

A diferencia de la Memoria Principal la Memoria Secundaria , auxiliar, masiva, externa no es tan veloz pero tiene gran capacidad para almacenar información en dispositivos tales como discos, cintas magnéticas, discos ópticos. Frecuentemente los datos y programas se graban en la Memoria Secundaria , de esta forma, cuando se ejecuta varias veces un programa o se utilicen repetidamente unos datos, no es necesario darlos de nuevo a través del dispositivo de entrada.

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 bits. • El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada block es representado por un bit y si el bloc es libre el bit es cero de lo contrario está asignado. Lista ligada • Una lista ligada de todos los blocks libres. Otra implantación se consigue guardando la dirección del primer block libre y el número de los blocks libres contiguos que le siguen. Cada entrada de la lista de espacio libre consiste de una dirección de disco y un contador (por conteo).

Por agrupación • Se almacena la dirección en n blocks libres en el primer block libre y el último contiene la dirección de otro block que contiene la dirección de otros blocks libres.

5.7 MODELO JERÁRQUICO

Directorios El directorio contiene un conjunto de datos por cada archivo referenciado.

• Al abrir un archivo el sistema operativo: Busca en su directorio el nombre del archivo.

Extrae los atributos y direcciones en disco.

Graba esta información en una tabla de memoria real.

Todas las referencias subsecuentes al archivo utilizarán la información de la memoria principal.

El número y organización de directorios varía de sistema en sistema: Directorio único • El sistema tiene un solo directorio con todos los archivos de todos los usuarios.

Un directorio por usuario • El sistema habilita un solo directorio por cada usuario. Un árbol de directorios por usuario • El sistema permite que cada usuario tenga tantos directorios como necesite, respetando una jerarquía general.

5.8 MECANISMO DE RECUPERACIÓN EN CASO DE FALLA

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

Comprobación de coherencia El comprobador de coherencia (un programa del sistema tal como fsck en UNIX o chkdsk en MSDOS), compara los datos de la estructura de directorios con los bloques de datos del disco y trata de corregir todas las incoherencias que detecte.

Los algoritmos de asignación y de gestión del espacio libre dictan los tipos de problemas que el comprobador puede tratar de detectar y dictan también el grado de éxito que el comprobador puede tener en esta tarea. Por ejemplo, si se utiliza un sistema de asignación enlazada y existe un enlace entre cada bloque y el siguiente, puede reconstruirse el archivo completo a partir de los bloques de datos y volver a crear la estructura de directorios.

Por el contrario, la pérdida de una entrada de directorio en un sistema de asignación indexada puede ser desastrosa, porque los bloques de datos no tienen ningún conocimiento acerca de los demás bloques de datos del archivo. Por esta razón, UNIX almacena en caché las entradas de directorio para las lecturas, pero todas las escrituras de datos que provoquen algún cambio en la asignación de espacio o en algún otro tipo de metadato se realizan síncronamente, antes de escribir los correspondientes bloques de datos.

Por supuesto, también pueden aparecer problemas si se interrumpe una escritura síncrona debido a un fallo catastrófico.