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 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.
Fig. 5.4.1 Organización de un sistema de archivos utilizando
directorios.
El sistema de archivos está relacionado especialmente con la
administración del espacio de almacenamiento secundario, fundamentalmente con
el almacenamiento de disco.
Una forma de organización de un sistema de archivos puede ser la
siguiente:
Se utiliza una “raíz ” para indicar en qué parte del
disco comienza el “directorio raíz ” .
El “directorio raíz ” apunta a los “directorios
de usuarios”.
Un “directorio de usuario” contiene una entrada para
cada uno de los archivos del usuario.
Cada entrada de archivo apunta al lugar del disco donde está
almacenado el archivo referenciado.
Los nombres de archivos solo necesitan ser únicos dentro de un
directorio de usuario dado.
El nombre del sistema para un archivo dado debe ser único para
el sistema de archivos.
En sistemas de archivo “jerárquicos” el nombre del
sistema para un archivo suele estar formado como el “nombre de la
trayectoria” del directorio raíz al archivo.
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.
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.
Archivos secuenciales
secuencial por el campo clave.
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 necesita almacenar los valores de cada campo; el nombre del
campo y la longitud de cada uno son atributos de la estructura del archivo.
Cada registro tiene un campo clave que lo identifica (generalmente es el
primero de cada registro). Los registros se almacenan en secuencia por la
clave.
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.
Para las aplicaciones interactivas que incluyen peticiones o
actualizaciones de registros individuales, los archivos secuenciales no son
óptimos. El acceso requiere una búsqueda secuencial de correspondencias con
la clave. Si el archivo entero o gran parte de él pueden traerse a la memoria
principal de una sola vez, se podrán aplicar técnicas de búsquedas más
eficientes. Al acceder un registro de un archivo secuencial grande, se
produce un procesamiento extra y un retardo considerable.
La organización física del archivo en una cinta o disco se
corresponde exactamente con la organización lógica del archivo, por lo tanto
el procedimiento habitual es ubicar los nuevos registros en un archivo de
pila separado, es llamado archivo de registro o archivo de transacciones .
Una alternativa es organizar físicamente el archivo secuencial
como una lista enlazada, en cada bloque físico se almacena uno o más
registros y cada bloque del disco contiene un puntero al bloque siguiente. La
inserción de un nuevo registro implica la manipulación de puntero, pero no
requiere que el nuevo registro ocupe una posición particular del bloque
físico.
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.
La estructura más simple tiene como índice un archivo secuencial
simple, cada registro del archivo índice tiene dos campos, un campo clave
igual al del archivo principal y un puntero al archivo principal. Para
encontrar un campo especifico se busca en el índice hasta encontrar el valor
mayor de la clave que es iguale o precede al valor deseado de la clave, la
búsqueda continua en el archivo principal a partir de la posición que indique
el puntero.
Cada registro del archivo principal tiene un campo adicional que
es un puntero al archivo de desbordamiento. Cuando se inserta un nuevo
registro al archivo, también se añade al archivo de desbordamiento. El
registro del archivo principal que precede inmediatamente al nuevo registro
según la secuencia lógica se actualiza con un puntero del registro nuevo en
el archivo de desbordamiento, si el registro inmediatamente anterior está
también en el archivo de desbordamiento se actualizará el puntero en el
registro.
Para procesar secuencialmente un archivo completo los registros
del archivo principal se procesarán en secuencia hasta encontrar un puntero
al archivo de desbordamiento, el acceso continua en el archivo de
desbordamiento hasta que encuentra un puntero nulo, entonces renueva el
acceso donde se abandonó en el archivo principal.
Archivos indexados
Fig. 5.4.5 Archivo indexado.
A los registros se accede solo a través de sus índices. No hay
resticción en la ubicación de los registros, al menos un índice contiene un
puntero a cada registro y pueden emplearse registros de longitud variable.
Se suelen utilizar dos tipos de índices, uno exhaustivo que
contiene una entrada para cada registro del archivo principal y se organiza
como un archivo secuencial para facilitar la búsqueda, el otro índice es
parcial que contiene entrada a los registros donde esté el campo de interés.
Con registro de longitud variable, algunos registros no
contendrán todos los campos y cuando se añade un registro al archivo
principal, todos los archivos de índices deben actualizarse.
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.
Además tales registros puede contener etiquetas que permitan un
mayor control sobre los datos almacenados, y son las siguientes:
- Etiqueta de volumen.- Contiene información que permite
identificar la cinta, el nombre del propietario y cualquier información
general requerida.
- Etiqueta de archivo.- Se utilizan por pares para indicar el
inicio y fin del archivo, contiene información acerca del nombre del archivo,
fecha de creación.
- Etiqueta de usuario.- Sirven para guardar información
adicional de importancia para el usuario; no son procesados por el sistema
operativo.
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.
En la organización contigua, el archivo utiliza registros físicos contiguos, siguiendo la secuencia normal de direcciones.
La organización encadenada consiste un conjunto de bloques, cada
uno de los cuales tiene un campo destinado para indicar la dirección del
siguiente registro, o sea, para lo que se ha llamado enlace o liga.
Otra forma de organización es la tabla de mapeo que consiste en
una tabla de apuntadores a los registros físicos que forman el archivo.
La organización física de un archivo en el almacenamiento
secundario depende de la estrategia de agrupación y de la estrategia de
asignación de archivos.
Para elegir una organización de archivos se deben tener en cuenta
ciertos criterios:
Si un archivo va a procesar solamente por lotes, accediendo cada
vez a todos los registros, entonces el acceso rápido para la
recuperación de un único registro es una preocupación mínima. Un archivo
almacenado en CD-ROM nunca será actualizado, por lo que la facilidad de
actualización no se considera. Para la economía de
almacenamiento , debería existir una mínima redundancia de los datos,
ésta redundancia es el medio fundamental para incrementar la velocidad de acceso
a los datos.
Este tipo de organización muestra a su vez, 2 aspectos
importantes: Métodos De Asignación De Espacio Libre y Asignación De
Espacio De Almacenamiento Del Archivo.
METODOS DE ASIGNACION DE ESPACIO LIBRE
Un método de asignación de espacio libre determina la manera en
que un Sistema Operativo controla los lugares del disco que no están siendo
ocupados.
Para el control del espacio libre se puede utilizar como base alguno de los métodos teóricos: Vector de Bits, Lista Ligada, Por Agrupacion y por Contador.
VECTOR DE BITS
Se tiene un arreglo de bits, el número de bits que tiene,
representa cada sector del disco, o sea que si los sectores 10 y 11 están
ocupados su representacion será:
LISTA LIGADA
Existe una cabeceraen la que se tiene la direccion del primer
sector vacio, ese sector a su vez, tiene un apuntador al siguiente bloque, y
así sucesivamente hasta que se encuentre una marca indicando que ya no hay
espacio libre, tal y como se muestra en la siguiente figura.
POR AGRUPACION
Es similar a la lista ligada, solo que en este se tiene por cada
sector, un grupo de apuntadores a varios espacios vacios, al final de cada
bloque se tiene un apuntador a otro grupo de apuntadores, observe la figura.
POR CONTADOR
Aqui, por cada conjunto de bloques contiguos que estén vacios,
se tiene por cada apuntador, un número de inicio y el tamaño del grupo de
sectores vacios.
MÉTODOS DE ASIGNACIÓN DE ESPACIO EN DISCO.
Un método de asignación de espacio en disco determina la manera
en que un Sistema Operativo controla los lugares del disco ocupados por cada
archivo de datos. Se debe controlar básicamente la identificación del
archivo, sector de inicio y sector final.
Para el control del espacio ocupado en disco se puede utilizar
como base alguno de los métodos teóricos: Asignación Contigua,
Asignación Ligada, Asignación Indexada.
ASIGNACIÓN CONTIGUA.
Este método consiste en asignar el espacio en disco de tal
manera que las direcciones de todos losbloques correspondientes a un archivo
definen un orden lineal. Por ejemplo:
ASIGNACIÓN LIGADA
En este método, cada archivo es una lista ligada de bloques de
disco. En el directorio hay un apuntador al bloque de inicio y un apuntador
al bloque final para cada archivo. En cada uno de los bloques donde se
encuentra un archivo hay un apuntador al siguiente bloque de la lista. Por
ejemplo:
ASIGNACIÓN INDEXADA
Como ya se vio, la asignación ligada resuelve problemas de
fragmentación externa, sin embargo, laasignación ligada no soporta
eficientemente el acceso directo a los archivos. La asignación indexada
resuelve este problema poniendo todos los apuntadores en una sola
localidad: El bloque índice .
Cada archivo tiene su bloque índice, El cual es un arreglo de
direcciones de bloques de disco.
La i-ésima entrada en el bloque índice apunta
al i-ésimo bloque que conforma el archivo. En el directorio se
controla la dirección del bloque índice de cada archivo, por ejemplo:
|

No hay comentarios.:
Publicar un comentario