MÉTODOS DE ASIGNACIÓN 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 Agrupación y por Contador.
Para el control del espacio libre se puede utilizar como base alguno de los métodos teóricos: Vector de Bits, Lista Ligada, Por Agrupación y por Contador.
VECTOR DE
BITS
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 representación será:
Fig.1 Ejemplo de un vector de bits.
LISTA
LIGADA
Existe
una cabecera en la que se tiene la dirección del primer sector vacío, 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, tal y
como se muestra en la siguiente figura.
Fig. 2 Ejemplo de una lista ligada
POR AGRUPACIÓN
Es
similar a la lista ligada, solo que en este se tiene por cada sector, un grupo
de apuntadores a varios espacios vacíos, al final de cada bloque se tiene un
apuntador a otro grupo de apuntadores, observe la figura.
Fig. 3 Ejemplo de asignación por agrupación.
POR
CONTADOR
Aquí, por
cada conjunto de bloques contiguos que estén vacíos, se tiene por cada
apuntador, un número de inicio y el tamaño del grupo de sectores vacíos.
Fig. 4 Ejemplo de asignación por contador.
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.
ASIGNACIÓN
CONTIGUA.
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:
Fig. 5 Ejemplo de asignación contigua.
VENTAJAS
|
DESVENTAJAS
|
- La cabeza de lectura no se mueve demasiado en la lectura de un
archivo.
|
- Produce fragmentación externa.
|
ASIGNACIÓN
LIGADA
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:
Fig. 6 Ejemplo de asignación ligada
VENTAJAS
|
DESVENTAJAS
|
- No produce fragmentación externa.
|
|
ASIGNACIÓN
INDEXADA
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:
Fig. 7 Ejemplo de asignación indexada.
VENTAJAS
|
DESVENTAJAS
|
|
|