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 una
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:
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 auto descriptivo, 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.
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 continuo en el archivo de desbordamiento hasta que
encuentra un puntero nulo entonces renueva el acceso donde se abandonó en el
archivo principal.
Archivos indexados
A los
registros se accede solo a través de sus índices. No hay restricció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.
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.
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.
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 Agrupación y por
Contador.
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 representación
será:
LISTA
LIGADA
Existe
una cabecera en
la que se tiene la dirección del primer sector vacío, 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 vacíos, al final de cada bloque se tiene un
apuntador a otro grupo de apuntadores, observe la figura.
POR
CONTADOR
Aquí,
por cada conjunto de bloques contiguos que estén vacíos, se tiene por cada
apuntador, un número de inicio y el tamaño del grupo de sectores vacíos.
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.
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:
VENTAJAS
- La cabeza de lectura no se mueve demasiado en la lectura de un archivo
DESVENTAJAS
- Produce fragmentación externa
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:
VENTAJAS
- No produce fragmentación externa
DESVENTAJAS
- La cabeza de lectura se puede mover demasiado en la lectura de un archivo.
- Si una liga se pierde, se perderá el archivo completo.
- Es ineficiente para la implementación de archivos directos.
- Se
necesita un campo extr
a para el apuntador
Como
ya se vio, la asignación ligada resuelve problemas de fragmentación externa,
sin embargo, reasignació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-pésima entrada
en el bloque índice apunta al i-pésimo bloque que conforma el archivo.
En el directorio se controla la dirección del bloque índice de cada archivo,
por ejemplo:
VENTAJAS
- No produce fragmentación externa.
- Eficiente para la implementación de archivos directos
DESVENTAJAS
- Existe desperdicio cuando hay archivos muy chicos.
- Desbordamiento de bloque índice. (Solución: creación de un esquema ligado; el ultimo bloque índice apunta a otro índice
No hay comentarios.:
Publicar un comentario