3.4 Almacenamiento De Memoria Virtual.

22
3.4 Almacenamiento De Memoria Virtual. La clave del concepto de memoria (almacenamiento) virtual esta en la disociación: De las direcciones a las que hace referencia un programa. De las direcciones disponibles en la memoria real (almacenamiento primario).

Transcript of 3.4 Almacenamiento De Memoria Virtual.

Page 1: 3.4 Almacenamiento De Memoria Virtual.

3.4 Almacenamiento De Memoria Virtual.

La clave del concepto de memoria (almacenamiento) virtual esta en la disociación:De las direcciones a las que hace referencia un programa.De las direcciones disponibles en la memoria real (almacenamiento primario).

Page 2: 3.4 Almacenamiento De Memoria Virtual.

OMientras el proceso se ejecuta con sus páginas actuales, el sistema carga las demás páginas que estarán disponibles cuando las requiera el proceso.El S.O. intenta predecir las páginas que un proceso va a necesitar y a continuación precarga estas páginas cuando hay espacio disponible Mientras el proceso ejecuta sus páginas actuales, el sistema carga páginas nuevas que estarán disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecución de un proceso se puede reducir.

Page 3: 3.4 Almacenamiento De Memoria Virtual.

3.4.1 .- Estrategias de administración

Estrategias de colocación en almacenamiento

O Estrategias del mejor ajuste: Un trabajo que entre en el sistema se colocará en el espacio vació del almacenamiento principal en el que quepa mejor y que deje la menor cantidad posible de espacio sin utilizar.

Page 4: 3.4 Almacenamiento De Memoria Virtual.

OEstrategias del primer ajuste: Un trabajo que entre en el sistema se colocara en el almacenamiento principal en el primer vació disponibles lo bastante grande para contenerlo.

OEstrategias del peor ajuste: Consiste en colocar un programa en el almacenamiento primario en el espacio vació donde peor se ajusta es decir en el espacio más grande posible.

Page 5: 3.4 Almacenamiento De Memoria Virtual.

Estrategias de administración de la memoria virtual

O Estrategias de Obtención.Determinan cuando se debe de transferir una pagina o un segmento de almacenamiento secundario al primario. Las estrategias de obtención por demanda esperan a que un proceso en ejecución haga referencia a una pagina o un segmento antes de traer la pagina o el segmento de almacenamiento primario. Los esquemas de obtención anticipada intentan determinar por adelantado a cuales paginas o segmentos hará referencia un proceso.

Page 6: 3.4 Almacenamiento De Memoria Virtual.

OEstrategias de Colocación.Determinan en que lugar del almacenamiento primario se debe colocar una pagina o un segmento entrante. Una pagina entrante se puede colocar en cualquier marco de pagina disponible.

OEstrategias de Remplazo.Sirven para decidir cual pagina o segmento se debe desplazar para dar espacio a una pagina o segmento entrante cuando esta completamente ocupado el almacenamiento primario.

Page 7: 3.4 Almacenamiento De Memoria Virtual.

3.4.2 Técnicas De Remplazo De Pagina

OLas rutinas de administración de almacenamiento del Sistema operativo deben decidir que pagina del almacenamiento primario se debe desplazar para dejar espacio a una pagina entrante . 

Page 8: 3.4 Almacenamiento De Memoria Virtual.

O Principio de Optimalizad.Para obtener un rendimiento optimo, la pagina que se debe remplazar es aquella que tardara mas tiempo en ser utilizada.

O Remplazo de Páginas aleatorio.Todas las paginas que se encuentran en el almacenamiento principal tienen la misma probabilidad de ser elegidas para el remplazo. Esta estrategia podría seleccionar cualquier pagina para ser remplazada, incluyendo la siguiente pagina la que se hará referencia. Las decisiones de remplazo aleatorio de paginas se pueden tomar rápidamente y con un numero significativo de marcos de pagina. Es un esquema que casi no se utiliza por su enfoque aleatorio de acertar o errar.

Page 9: 3.4 Almacenamiento De Memoria Virtual.

O Reemplazo de páginas de primeras entradas-primeras salidas (PEPS).Cada pagina se registra en el instante que entro en el almacenamiento primario. Cuando se necesita reemplazar una pagina, se escoge la que ha permanecido en el almacenamiento durante el mayor tiempo.

O Anomalías PEPS.Belady, Nelson y Shelder descubrieron que al utilizar el reemplazo de paginas PEPS, ciertos patrones de referencia a pagina originan mas fallas de paginas cuando aumenta el numero de marcos de pagina asignados a un proceso. Este fenómeno se denomina Anomalía PEPS o anomalía Belady.

Page 10: 3.4 Almacenamiento De Memoria Virtual.

O Reemplazo de páginas de la menos reciente utilizada.Se selecciona para su reemplazo, a aquella pagina que no se ha sido utilizada durante mayor tiempo.

O Reemplazo de paginas de la menos frecuentemente utilizada (LFU).La pagina por remplazar es aquella que ha sido utilizada menos frecuentemente o a la que se ha hecho referencia con menos frecuencia.Al parecer estos esquemas de reemplazo de paginas corren cierto riesgo de tomar decisiones equivocadas. Esto sucede por el simple hecho de que no se puede predecir con precisión el futuro.

Page 11: 3.4 Almacenamiento De Memoria Virtual.

O Remplazo de páginas de la no utilizada recientemente (NUR): Como es deseable remplazar una página que no estaba en el almacenamiento primario, la estrategia NUR se lleva a la práctica con la adición dedos bits de hardware por página.

