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
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).
Fig. 5.6.2
Lista de espacio libre enlazada en el disco.
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.
- FCFS
- SSTF
- SCAN
- SCAN de n-pasos
- C-SCAN
- Esquema Eschenbach
.png)

No hay comentarios:
Publicar un comentario