Bitácora de Jesus _Cruz

65.3. Mapas de espacios libres

Cada relación entre una estructura y un índice, a excepción de los índices hash, tiene un mapa de espacios libres para mantener el espacio de rastreo disponible entre ellos. Que está almacenado a la par de los principales datos relacionados, en un componente separado, renombrado después el número de archivo más el sufijo a_fsm. Por ejemplo, si la relación del archivo es 12345, la FSM es almacenada en un archivo 12345_fsm, en el mismo directorio con relación al archivo principal.
El mapa de espacios libres es organizado como un árbol de páginas FSM. Las páginas del nivel bajo de la FSM almacenan los espacios disponibles, en cada nivel de la estructura de datos, usando un byte para representar cada una de las páginas. Los niveles superiores obtienen información de los niveles bajos.
Entre cada una de las paginas hay un árbol binario, almacenada en un arreglo con un byte por nudo. Cada hoja de un nudo representa una página de estructura de datos, o una página del nivel bajo de la FSM. En cada nudo (non-leaf), el valor mayor de sus hijos es almacenado. El valor máximo de las hojas es almacenado en la raíz.

Distribuir contenido