O Modificaciones de PEPS; reemplazo de paginas por reloj y reemplazo de paginas con segunda oportunidad.La estrategia PEPS puede decidir reemplazar una pagina muy utilizada que ha permanecido en memoria durante mucho tiempo. Esta posibilidad se puede evitar remplazando solo aquellas paginas cuyos bits de referencia valgan O.

Page 12: 3.4 Almacenamiento De Memoria Virtual.

O La variante de PEPS denominada "con segunde oportunidad" examina el bit de referencia de la pagina mas antigua; si este bit vale O, se selecciona de inmediato la pagina para ser reemplazada. Si el bit de referencia vale 1, se le asigna el valor O y la pagina se pasa al final de la lista y se considera en esencia como una pagina nueva; gradualmente dicha pagina se desplaza hacia el principio de la lista, donde será seleccionada para reemplazo solo si su bit de referencia sigue valiendo O

Page 13: 3.4 Almacenamiento De Memoria Virtual.

OEn esencia, esto da a la pagina una segunda oportunidad de permanecer en el almacenamiento principal si su bit de referencia cambia a 1 antes de que la pagina llegue al principio de la lista. La variación 'z' del reloj" del algoritmo de la segunda oportunidad dispone las paginas en una lista circular, en lugar de en una lista lineal.

Page 14: 3.4 Almacenamiento De Memoria Virtual.

3.4.3 Paginación Por Demanda.

O Las paginas de un proceso deben cargarse por demanda. No se debe transferir ninguna pagina al almacenamiento secundario al primado hasta que un proceso en ejecución haga explícitamente referencia a ella. Hay varias razones por las cuales es atractiva esta estrategia. Los resultados de la teoría de la computabilidad, especifica mente el problema de la detención (Mi67) (He77), indican que no se puede predecir con precisión la trayectoria de ejecución que seguirá un programa. Así pues, cualquier intento de cargar paginas con anticipación a su uso puede hacer que se carguen las paginas equivocadas.

Page 15: 3.4 Almacenamiento De Memoria Virtual.

OLa paginación por demanda garantiza que las únicas paginas que se transfieren al almacenamiento principal son aquellas que requieren los procesos. El trabajo extra requerido para decidir cuales paginas se deben transferir al almacenamiento principal es mínimo. Las estrategias de obtención anticipada de paginas G pueden requerir mucho tiempo de ejecución adicional.

Page 16: 3.4 Almacenamiento De Memoria Virtual.

3.4.4 Paginación Anticipada.

¿Qué es la paginación anticipada?O En la paginación anticipada, el sistema

operativo intenta predecir las paginas que necesitara un proceso y entonces carga dichas cuando hay espacio disponible.

O Mientras el proceso se ejecuta con sus paginas actuales, el sistema carga las demás paginas que estarán disponibles cuando las requiera el proceso.

Page 17: 3.4 Almacenamiento De Memoria Virtual.

OEl S. O. intenta predecir las paginas que un proceso va a necesitar y a continuación precarga estas paginas cuando hay espacio disponible Mientras el proceso ejecuta sus paginas actuales, el sistema carga paginas nuevas que estarán disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecución de un proceso se puede reducir.

Page 18: 3.4 Almacenamiento De Memoria Virtual.

3.4.5 Liberación De Pagina.

OUn proceso usuario puede emitir una “liberación voluntaria de página” para liberar el marco de página cuando ya no necesitara esa página. Se puede eliminar el “desperdicio” y acelerar la ejecución.

Page 19: 3.4 Almacenamiento De Memoria Virtual.

O El inconveniente es que la incorporación de mandatos de liberación de páginas dentro de los programas de usuarios puede ser peligroso y retrasar el desarrollo de aplicaciones.

O “Los compiladores y S. O. deberían detectar automáticamente situaciones de liberación de página mucho antes de lo que es posible con estrategias de conjuntos de trabajo”.

Page 20: 3.4 Almacenamiento De Memoria Virtual.

O Estrategias de remplazo de páginas Menos frecuentemente utilizada (LFU)

O • Se remplaza la página a la que se ha hecho referencia con menos frecuencia.

O No utilizada recientemente (NUR)O • Las páginas no utilizadas

recientemente, es poco probable que sean referenciadas en un futuro cercano. Por ello se las elige para el remplazo.

Page 21: 3.4 Almacenamiento De Memoria Virtual.

3.4.6 Tamaño De La Pagina.

O Generalmente el almacenamiento real se divide en marcos o celdas de pagina de tamaño fijo.

O Los interrogantes tienen que ver con el tamaño de las paginas, si todas las paginas tendrán igual tamaño, si en caso de utilizar paginas de diferente tamaño las paginas mayores deben ser o no múltiplos enteros de las menores, etc.

Page 22: 3.4 Almacenamiento De Memoria Virtual.

O Algunas consideraciones para determinar el tamaño de pagina son las siguientes:

O Cuanto mas pequeño sea el tamaño de una pagina, mas paginas y marcos de paginas habrá y mayores serán las tablas de pagina. El desperdicio de almacenamiento debido al tamaño excesivo de las tablas de pagina se llama “fragmentación de tablas”. Esto indica la necesidad de paginas mas grandes.

O Con paginas grandes, grandes cantidades de información que nunca llegaría a ser referenciada, se paginaran hacia el almacenamiento primario. Esto indica la necesidad de paginas mas pequeñas.