04 gestor de memoria intermendia

Upload: juan-gabriel-chavez

Post on 12-Jul-2015

239 views

Category:

Documents


0 download

TRANSCRIPT

Gestor de Memoria IntermediaIng. Jos Luis Rodrguez Ch.

Introduccin Un sistema de bases de datos busca minimizar el nmero de transferencias de bloques entre el disco y la memoria. No se puede tener todos los bloques en la memoria. La memoria intermedia, buffer, es donde se almacenan copias de los bloques del disco. El subsistema responsable de asignacin de espacio de buffer en la memoria principal es el gestor de la memoria intermedia.

Gestor de Memoria Intermedia (GMI) Es un mdulo de software que administra la memoria intermedia y controla el acceso de bloques a memoria intermedia. Determina que bloques deben estar en memoria y cuales noTransaccin Ci DISCOC1Diccionario de Datos

RAM Memoria Intermedia

C1

Bloque de inf

Algoritmo Trabajo del GMI1. Una transaccin solicita un bloque de informacin al GMI. 2. El GMI busca el bloque en MI ( Memoria Intermedia). Si lo encuentra, le comunica su direccin a la transaccin y finaliza la transaccin. 3. Si el bloque solicitado no est en MI, el GMI lo recupera desde disco, lo ubica en MI y pasa la direccin a la transaccin y finaliza. 4. Si la MI est llena se debe seleccionar un bloque para ser sustituido por el bloque que viene desde el disco (MRU Mas utilizada, LRU menos utilizada)

Cuando los programas necesitan un bloque del disco llaman al gestor de memoria intermedia

Suponiendo que s lo encuentra

Suponiendo que No lo encuentra

Suponiendo que No lo encuentra

El gestor de buffer descarta un bloque para hacer sitio al que se requiere. Si este bloque ha sido modificado, actualiza el disco Luego el gestor lee el bloque desde el disco y lo escribe en el buffer. Para terminar le dice al programa solicitante la direccin del bloque en el buffer.

Polticas de Sustitucin

MRU = El bloque mas recientemente utilizado. LRU y MRU son estrategias para minimizar los accesos al disco

LRU

Less Recently Used (Usado menos Recientemente) Se elimina el bloque al que se ha hecho referencia menos recientemente. Es el que los sistemas operativos generalmente usan. En los programas de propsito general no es posible predecir con presicin los bloques a los que se har referencia. Es ms probable que se vuelva a hacer referencia a los bloques a los que se ha hecho referencia recientemente.

LRU

LRU

MRU

MRU: Most Recently Used Traduccin: Usado ms Recientem ente. LRU es aceptable para SO, pero los sistemas de BD pueden predecir referencias futuras de mejor manera. Para eso examinan las etapas para desarrollar una operacin solicitada.

MRU

A diferencia del LRU que confa en el pasado para predecir el futuro los sist. de BD pueden tener info concerniente al menos a un futuro prximo.

El gestor del buffer puede utilizar informacin estadstica concerniente a la probabilidad de que una solicitud haga referencia a una relacin particular. El diccionario de datos es una de las partes de la BD a la que se accede con ms frecuencia. Tampoco se debera eliminar los bloques de ndice.

Las acciones internas del gestor de la memoria intermedia resultan transparentes para los programas que formulan las solicitudes

Control de Concurrencia

Maneja el sistema con concurrencia. El GMI antes de mover un bloque debe consultar con el Gestor de Concurrencia que determina que todas las transacciones hayan terminado.

Sistema de Recuperacin

Conjunto de elementos que permiten que la BDD se recupere ante la cada del sistema. Chequea que transaccin se realizar automticamente. Maneja bloques de informacin de la MI.

IMPOSITOR(nombre, nro_cuenta) CLIENTE(nombre, ciudad) Select * from cliente c, impositor i where c.nombre=i.nombre AlgoritmoPara cada fila c de Clientes hacer Para cada fila i de Impositor hacer si c[nombre] = i[nombre] construir una fila X asi: x[nombre] = c[nombre] x[ciudad] = c[ciudad] x[nro_cuenta] = i[nro_cuenta] presentar la fila X en pantalla Fin Si Fin Para Fin Para

Diccionario de Datos

Es una BDD de datos especial que almacena los esquemas de una BDD, es decir toda la informacin de la BDD. Cuando se realiza una consulta primero se verifica en el diccionario de datos. Para sustituir no debemos tocar los bloques del diccionario de Datos.