1) File
Management
1.1.
1.2. Files
1.3) Sistemas de
Gestión de Archivos (File Management
Sytems)
1.4) Arquitectura de los sistemas de
Archivos
( File System Architecture)
1.5) Funciones de la
gestión de archivos (File management
Functions)
2) Organización y acceso a archivos
(File organizittion and access)
2.1) Pilas
2.2) Archivos Secuenciales
2.3) Archivos
Secuenciales indexados
2.4) Archivos
Indexados
2.5) Archivos
Directos o de Dispersión
3) Directorios de
Archivo
3.1) Estructura
3.2) Designación
(Naming)
4) El Compartir Archivos ( File
Sharing)
5) Agrupación de Registros
(Record Blocking)
6) Gestión del
Almacenamiento secundario (Secondary Storage
Management)
6.1) Asignación de
Archivos
7) Gestión del Espacio
Libre
8) Fiabilidad
9) Acronimos
10) Bibliografia
1) File
Management
1.1.Objetivos
Tratar las estructuras y
principales características de los sistemas de
archivos.
1.2. Files
1
- Un campo (Field) es el elemento de
datos
básico. Un campo individual contiene un valor
único. Esta caracterizado por su longitud y por el tipo
de datos.
Dependiendo del diseño del archivo, los
campos pueden ser de tamaño fijo o variable. Un campo
pueden contener un subcampo. - Registro (Record) es una
colección de campos relacionados que pueden tratarse
como una única unidad por un programa de
aplicación. Por ejemplo:, un registro de
empleados va contener campos como nombre, numero de seguridad
social, etc.
También dependiendo del diseño, los registros
pueden ser de longitud fija o de longitud variable. Un registro
va a tener una longitud variable si algunos de los campos son
de tamaños variables o
si el numero de campos es variable. Cada campo tiene un nombre
de campo.
- Archivo (File) es una colección
de registros
similares. El archivo es tratado como una entidad individual
por los usuarios y las aplicaciones y puede ser referenciada
por el nombre. Los archivos tienen
nombres únicos y pueden crearse y borrarse. En un
sistema
compartido, los usuarios y los programas
tienen garantizado o denegado el acceso a archivos completos.
En algunos sistemas
más complejos, dicho control se
aplica a los registros o a los campos. - Base de datos(database) es una
colección de datos relacionados. El aspecto esencial de
la base de datos
es que la relación que existe entre los elementos de
datos es explícita y la base de datos es diseñada
para usarse en un numero diferente de aplicaciones. Una base de
datos puede contener toda la información relacionado a una organización o proyecto, corno
un estudio de
mercado o científico. La base de datos consiste en
uno o más tipos de archivos.
Los usuarios y aplicaciones desean usar los archivos.
Las operaciones
típicas que deben soportarse incluyen las
siguientes:
- Recuperar Todo ( Retrieve_all): Recuperar
todos los registros de un archivo. Esto va a requerir de una
aplicación que deba procesar toda la información de un archivo una vez.. Esta
opcion es usualmente equivalente con el termino de sequential
proccessing, ( proceso
secuencial), porque todos los registros son accedidos en
secuencia. - Recuperar_Uno (Retrieve_One): Esta operacion
requiere la recuperación de un solo un registro.
Las
soluciones
interactivas orientadas a la transacción necesitan esta
operación.
- Recuperar_siguiente (Retrieve_Next): Esta
operación implica la recuperación del registro
que es el siguiente ,según una secuencia lógica, el recuperado hace menos tiempo. Un
programa que
realice búsquedas puede usar también esta
operación. - Recuperar Previo (Retrieve_Previous): Es
similar a Recuperar Siguiente, pero en este caso el registro
que es "previo" al que se esta accediendo en el momento
actual. - Insertar Uno (Insert One): Inserta un nuevo
registro dentro del archivo. Es necesario que el nuevo registro
se ajuste a una posición particular para preservar la
secuencia del archivo. - Borrar uno (Delete One): Borra un registro
existente. Ciertos enlaces o otras estructuras
puede que necesiten actualizarse para preservar la
secuencia del archivo.
- Actualizar Uno ( Update_one): Recupera un
registro o actualiza uno o más de sus campos, y rescribe
la actualización en el archivo. Es necesario preservar
la secuencia con esta operación. Sí el
tamaño del registro esta cambiado, la operación
de actualización es más difícil si el
tamaño es preservado. - Recuperar Varios (Retrieve_ Few): Recupero
un numero de registros.
- Recuperar Varios (Retrieve_ Few): Recupero
La naturaleza de las
operaciones
que comúnmente se ejecutan. sobre un archivo va a
influenciar sobre el modo en que se va a organizar el
mismo.
1.3) Sistemas de Gestión
de Archivos (File Management Sytems)
Un sistema de
gestión
de archivos es aquel sistema software que provee servicios a
los usuarios y aplicaciones en el uso de archivos. El
único camino que tiene el usuario o la aplicación
tiene para acceder a los archivos es a través de un
sistema de gestión de archivos. Esto revela para el
usuario o programador la necesidad de desarrollar software de propósito
especial para cada aplicación y provee al sistema un medio
de controlar su ventaja más importante.
Estos son los objetivos de
un sistema de gestión de archivos:
- Cumplir con las necesidades de gestión de
datos y con los requisitos del usuario, que incluye el almacenamiento de, datos y la capacidad de
ejecutar las operaciones en la lista precedente. - Garantizar, en la medida de lo posible, que el dato
en el archivo es valido. - Optimizar el rendimiento, ambos desde el punto de
vista del sistema en términos de productividad
global, y como punto de vista del usuario en tiempos de
respuesta. - Para proveer soporte de E/S para una variedad de
tipos de dispositivos de
almacenamiento. - Para minimizar o eliminar la posibilidad de perdida o
destrucción de datos. - Para proveer un conjunto estándar de rutinas
de E/S. - Para proveer soporte de E/S para múltiples
usuarios, en caso de sistemas multiusuarios.
1.4) Arquitectura de los sistemas de
Archivos
Un camino para hacerse una idea del alcance de la
gestión de archivos es de mirar una representación
típica de la
organización del software, como se muestra en la
figura de abajo:
Diferentes sistemas van a tener diferente organizaciones
pero estas organizaciones
son razonablemente representativas. A un nivel mas bajo los
manejadores de dispositivos (device drivers) se comunican
directamente con los dispositivos de periféricos o con sus canales o
controladores. Un controlador de
dispositivos es responsable de iniciar las operaciones
de E/S en un dispositivo y procesar la terminación de una
petición de E/S. Para operaciones de archivos, el
controlador típico de dispositivos son discos y unidades
de cinta. Los manejadores de los dispositivos son usualmente
considerados como parte del sistema
operativo.
El próximo nivel esta referido con el nombre de
sistema de archivos básicos ( basic file system), o nivel
de E/S física
( physical I/O) . Esta es la interfase primaria con el ambiente fuera
del sistema de la
computadora. Este nivel trata con bloques de datos que son
intercambiados con sistemas de disco o cinta. De este modo. se
preocupa de ubicar dichos bloques en el dispositivo de almacenamiento
secundario y del almacenamiento intermedio de los mismos en
memoria
principal. Este nivel no comprenderá el contenido de los
datos o la estructura de
los archivos implicados. El sistema de archivos básicos es
usualmente considerado como parte del sistema
operativo.
El supervisor básico de E/S (Basic I/O
supervisor) es el responsable de la iniciación y
terminación de todas las E/S con archivos. En este nivel,
hay unas estructuras de
control que se
encargan de la entrada y de salida con los dispositivos la
planificación y el estado de
los archivos. El supervisor básico de E/S se encarga de
seleccionar el dispositivo donde se va a realizar la E/S con los
archivos dependiendo del archivo seleccionado. También se
encarga de la planificación de los accesos a disco y
cinta para optimizar el rendimiento. En este nivel se asignan los
buffers de E/S y se reserva la memoria
secundaria. El supervisor básico de E/S es parte del
sistema operativo.
La E/S lógica
habilita a los usuarios y aplicaciones de acceder a registros.
Así mientras el sistema de archivos básico trabaja
con bloques de datos. el modulo lógico de E/S trabaja con
el archivo de registros. La E/S lógica provee una
capacidad de E/S de registro de propósito general y
mantiene los datos básicos acerca de los
archivos.
El nivel del sistema de archivo mas cercano de usuario
es usualmente el método de
acceso (access method).
Provee una interfase estándar entre aplicaciones y los
archivos del sistema a dispositivos que guarden datos. Los
diferentes métodos de
acceso reflejan los diferentes estructuras de datos y diferentes
maneras de acceder y procesar el dato.
1.5) Funciones de la gestión de archivos (File
management Functions)
Los usuarios y las aplicaciones interactúan con
el sistema de archivos mediante comandos para
crear y borrar archivos y realizar operaciones sobre los
archivos. Antes de ejecutar alguna operación, los archivos
del sistema deben identificar y localizar el archivo
seleccionado. Esto requiere el uso de alguna clase de directorio
que es reservado para describir la localización de todos
los archivos, mas sus atributos. Además , la
mayoría de los sistemas compartidos aplican algún
control de acceso a los usuarios: solamente los usuarios
autorizados están permitidos para acceder a archivos
particulares en determinados lugares. Las operaciones
básicas que el usuario o el programa puede ejecutar sobre
un archivo se puede realizar a nivel de registro. El usuario o la
aplicación ve el archivo con una estructura
que organiza los registros, como una estructura
secuencial. De este modo, para traducir las ordenes del usuario a
ordenes específicas de manipulación de archivos.,
debe emplearse el método de
acceso apropiado para esta estructura de archivo.
2) Organización y acceso a archivos (File
organizittion and access)
En esta parte vamos a usar el termino organización de archivos para referirnos a
la estructura lógica de los registros determinada por la
manera en que se accede a ellos. La
organización fisica del archivo en almacenamiento
secundario depende de la estrategia de
agrupación y de la estrategia de
asignación de archivos.
Para seleccionar una organización de archivos hay
diversos criterios que son importantes:
- Acceso Rápido para recuperar la
información - Fácil actualización
- Economia de almacenamiento
- Mantenimiento simple.
- Fiabilidad para asegurar la confianza de los
datos.
La prioridad relativa de estos criterios va a depender
de las aplicaciones que va a usar el archivo.
El numero de alternativas de organización de
archivos que se han implementado o propuesto es
inmanejable,
incluso para un libro dedicado
a los sistemas de archivos.
La mayor parte de las estructuras empleadas en los
sistemas reales se encuadran en una de estas categorias
o
puede implementarse como una combinación de
estas:
- Pilas (The pile)
- Archivos secuenciales (sequential file)
- Archivos Secuenciales indexados. (indexed sequential
file) - Archivos indexados.(indexed file)
- Archivos directos o de dispersión (direct, or
hashed, file).
2.1) Pilas
La forma menos complicada de organización de
archivos puede denominarse la pila. Los datos se recolectan en el
orden en que llegan. Cada registro consiste en una ráfaga
de datos. El propósito de la pila es simplemente acumular
la masa de datos y guardarlo.
Como no hay estructura para el archivo de la pila. el
acceso a registro es por búsqueda exhaustiva..Si se quiere
todos los registros que contienen un campo particular o que
tienen un valor
determinado para ese campo, debe buscarse en el archivo
entero.
Los archivos de pilas se aplican
cuando los datos se recogen y almacenan antes de procesarlos o
cuando no son fáciles de organizar. Este tipo de archivo
usa bien el espacio cuando los datos almacenados varían en
tamaño y en estructuras. Este tipo de archivos no se
adapta a la mayoría de las aplicaciones.
2.2) Archivos Secuenciales
La forma mas común de estructura de archivo es el
archivo secuencial. En este tipo de archivo, un formato fijo es
usado para los registros. Todos los registros tienen el mismo
tamaño, constan del mismo numero de campos de
tamaño fijo en un orden particular. Como se conocen la
longitud y la posición de cada campo, solamente los valores de
los campos se necesitan almacenarse; el nombre del campo y
longitud de cada campo son atributos de la estructura de
archivos.
Un campo particular, generalmente el primero de cada
registro se conoce como el campo clave. El campo clave identifica
unívocamente al registro. así, los valores de la
clave para registros diferentes son siempre
diferentes.
Los archivos secuenciales son típicamente
utilizados en aplicaciones de proceso de
lotes Y son óptimos para dichas aplicaciones si se
procesan todos los registros. La organización secuencias
de archivos es la única que es fácil de usar tanto
en disco como en cinta.
Para las aplicaciones interactivas que incluyen
peticione s o actualizaciones de registros individuales, los
archivos secuenciales ofrecen un rendimiento pobre.
Normalmente un archivo secuencial se almacena en
bloques, en un orden secuencial simple de los registros. La
organización física del archivo en
una cinta o disco se corresponde exactamente con la
ubicación lógica del archivo. En este caso, el
procedimiento
para ubicar los nuevos registros en un archivo de pila separado,
llamado archivo de registro (log file) o archivo de
transacciones. Periódicamente, se realiza una
actualización por lotes
que mezcla el archivo de registro con el archivo maestro
para producir un nuevo archivo en secuencia correcta de
claves.
2.3) Archivos Secuenciales indexados
Un método popular para superar las desventajas de
los archivos secuenciales es el del archivo secuencias indexado.
El archivo secuencial indexado mantiene las caracteristicas
básicas de los archivos secuenciales: los registros
están organizados en una secuencia basada en un campo. Dos
características se añaden: un
índice del archivo para soportar los accesos aleatorios y
un archivo de desbordamiento ( overflow ). El indice provee una
capacidad de búsqueda para llegar rapidamente a las
proximidades de un registro deseado. El archivo de desbordamiento
(overflow) es similar al archivo de registro usado en un archivo
secuencial, pero esta intregrado de forma que los registros del
archivo de desbordamiento se ubican en la dirección de un puntero desde si registro
precedente. En la estructura secuencial indexada mas simple, se
usa un solo nivel de indexacion. El indice, en este caso, es un
archivo secuencial simple. Cada registro del archivo indice tiene
dos campos: un campo clave, que es el mismo que el campo clave
del archivo principal y un puntero al archivo principal. Para
encontrar un campo especifico se busca en el indice hasta
encontrar el valor mayor de la clave que es igual o precede al
valor deseado de la clave. La busqueda continua en el archivo
principal a partir de la posición indicada por el
puntero.
2.4) Archivos Indexados
Los archivos secuenciales indexados retienen la
limitación del archivo secuencial: la eficacia en el
procesamiento se limita al basado en un único campo del
archivo. Cuando es necesario buscar un registro basándose
en algún otro atributo distinto del campo clave ambas
formas de archivo secuencial no son adecuadas. En algunas
aplicaciones esta flexibilidad es deseable.
Para alcanzar esta flexibilidad, se necesita una estructura que
utilice múltiples índices, uno para cada tipo de
campo que pueda ser objeto de la búsqueda.
Se suelen utilizar dos tipos de índices. Uno indice
exhaustivo contiene una entrada par cada registro del archivo
principal. Otro índice parcial contendrá entradas a
los registros donde este el campo de interés.
Con registros de longitud variable, algunos registros no
contendran todos los campos.
Los archivos indexados son muy utilizados en aplicaciones donde
es critica la oportunidad de la informacion y donde los datos son
rara vez procesados de forma exhaustiva.
2.5) Archivos Directos o de
Dispersión
Los archivos directos explotan la capacidad de los
discos para acceder directamente a cualquier bloque de dirección conocida. Como en los archivos
secuenciales y secuenciales indexados, se requiere un campo clave
en cada registro. Sin embargo, aquí no hay concepto de
ordenamiento secuencial.
Página siguiente |