INDICE
4.1.- Introducción
4.2.- Concepto de archivo
4.2.1.- Archivo físico
4.2.2.-
Archivo lógico
4.3.- Componentes
de un sistema de archivos
4.4.- Organización lógica de
archivos
4.5.- Organización física de
archivos
4.6.- Administración del
espacio libre
4.6.1.- Vector de bits
4.6.2.-
Lista de llegada
4.6.3.-
Por agrupación
4.6.4.-
Por contador
4.7.- Métodos
de asignación de espacio
4.7.1.-Asignación contigua
4.7.2.-
Asignación ligada
4.7.3.-
Asignación indexada
4.7.4.-
Método FAT (MS-DOS)
4.7.5.-
Método VFAT (Windows '95)
UNIDAD IV.
ADMINISTRACION DE ARCHIVOS
Un Archivo es un
conjunto de elementos de información relacionados entre si y que fueron
definidos por su creador. Por lo general, los archivos representan datos y
programas. Un archivo de datos puede ser numérico, alfabético o binario. Los
archivos pueden ser de formato libre, como los archivos de texto, o pueden
estar rigurosamente formateados. En general, un archivo es una secuencia de
bits, bytes, líneas o registros cuyo significado es
definido por el creador del archivo y por el usuario.
Un archivo se puede manipular
como una unidad mediante operaciones tales como abrir, cerrar, crear, destruir,
copiar, renombrar y listar. Los elementos de información individuales que
conforman un archivo se pueden manipular con acciones tales como leer,
escribir, modificar y eliminar.
De acuerdo a las
características y tipo de trabajo que se realicen sobre los archivos, estos
pueden caracterizarse por su: Volatilidad, Actividad y Tamaño.
VOLATILIDAD.
Se refiere a la frecuencia con
la que se inserta o elimina información.
ACTIVIDAD.
Se refiere al porcentaje de los
elementos de información de un archivo al que se tuvo acceso en un periodo de
tiempo dado.
TAMAÑO.
Se refiere a la cantidad de
información que conforma el archivo.
La información vista desde la
perspectiva de hardware. Por ejemplo, el archivo 1 está formado por los
sectores 3, 10 y 15 del archivo. Otro ejemplo: el archivo X es la secuencia de bytes localizados en
Son datos cuyo significado esta
definido por el usuario. Ejemplo, el archivo Y es la información de 1000
artículos, cada uno con su código, descripción y precio. Generalmente, un
archivo lógico se representa de manera tabular.
EL SISTEMA DE ARCHIVOS DE UN
SISTEMA OPERATIVO.
Lo conforman todas aquellas
rutinas encargadas de administrar todos los aspectos relacionados con el manejo
de Archivos.
COMPONENTES DEL SISTEMA DE ARCHIVOS.
En general, un Sistema de
Archivos está compuesto por: Métodos De Acceso, Administración De
Archivos, Administración De Almacenamiento Secundario, Mecanismos De
Integridad.
Métodos De Acceso. Se ocupan de la manera en que se tendrá
acceso a la información almacenada en el archivo. Ejemplo: Secuencial, Directo,
indexado, etc.
Administración De
Archivos. Se ocupa
de ofrecer los mecanismos para almacenar, compartir y asegurar archivos, así
como para hacer referencia a ellos.
Administración De
Almacenamiento Secundario. Se ocupa de asignar espacio para los archivos en los
dispositivos de almacenamiento secundario.
Mecanismos De Integridad. Se ocupan de garantizar que no se
corrompa la información de un archivo, de tal manera que solo la información
que deba estar en el, se encuentre ahí.
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.
DE ARCHIVOS LOGICOS. Contempla la organización desde el punto de vista lógico. Por
ejemplo, secuencial, directo, etc.
DE ARCHIVOS FISICOS. Contempla la administración de archivos desde la perspectiva
física, particularmente la organización del almacenamiento en disco a nivel de
pistas y sectores.
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.
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á:
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.
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.
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.
Este método consiste en asignar
el espacio en disco de tal manera que las direcciones de todos los bloques
correspondientes a un archivo definen un orden lineal. Por ejemplo:
VENTAJAS |
DESVENTAJAS |
- La cabeza
de lectura no se mueve demasiado en la lectura de un archivo. |
- 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 |
DESVENTAJAS |
- No produce
fragmentación externa. |
|
Como ya se vio, la asignación
ligada resuelve problemas de fragmentación externa, sin embargo, la asignació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 |
DESVENTAJAS |
|
|
Un aspecto
importante de cualquier Sistema Operativo es la manera de gestionar los
archivos. En el antiguo MS-DOS, la gestión de los archivos era casi todo lo que
hacía el Sistema Operativo, esencialmente cuando se ejecutaba Windows de 16
bits sobre él. Windows de 16 bits se ocupaba de todo a excepción de la
manipulación de los discos fijos y flexibles, que los dejaba para MS-DOS.
El objetivo
de la FAT es el de asignar espacio en disco para archivos. Esta contiene una
entrada para cada grupo que está en el disco. Cada grupo que está en el disco.
Cada grupo es un conjunto de sectores.
Al querer
crear un archivo o revisar uno existente, el sistema operativo revisa las
entradas que están asociadas a la FAT de acuerdo con la ubicación del archivo.
Despues de la version 3, la
entrada depende del numero de cluster, o sea, que si
excede de 4096 bytes se utilizarán 16 bits para el
direccionamiento.
El area de sistema tiene 3 componentes: Registro de
arranque, FAT y directorio. La tabla tiene una captacion por bloque, ésta define cuantos bloques tiene el
primer archivo. Esta ranura de la FAT contiene el número de bloque del
siguiente bloque.
La VFAT emplea la misma técnica
que la FAT, a diferencia de que la VFAT la implementa Windows '95 con
direccionamiento a 32 bits. En sí éste módulo de 32 bits está escrito en codigo reentrante, lo que permite
que multiples hebras concurrentes ejecuten el código
del sistema de archivos.