Site hosted by Angelfire.com: Build your free website today!

11. GESTIÓN DE ARCHIVOS.

 

SISTEMAS DE GESTIÓN DE ARCHIVOS

 

Un sistema de gestión de archivos (o File Management System) es aquel sistema software que proporciona a los usuarios y aplicaciones unos servicios relativos al empleo de archivos. Normalmente, la única forma en que un usuario o aplicación puede acceder a los archivos es mediante el sistema de gestión de archivos.

       Los objetivos para un sistema de gestión de archivos son:

-          Cumplir con los requerimientos del usuario y lo que pida el manejo de datos, que incluye almacenamiento de datos y manejo de operaciones.

-          Validación de los datos del archivo.

-          Optimizar la performance, no causando problemas al sistema y responder en buen tiempo al usuario.

-          Proveer soporte de I/O a todos los tipos de dispositivos de almacenamiento.

-          Minimizar las posibilidades de daño o pérdida de un archivo.

-          Proveer un set de rutinas de interface de I/O estandarizadas.

-          En el caso de sistemas de múltiples usuarios, proveer soporte para varias I/O.

-           

Sistemas basados en Cinta

 

       Los primeros sistemas de archivo fueron soportados en cinta. Su ventaja es la simplicidad, pero sufre de una cierta ineficiencia, ya que las cintas son bastantes largas. Se ha demostrado que la mayoría de los archivos generados por aplicaciones son relativamente pequeños.

       Con archivos muy grandes, se necesitan varias cintas. La mayoría de los sistemas soportaban archivos en cinta multi-volúmenes o multi-reel. Surge, sin embargo, el problema de saber que archivos residen en una cinta. Para esto se agrega un directorio a la cinta. En IBM, una cinta es llamada volumen y el directorio, Volume Table Of Contend (VTOC). El directorio lista el nombre y locación de cada archivo en cinta. Este concepto también se usa en los Discos. Ahora, el fin-de-archivo (EOF End of File) no coincide con el fin-de-cinta (EOT End of Tape).

       Existen también otras dificultades, por ejemplo, el excesivo consumo de tiempo cuando un programa lee alternadamente líneas desde 2 archivos en la misma cinta, o efectúa una copia de un archivo en otra cinta para ser leída en otra unidad. Esto obliga esperar bastante tiempo por el rebobinado y el avance de la cinta.  Otro problema es para reescribir la información de un archivo, para ello se debe procesar todos los datos que contiene el resto de la cinta en Memoria Central y luego Grabar nuevamente la Cinta y modificar el directorio que usualmente está al comienzo de la cinta con el consiguiente rebobinado y retardo en el tiempo.

 

 

 

 

Sistemas basados en Disco

 

       Un disco se divide en pista, cuyo número varía de dispositivo a dispositivo. Cada pista se divide en sectores. El sector es la más pequeña unidad de información que puede ser leída o escrita en un disco.

       Dependiendo de la unidad, los sectores varían de 512 bytes a 1024; de 9 a 65 sectores por pista y desde 75 a 3000 pistas por cada superficie. Los sistemas más grandes pueden tener varios platos de disco (cada plato con 2 superficies: superior e inferior). Para acceder a un sector se debe especificar la pista (cilindro), la superficie o cara (Cabeza Lectora/Escritora) y el sector. Estos elementos constituyen la dirección en el soporte (cylinder, head, sector). Las cabezas se mueven a un lugar determinado (seek time) y a la superficie correcta; luego debe esperar para que el sector pedido llegue a pasar debajo de la cabeza (latencia rotacional). Un cilindro es un conjunto de pistas que están en la misma posición en el disco, pero en diferentes platos. No se necesita ninguna búsqueda para acceder a pistas del mismo cilindro.

       El direccionamiento de un sector en particular requiere un número de pista, de superficie y de sector, por lo que podemos considerar como un arreglo tridimensional en un disco. Comúnmente el S.O., trata al disco como a un arreglo unidimensional de bloques de disco, donde cada bloque contiene uno o más sectores. Típicamente, las direcciones de un bloque se incrementan a partir de todos los sectores de un cilindro, luego todas las pistas de un cilindro y finalmente desde cilindro 0 al último del disco. Siendo ns el número de sectores por pista, np el número de pistas por cilindro, c el cilindro, h la superficie, s el sector y b, el bloque unidimensional mencionado, podemos decir que se relacionan con la siguiente fórmula:

            b = s + ns * (h + c * np)