Monografias | Sistemas de archivosSistemas de archivosResumen: File Management. Objetivos. File. Sistemas de Gestión de Archivos (File Management Sytems). Arquitectura de los sistemas de Archivos (File System Architecture). Funciones de la gestión de archivos (File management Functions). Organización y acceso a archivos (File organizittion and access). Pilas. Archivos Secuenciales. Archivos Secuenciales indexados. Archivos Indexados. Archivos Directos o de Dispersión. Directorios de Archivo. Estructura. Designación (Naming). El Compartir Archivos ( File Sharing). Agrupación de Registros (Record Blocking). Gestión del Almacenamiento secundario (Secondary Storage Management). Asignación de Archivos. Gestión del Espacio Libre. Fiabilidad. Acronimos. Índice 1)
File Management 1.1.Objetivos 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) FileManagement 1.1.Objetivos Tratar las
estructuras y principales características de los sistemas dearchivos. 1.2.
Files 1 (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. 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. 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. 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ípicasque
deben soportarse incluyen las siguientes: 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.
Esta
operacion requiere la recuperación de un solo un registro. Las soluciones
interactivas orientadas a la transacción necesitan esta operación. 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. Es
similar a Recuperar Siguiente, pero en este caso el registro que es
"previo" al que se esta accediendo en el momento actual.
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.
Borra
un registro existente. Ciertos enlaces o otras estructuras 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. Recupero
un numero de registros. La
naturaleza de las operaciones que comúnmente se ejecutan. sobre unarchivo va a
influenciar sobre el modo en que se va a organizar el mismo. 1.3)
Sistemasde Gestión de Archivos (File Management Sytems) Un
sistema de gestión de archivos es aquel sistema software que proveeservicios a
los usuarios y aplicaciones en el uso de archivos. El único caminoque tiene el
usuario o la aplicación tiene para acceder a los archivos es através de un
sistema de gestión de archivos. Esto revela para el usuario oprogramador la
necesidad de desarrollar software de propósito especial paracada aplicación y
provee al sistema un medio de controlar su ventaja másimportante. Estos
son los objetivos de un sistema de gestión de archivos: 1.4)
Arquitecturade los sistemas de Archivos (
File SystemArchitecture) Un
camino para hacerse una idea del alcance de la gestión de archivos es demirar
una representación típica de la organización del software, como semuestra en
la figura de abajo: Diferentes
sistemas van a tener diferente organizaciones pero estasorganizaciones son
razonablemente representativas. A un nivel mas bajo losmanejadores de
dispositivos (device drivers) se comunican directamente con losdispositivos de
periféricos o con sus canales o controladores. Un controladorde dispositivos
es responsable de iniciar las operaciones de E/S en undispositivo y procesar la
terminación de una petición de E/S. Para operacionesde archivos, el
controlador típico de dispositivos son discos y unidadesde cinta. Los
manejadores de los dispositivos son usualmente considerados comoparte 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 lainterfase
primaria con el ambiente fuera del sistema de la computadora. Estenivel trata
con bloques de datos que son intercambiados con sistemas de disco ocinta. De
este modo. se preocupa de ubicar dichos bloques en el dispositivo
dealmacenamiento secundario y del almacenamiento intermedio de los mismos
enmemoria principal. Este nivel no comprenderá el contenido de los datos o
laestructura de los archivos implicados. El sistema de archivos básicos
esusualmente considerado como parte del sistema operativo. El
supervisor básico de E/S (Basic I/O supervisor) es el responsable de lainiciación
y terminación de todas las E/S con archivos. En este nivel, hayunas estructuras
de control que se encargan de la entrada y de salida con losdispositivos la
planificación y el estado de los archivos. El supervisor básicode E/S se
encarga de seleccionar el dispositivo donde se va a realizar la E/Scon los
archivos dependiendo del archivo seleccionado. También se encarga de
laplanificación de los accesos a disco y cinta para optimizar el rendimiento.
Eneste nivel se asignan los buffers de E/S y se reserva la memoria secundaria.
Elsupervisor 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. elmodulo lógico
de E/S trabaja con el archivo de registros. La E/S lógica proveeuna capacidad
de E/S de registro de propósito general y mantiene los datos básicosacerca de
los archivos. El
nivel del sistema de archivo mas cercano de usuario es usualmente el métodode
acceso (access method). Provee una interfase estándar entre aplicaciones ylos
archivos del sistema a dispositivos que guarden datos. Los diferentes métodosde
acceso reflejan los diferentes estructuras de datos y diferentes maneras
deacceder y procesar el dato.
1.5)
Funcionesde la gestión de archivos (File management Functions) Los
usuarios y las aplicaciones interactúan con el sistema de archivosmediante
comandos para crear y borrar archivos y realizar operaciones sobre losarchivos.
Antes de ejecutar alguna operación, los archivos del sistema debenidentificar y
localizar el archivo seleccionado. Esto requiere el uso de algunaclase de
directorio que es reservado para describir la localización de todoslos
archivos, mas sus atributos. Además , la mayoría de los
sistemascompartidos aplican algún control de acceso a los usuarios: solamente
losusuarios autorizados están permitidos para acceder a archivos particulares
endeterminados lugares. Las operaciones básicas que el usuario o el
programapuede ejecutar sobre un archivo se puede realizar a nivel de registro.
Elusuario 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
dearchivos., debe emplearse el método de acceso apropiado para esta estructura
dearchivo. 2)
Organizacióny acceso a archivos (File organizittion and access) En
esta parte vamos a usar el termino organización de archivos parareferirnos a la
estructura lógica de los registros determinada por la manera enque se accede a
ellos. La organización fisica del archivo en almacenamientosecundario depende
de la estrategia de agrupación y de la estrategia deasignación de archivos. Para
seleccionar una organización de archivos hay diversos criteriosque son
importantes: La
prioridad relativa de estos criterios va a depender de las aplicacionesque va a
usar el archivo. El
numero de alternativas de organización de archivos que se hanimplementado 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 seencuadran en
una de estas categorias o puede
implementarse como una combinación de estas: 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 espor 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 dearchivos. 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 deproceso de
lotes Y son óptimos para dichas aplicaciones si se procesan todoslos registros.
La organización secuencias de archivos es la única que es fácilde usar tanto
en disco como en cinta. Para
las aplicaciones interactivas que incluyen peticione s o actualizacionesde
registros individuales, los archivos secuenciales ofrecen un rendimiento pobre. Normalmente
un archivo secuencial se almacena en bloques, en un ordensecuencial simple de
los registros. La organización física del archivo en unacinta 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 depila 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 unnuevo
archivo en secuencia correcta de claves.
2.3)
Archivos Secuenciales indexados Un
método popular para superar las desventajas de los archivos secuencialeses el
del archivo secuencias indexado. El archivo secuencial indexado mantienelas
caracteristicas básicas de los archivos secuenciales: los registros estánorganizados
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 dedesbordamiento (
overflow ). El indice provee una capacidad de búsqueda parallegar rapidamente a
las proximidades de un registro deseado. El archivo dedesbordamiento (overflow)
es similar al archivo de registro usado en un archivosecuencial, pero esta
intregrado de forma que los registros del archivo dedesbordamiento se ubican en
la dirección de un puntero desde si registroprecedente. En la estructura
secuencial indexada mas simple, se usa un solonivel 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 elmismo que el campo clave del archivo
principal y un puntero al archivoprincipal. Para encontrar un campo especifico
se busca en el indice hastaencontrar el valor mayor de la clave que es igual o
precede al valor deseado dela clave. La busqueda continua en el archivo
principal a partir de la posiciónindicada por el puntero.
2.4)
Archivos Indexados Los
archivos secuenciales indexados retienen la limitación del archivosecuencial:
la eficacia en el procesamiento se limita al basado en un únicocampo del
archivo. Cuando es necesario buscar un registro basándose en algúnotro
atributo distinto del campo clave ambas formas de archivo secuencial no
sonadecuadas. En algunas aplicaciones esta flexibilidad es deseable. 2.5)
Archivos Directos o de Dispersión Los
archivos directos explotan la capacidad de los discos para accederdirectamente a
cualquier bloque de dirección conocida. Como en los archivossecuenciales y
secuenciales indexados, se requiere un campo clave en cadaregistro. Sin embargo,
aquí no hay conceptode ordenamiento secuencial. Asociado
con algunos sistemas de gestión de archivos o cualquier colección de
archivos suele haber un directorio de archivos.
El directorio contiene informnación acerca de los archivos, incluyendo
atributos, localización y propietario. Mucha
de esta información, especialmente la concernida con el almacenamiento es
gestionada por el sistema operativo. El
directorio es propiamente un archivo, poseído por el sistema operativo y,
accesible a traces de diversas rutinas de gestión de archivos. Aunque alguna
información en los directorios esta disponible para los usuarios y
aplicaciones, en general , la información se proporciona indirectamente a
través de rutinas del sistema. De
este modo los usuarios pueden acceder directamente al directorio, incluso en
modo de solo lectura. La
manera en que la información se almacena difiere mucho en los diferentes
sistemas. Parte de la información puede almacenarse en un registro de
cabecera asociado al archivo, esto reduce el espacio necesario para el
directorio, haciendo mas fácil mantener todo el directorio.
La
forma mas fácil de estructuración de un directorio es una lista de entradas,
unas para cada archivo. Esta
estructura puede representarse con un simple archivo secuencial, con el nombre
del archivo haciendo las veces de clave. Operaciones
que se pueden realizar con un directorio: ·
Buscar: Cuando alguien referencia el archivo, debe buscarse en el directorio
la entrada correspondiente al archivo. ·
Crear
archivo: Al crear un nuevo archivo. debe añadirse una entrada al directorio. ·
Borrar
archivo: Al borrar un archivo, debe eliminarse una entrada al directorio. ·
Listar
directorio: Puede solicitarse todo el directorio o una parte. Una
simple lista no se ajusta bien a estas operaciones.
Si el directorio es una simple lista secuencias, no ofrecerá ayuda en la
organización de los archivos y obligara al usuario a tener cuidado de no usar
el mismo nombre para dos tipos diferentes de archivos.
Para resolver este problema se puede acudir a un esquema de dos niveles
donde hay un directorio para cada usuario y un directorio maestro. Un
método mas potente y flexible es el directorio jerárquico o estructurado en
arbol. Existe un directorio maestro
que contiene un numero determinado de directorios de usuario. Cada
uno de estos directorios puede tener a su vez subdirectorios y archivos como
entradas. Esto se cumple en
cualquier nivel. Para
organizar cada directorio y subdirectorio.
El método mas simple es almacenar cada directorio como un archivo
secuencial. Cuando los directorios contengan un numero muy grande de entradas,
tal organización puede conducir a tiempos de, búsqueda innecesariamente
grandes. En ese caso se prefiere
una estructura de dispersión. Los
usuarios necesitan poder referirse a un archivo mediante un nombre simbólico.
Cada archivo del sistema debe tener un nombre único para que las referencias al
archivo no sean ambiguas. Por otro
lado, es una carga inaceptable para los usuarios el
proporcionar nombres únicos, especialmente en los sistemas compartidos. El
uso de directorios estructurados en arbol minimiza la dificultad de asignar
nombres unicos. Cualquier archivo del sistema puede ser localizado siguiendo
un camino desde, el directorio raíz o maestro. descendiendo por varias ramas
hasta que se alcance el archivo. La
serie de nombres de directorios, terminados con el propio nombre del archivo,
constituye el propio nombre del camino del archivo. Cada
usuario interactivo o proceso tiene asociado un directorio actual, conocido a
menudo como directorio de trabajo. En
un sistema multiusuario, casi siempre existe la necesidad de permitir a los
usuarios Compartir
archivos. Dos problemas surgen: ·
Los
derechos de accesos ·
Gestion
de los accesos simultáneos Derechos
de Acceso: El
sistema de archivos provee una herramienta flexible para permitir compartir
extensos archivos entre los usuarios. El
sistema de archivos debe proporcionar un numero de opciones de modo en que un
archivo que es accedido pueda ser controlado.
Normalmente, al usuarios o a los grupos
de usuarios se les otorgan ciertos derechos de acceso a cada archivo. Un
amplio rango de derechos de acceso se ha venido usando.
La siguiente lista representa los derecho de acceso que pueden ser
asignados a un usuario en particular para un archivo en particular: ·
Ninguno:
El usuario no puede siquiera determinar la existencia del archivo ni mucho menos
acceder al mismo. No se permite al
usuario leer el directorio de usuario que incluya al archivo. ·
Conocimiento:
El usuario sabe de la existencia del archivo Y quien el dueño.
El usuario puede solicitar los derechos de acceso adicionales al
propietario. ·
Ejecución:
El usuario puede ejecutar y cargar un programa pero no copiarlo. ·
Lectura:
El usuario puede leer el archivo para cualquier propósito, incluyendo copia y
ejecución. ·
Adición:
El usuario puede añadir datos al archivo, generalmente al final, pero no puede
modificar o borrar el contenido del mismo. ·
Actualización:
El usuario puede modificar, borrar y añadir otros datos al archivo. ·
Cambio
de protección: El usuario puede cambiar los derechos de acceso otorgados a
usuarios. ·
Borrado:
El usuario puede borrar el archivo del sistema de archivos. Los
derechos constituyen una jerarquía. Si
un usuario adquiere el derecho de la actualización para un archivo determinado,
también habrá adquirido los derechos siguientes: conocimiento, ejecución,
lectura y adición. El
propietario de un archivo dispone de los derecho de acceso listados antes y
puede otorgar derechos a los otros. Puede
ofrecerse acceso a las siguientes clases de usuarios: ·
Usuario
específico: Usuarios individuales quienes son designados por su ID de usuario. ·
Grupos
de usuarios: Un conjunto de usuarios no definidos individualmente. ·
Todos:
Todos los usuarios que tengan acceso al sistema.
Estos serán archivos públicos. Acceso
Simultáneos: Cuando
el acceso es concedido para añadir o actualizar un archivo a mas de un usuario,
el sistema operativo o el sistema de gestión de archivos debe hacer cumplir una
disciplina. Un método de fuerza
bruta consiste en permitir a los usuarios bloquear el archivo entero cuando lo
vaya a actualizar. Un mejor control
es bloquear los registros individuales durante la actualización.
Al disertar la posibilidad de accesos comparados, deben abordarse
aspectos de exclusión mutua e interbloqueo. Para
realizar E/S, los registros deben organizarse en bloques. Dado un tamaño de
bloque, pueden seguirse los siguientes tres métodos de agrupación en bloques: ·
Bloques
fijos: Se usan registros de longitud fija y un numero entero de registros son
Guardados en un bloque. Puede haber
espacio sin usar al final de cada bloque. ·
Bloque
de longitud variable por tramos: Se usan registros de longitud variable y
agrupados en bloques sin dejar espacios sin usar. ·
Bloque
de longitud variable sin tramos: Son usados registros de longitud variable, pero
no se dividen en tramos. En la
mayoria de los bloques habrá un espacio desperdiciado, debido a la
imposibilidad de aprovechar el resto del bloque si el registro siguiente es
mayor que el espacio sin usar restante.
Los
bloques de tamaño fijo son el modo mas común de archivos secuenciales con
registro de
longitud
variable. Los bloques de longitud
variable por tramos constituyen un almacenamiento
eficaz y no ponen limites al tamaño de los registros.
Pero esta tecnica es difícil de implementar. En
el almacenamiento secundarlo, un archivo consiste en una colección de bloques. El sistema de gestiónele archivos es el responsable de la
asignación de los bloques a archivos. Esto
crea dos problemas sobre la gestión. Primero, el espacio en el almacenamiento secundario debe ser
designados a los archivos, en segundo lugar, es necesario guardar constancia del
espacio disponible para asignar. Estas
dos tareas están relacionadas, el metodo tomado para asignar los archivos puede
influir en el método de gestión del espacio libre.
También existe una interacción entre la estructura de archivo y la política
de asignación. Surgen
varias cuestiones: 1.
Cuando se crea un archivo nuevo. ¿ se asigna de una sola vez el maximo
espacio que necesite? 2.
El espacio se asigna a un archivo en forma de una o mas unidades
contiguas que se llaman secciones. Un tamaño de una sección puede variar desde
un único bloque a un archivo entera. Que tamaño de sección deberia usarse
para asignar archivos? 3.
¿Qué tipos de estructura de datos o tabla se usaran para guardar
constancia de las secciones asignadas a un archivo.
Dicha tabla se conoce normalmente como tabla de asignacion de archivos
(FAT). Asignación
previa frente a Asignación dinámica Una
política de asignación requiere que el tamaño máximo de un archivo sea
declarado un el momento de crearlo. En
un numero de casos, como el compilar los programas, la producción del resumen
de los datos del archivo, o la transferencia de un archivo desde otro sistema
por una red de comunicaciones, este valor puede estimarse.
Pero en muchas aplicaciones es dificil estimar el tamaño máximo del
archivo. Tamaño
de Sección La
segunda cuestión de la lista anterior es la del tamaño de sección asignada a
los archivos. En un extremo, se
puede asignar una sección suficientemente grande para guardar el archivo
entero. En el otro extremo, se
asigna el espacio en disco de bloque en bloque.
Al elegir el tamaño de sección, debe haber un compromiso relativo a la
eficiencia desde el punto de vista de un solo archivo frente al del sistema
global. 1-
La contigüidad del espacio aumenta el rendimiento. 2-
Disponer de un gran numero de secciones pequeñas aumenta el tamaño de
las tablas necesarias para gestionar la
asignación de información. 3.
Disponer de secciones de tamaño fijo simplifica la resignación del
espacio. 4.
Disponer de secciones de tamaño variable o secciones pequeñas de tamaño
fijo minimiza la perdida de espacio no usado
provocado por la sobre asignación. ·
Secciones
contiguas variables y grandes: Esta
opción ofrecerá un rendimiento mejor. El tamaño variable evitara la perdida y
las tablas de asignación de archivos serán pequeñas.
El espacio es difícil de reutilizar. ·
Bloques:
Las secciones fijas y pequeñas ofrecen una flexibilidad mayor. La contigüidad
se abandona y los bloques se
asignan a medida que se necesitan. Cualquier
opción es compatible con la asignación previa o con la asignación dinámica.
En el primer caso se asigna
previamente a los archivos un grupo contiguo de bloques.
En el segundo caso, todas las secciones necesarias son asignadas de una
vez, Entonces la tabla de asignación de archivos permanecerá con tamaño fijo. No
esta claro que estrategia es la mejor. La
dificultad de moldear estrategias alternativas esta
en que intervienen muchos factores incluyendo los tipos de archivo, la pauta
a los accesos a archivo, el grado de rnultiprogramacion, etc Métodos
de Asignación de Archivos Con
Asignación contigua: Cuando se crea un archivo se le asigna un unico conjunto
contiguo de bloques. Esta es una
estrategia de asignación previa que emplea secciones de tamaño variable.
La tabla de asignación de archivos necesita solo una entrada por cada
archivo, que muestre el bloque de comienzo y la longitud del archivo.
La asignación contigua es la mejor desde el punto de vista de un archivo
secuencias individual. Con
Asignación encadenada: La asignación normalmente se hace con bloques
individuales. Cada bloque contendrá un puntero al siguiente bloque de la
cadena. La tabla de asignación de
archivos necesita de nuevo una sola entrada por cada archivo que muestre el
bloque de comienzo y la longitud del archivo.
No hay que preocuparse por la fragmentación externa porque solo se
necesita un solo bloque cada vez. Este
tipo de organización física se ajusta mejor a los archivos secuenciales que
van a ser procesados secuencialmente. La
asignación indexada: Trata mucho de los problemas de las asignaciones contigua
y encadenada. La tabla de asignación
de archivos contienen un índice separado de un nivel para cada archivo; el índice
posee una entrada para cada sección asignada al archivo.
Los índices no están almacenados físicamente como parte de la tabla de
asignación de archivos. El índice
del archivo se guardara en un bloque aparte y la entrada del archivo en la tabla
de asignación apuntada a dicho bloque. La
asignación indexada soporta tanto el acceso secuencial como el acceso directo a
los archivos. Al
igual que al espacio asignado a los archivos, se debe gestionar el espacio que
no queda asignado actualmente a ningun archivo.
Para llevar a cabo cualquiera de las técnicas de asignación que se han
descrito, es necesario saber que bloques del disco están disponibles.
Hace falta una tabla de asignación de disco además de una tabla de
asignación de archivos. Tres técnicas
son de uso común: ·
Las
tablas de bits. ·
Las
secciones libres encadenadas. ·
Y
la indexación. Tablas
de Bíts El
método de las tablas de bits utiliza un vector que contiene un bit por cada
bloque del disco. Cada entrada de igual a 0 corresponde a u bloque libre y cada
1 corresponde a un bloque en uso. Las
tablas de bits tienen la ventaja de que es relativamente facil encontrar un
bloque o un grupo continuo de bloques libres.
Las tablas de bits trabajan bien con cualquiera de los métodos de
asignación de archivos. Otra
ventaja es que puede ser tan pequeña como sea posible y puede mantenerse en
memoria cada vez que se realice una asignación. Secciones
libres encadenadas Las
secciones libres pueden encadenarse juntas mediante un puntero y un valor de
longitud en cada sección libre. Este
método tiene un gasto minimo porque no hay necesidad de tabla de asignacion de
disco, sin simplemente un puntero al comienzo de la cadena y la longitud
de la primera seccion. Este método
sirve para todas las técnicas de asignación de archivos. Indexación El
método de indexación trata el espacio libre como si fuera un archivo y utiliza
una tabla índice. Por razones de eficiencia, el índice debe trabajar con
secciones de tamaño variable mejor que con bloques.
De este modo, habrá una entrada en la tabla para cada sección libre del
disco. Este procedimiento ofrece un
soporte eficaz para todos los métodos de asignación de archivos. Considérese
el escenario siguiente: 1.
El usuario A solicita una asignación para añadir datos a un archivo
existente. 2.
La petición se atiende y se actualizan en memoria principal las tablas
de asignación de disco y archivos, pero no aun en el disco. 3.
El sistema se hunde y a continuacion se reinicia 4.
El usuario B solicita una asignación y se le otorga un espacio en el
disco que se solapa con la ultima asignación hecha al usuario A. 5.
El usuario A accede a la sección solapada mediante una referencia que
esta almacenada en el archivo
de A. Esto
surge debido al que el sistema mantiene copias de la tabla de asignación de
disco y la tabla de asignación de archivos en memoria principal.
Para evitar esto puede seguir los siguientes pasos: 1.
bloquear en el disco la tabla de asignación de disco 2-
Buscar espacio disponible en la tabla de asignación de disco. 3-
Asignar el espacio, actualizar la tabla de asignación de disco y
actualizar el disco. 4.
Actualizar la tabla de asignación de archivos y actualizar el disco. 5.
Desbloquear la tabla de asignación de disco. UCP
Unidad Central de Proceso S.O.
Sistema Operativo E/S
Entrada y Salida FAT
File allocation Table ·
Sistemas
Operativos. William Stalling ·
Notas
sobre sitemas operativos. Carlos Neetzel | |||||||||