A
diferencia de la Memoria Principal la Memoria Secundaria , auxiliar, masiva,
externa no es tan veloz pero tiene gran capacidad para almacenar información en
dispositivos tales como discos, cintas magnéticas, discos ópticos.
Frecuentemente los datos y programas se graban en la Memoria Secundaria , de
esta forma, cuando se ejecuta varias veces un programa o se utilicen
repetidamente unos datos, no es necesario darlos de nuevo a través del
dispositivo de entrada.
En la
Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente
a la cantidad de información que se transfiere físicamente en cada operación de
acceso (lectura o escritura).
El Sistema
Operativo o Sistema de Gestión de Archivos es el encargado de la asignación de
bloques a archivos, de lo que surgen dos cuestiones, en primer lugar, debe asignarle
el espacio de Memoria Secundaria a los archivos y, en segundo lugar, es
necesario guardar constancia del espacio disponible para asignar.
El sistema
de archivos se ocupa primordialmente de administrar el espacio de
almacenamiento secundario, sobre todo el espacio en disco. El manejo del
espacio libre en disco se lleva a cabo de la siguiente manera:
· Vector de
bits
· Lista
ligada (lista libre)
· Por
conteo (agrupación)
Vector de bits. El espacio
libre en disco es frecuentemente implementado como un mapa de bits, donde cada
block es representado por un bit y si el bloc es libre el bit es cero de lo
contrario está asignado.11000111
Lista ligada. Una lista
ligada de todos los blocks libres. Otra implantación se consigue guardando la
dirección del primer block libre y el número de los blocks libres contiguos que
le siguen. Cada entrada de la lista de espacio libre consiste de una dirección
de disco y un contador (por conteo).
Por agrupación. Se almacena
la dirección en n blocks libres en el primer block libre y el último contiene
la dirección de otro block que contiene la dirección de otros blocks libres.
Para
manejar los espacios en disco existen los siguientes métodos:
? Contiguos
? Ligados
? Indexados
?
Contiguos. Esta asignación requiere que cada archivo ocupe un conjunto de
direcciones contiguas en el disco, su asignación es definida por la dirección
del primer bloc y la longitud del archivo.
Cuando se
crea un archivo se le asigna un único conjunto contiguo de bloques, esta es un
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 y
que muestre el bloque de comienzo y la longitud del archivo. La asignación
contigua es la mejor para un archivo secuencial.
La
asignación contigua presenta algunos problemas, como la fragmentación externa.
Lo que hace difícil encontrar bloques contiguos de espacio de tamaño
suficiente., lo que lleva a ejecutar un algoritmo de compactación para libera
el espacio adicional en el disco.
?
Asignación ligada o encadenada. Cada archivo es una lista ligada de blocks y el
directorio contiene un apuntador al primer bloc y al último.
La
asignación se hace con bloques individuales, cada bloque contendrá un puntero
al siguiente bloque de la cadena. La tabla de asignación de archivos necesita
una sola entrada por cada archivo que muestre el bloque de comienzo y la
longitud del mismo, cualquier bloque puede añadirse a la cadena. No hay que
preocuparse por la fragmentación externa porque solo se necesita un bloque cada
vez.
Una
consecuencia del encadenamiento es que no hay cabida para el principio de
cercanía, si es necesario traer varios bloques de un archivo al mismo tiempo,
se necesita una serie de accesos a partes diferentes del disco por lo que se
debe ejecutar un algoritmo de compactación para liberar el espacio adicional en
el disco.
?
Asignación Indexada. Cada archivo tiene su propio bloc de índice el cual es un
arreglo de direcciones de bloc.
En esta
asignación la tabla de asignación de archivos contiene un índice separado de un
nivel para cada archivo: el índice posee una entrada para cada sección asignada
al archivo. Normalmente, los índices no están almacenados físicamente como
parte de la tabla de asignación de archivos. Mas exactamente el índice de
archivo se guardara en un bloque aparte y la entrada del archivo en la entrada
de asignación apuntara a dicho bloque.
La
asignación puede hacerse por bloques de tamaño fijo, O en secciones de tamaño
variable. La asignación por bloques elimina la fragmentación externa, mientras
que la asignación por secciones de tamaño variable mejora la cercanía. En
cualquier caso, los archivos pueden concentrarse en zonas cercanas de cuando en
cuando. La concentración reduce el tamaño del índice en el caso de secciones de
tamaño variable, pero no en el caso de asignación por bloques.
La
asignación indexada soporta tanto el acceso secuencial como el acceso directo a
los archivos y por ello se ha convertido en la forma más popular de asignación
de archivos.
En un
sistema de cómputo, los elementos que se declaran para almacenamiento son los
Fyle System. Cuándo existe una solicitud de almacenamiento o manejo de bloc
libres en un file system surge una interrogante ¿cómo atenderlas? esto se lleva
a cabo mediante una planificación de discos y para esto existen las siguientes
políticas de planificación.
a) FCFS
b) SSTF
c) SCAN
d) SCAN de
n-pasos
e) C-SCAN
f) Esquema
Eschenbach
No hay comentarios:
Publicar un comentario