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
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
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.
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:- 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:
VENTAJAS
- No produce fragmentación externa
- 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 extra para el apuntador
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: 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
No hay comentarios:
Publicar un comentario