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.





Fig. 5.6.1 Ejemplos de Memoria Secundaria
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 bit.
- 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