Sistema de archivo
5.4 ORGANIZACIÓN LÓGICA Y FISICA
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.
Esta forma de organización se muestra
en la Fig. 5.4.1.
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
Fig. 5.4.2 Archivo de pilas:Registro de longitud
variable. Conjunto variable de campos. Orden cronologico.
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
Fig. 5.4.3 Archivo secuencial: Registro de longitud
fija. Conjunto fijo de campos en orden constante. Orden 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
Fig. 5.4.4 Archivo secuancial indexado.
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.
Cinta magnética.
Fig. 5.4.6 Cintas magnéticas
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.
Fig. 5.4.7 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.
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.
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á:
Fig. 5.4.8 Ejemplo de un vector de bits.
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.
Fig. 5.4.9 Ejemplo de una lista ligada
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.
Fig. 5.4.10 Ejemplo de asignación por agrupación.
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.
Fig. 5.4.11 Ejemplo de asignación por contador.
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:
Fig. 5.4.12 Ejemplo de asignación contigua.
VENTAJAS
|
DESVENTAJAS
|
- La cabeza de lectura no se mueve
demasiado en la lectura de un archivo.
|
- Produce fragmentación externa.
|
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:
Fig. 5.4.13 Ejemplo de asignación ligada
VENTAJAS
|
DESVENTAJAS
|
- No produce fragmentación externa.
|
|
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:
Fig. 5.4.14 Ejemplo de asignación indexada.
VENTAJAS
|
DESVENTAJAS
|
|
|
No hay comentarios:
Publicar un comentario