Está en la página 1de 10

3.

4 Administracin de memoria virtual


Las diferentes organizaciones de almacenamiento virtual generalmente implementadas son:

Paginacin. Segmentacin. Segmentacin y paginacin.

Las estrategias para la administracin de sistemas de almacenamiento virtual condicionan la conducta de los sistemas de almacenamiento virtual que operan segn esas estrategias. Se consideran las siguientes estrategias:

Estrategias de bsqueda: Tratan de los casos en que una pgina o segmento deben ser trados del almacenamiento secundario al primario. Las estrategias de bsqueda por demanda esperan a que se haga referencia a una pgina o segmento por un proceso antes de traerlos al almacenamiento primario. Los esquemas de bsqueda anticipada intentan determinar por adelantado a qu pginas o segmentos har referencia un proceso para traerlos al almacenamiento primario antes de ser explcitamente referenciados. Estrategias de colocacin: Tratan del lugar del almacenamiento primario donde se colocar una nueva pgina o segmento. Los sistemas toman las decisiones de colocacin de una forma trivial ya que una nueva pgina puede ser colocada dentro de cualquier marco de pgina disponible. Estrategias de reposicin: Tratan de la decisin de cul pgina o segmento desplazar para hacer sitio a una nueva pgina o segmento cuando el almacenamiento primario est completamente comprometido.

3.4.1 Estrategias de Administracin


Es un mtodo mediante el cual, un sistema operativo simula tener ms memoria principal que la que existe fsicamente. Para implementar la memoria virtual se utiliza

un medio de almacenamiento secundario de alta velocidad de acceso, generalmente en disco duro de la maquina. Un sistema de memoria virtual se implementa utilizando paginacin como mtodo de administracin de memoria bsica y algn mecanismo de intercambio (para descargar paginas de la memoria principal hacia el disco duro y para cargar esas pginas de nuevo a la memoria). La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una maquina. Esta ilusin permite que los programas se hagan sin tener en cuenta el tamao exacto de la memoria fsica. La ilusin de la memoria virtual esta soportada por el mecanismo de traduccin de memoria, junto con una gran cantidad de almacenamiento rpido en disco duro. As en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequea parte de el, esta en memoria real y el resto almacenado en el disco, y puede ser referenciado fcilmente. Estrategias de administracin de la memoria virtual. 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. Estrategias 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. Estrategias 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 ms grande posible. Estrategias de obtencin: Determina cuando se debe transferir una pgina o un segmento de almacenamiento secundario al primario. Las estrategias de obtencin por demanda esperan a que un proceso en ejecucin haga referencia a una pgina o a un segmento antes de traer la pgina o el segmento de almacenamiento primario. Los esquemas de obtencin anticipada intentan determinar por adelantado a cuales paginas o segmentos har referencia un proceso. Estrategias de colocacin: Determinan en que lugar del almacenamiento primario se debe colocar una pagina o un segmento entrante. Una pgina entrante se puede colocar en cualquier marco de pgina disponible. Estrategias de reemplazo: Sirven para decidir cual pgina o segmento se debe desplazar para dar espacio a una pgina o segmento entrante cuando esta completamente ocupado el almacenamiento primario.

Estrategias de Colocacin: Determinan en que lugar del almacenamiento primario se debe colocar una pgina o un segmento entrante. Una pgina entrante se puede colocar en cualquier marco de pgina disponible. Estrategias de Reemplazo: Sirven para decidir cual pgina o segmento se debe desplazar para dar espacio a una pgina o segmento entrante cuando est completamente ocupado el almacenamiento primario. La memoria virtual ha llegado a ser un componente esencial de la mayora de los sistemas operativos actuales. Y como en un instante dado, en la memoria slo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener ms procesos en la memoria. Es ms, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo debe saber cmo gestionar este esquema. La memoria virtual tambin simplifica la carga del programa para su ejecucin llamada reubicacin, este procedimiento permite que el mismo programa se ejecute en cualquier posicin de la memoria fsica

3.4.2 Tcnicas de Remplazo de Paginas


Estrategias de Reemplazo de Pgina: Las rutinas de administracin de almacenamiento del Sistema operativo deben decidir que pgina del almacenamiento primario se debe desplazar para dejar espacio a una pgina entrante (Ah71). Principio de Optimalidad: Para obtener un rendimiento ptimo, la pgina que se debe reemplazar es aquella que tardar ms tiempo en ser utilizada. Esta estrategia ptima de reemplazo se denomina OPT o MIN. Reemplazo de Pginas aleatorio: Es una tcnica sencilla. Todas las pginas que se encuentran en el almacenamiento principal tienen la misma probabilidad de ser elegidas para el reemplazo. Esta estrategia podra seleccionar cualquier pgina para ser reemplazada, incluyendo la siguiente pgina la que se har referencia. Las decisiones de reemplazo aleatorio se de pginas se pueden tomar rpidamente y con un nmero significativo de marcos de pgina. Es un esquema que casi no se utiliza por su enfoque aleatorio de acertar o errar.

Reemplazo de pginas de primeras entradas-primeras salidas (PEPS): Cada pgina se registra en el instante que entr en el almacenamiento primario. Cuando se necesita reemplazar una pgina, se escoge la que ha permanecido en el almacenamiento durante el mayor tiempo. Anomalas PEPS: Belady, Nelson y Shelder descubrieron que al utilizar el reemplazo de pginas PEPS, ciertos patrones de referencia a pgina originan ms fallas de pginas cuando aumenta el nmero de marcos de pgina asignados a un proceso. Este fenmeno se denomina Anomala PEPS o anomala Belady. La columna de la izquierda indica el patrn de referencias a pginas de un proceso. La primera tabla muestra como dicho patrn a referencia de pginas hace que las pginas se carguen a memoria y se reemplacen en secuencia PEPS cuando se asignan tres marcos de pginas a proceso. La segunda tabla muestra como se comporta ste proceso en las mismas circunstancias, pero con cuatro marcos de pginas asignados, a la izquierda de cada tabla se indica si la nueva referencia a una pgina ocasiona o no una falla de pagina. Cuando el proceso se ejecuta en cuatro pginas, experimenta una falla de pgina ms que cuando se ejecuta con tres. Reemplazo de pginas de la menos reciente utilizada: Se selecciona para su reemplazo, a aquella pgina que no se ha sido utilizada durante mayor tiempo. La estrategia se basa en que la heurstica de localidad segn en el cual el pasado reciente es un buen indicador del futuro cercano, de modo que LRU exige que se marque cada pgina con el instante en que .se hace referencia a ella. Por el trabajo adicional que requiere no se usa a menudo en los sistemas actuales; lo que se hace es utilizar estrategias que ese aproximen a la LRU y que no ocasionen grandes costos. Reemplazo de pginas de la menos frecuentemente utilizada (LFU): La pgina 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 pginas corren cierto riesgo de tomar decisiones equivocadas. Esto sucede por el simple hecho de que no se puede predecir con precisin el futuro. Reemplazo de pginas de la no utilizada recientemente (NUR): Como es deseable reemplazar una pgina que no estaba en el almacenamiento primario, la estrategia NUR se lleva a la prctica con la adicin dedos bits de hardware por pgina. Esos bits son: Bit de Referencia = O si no se ha hecho referencia = 1 se ha hecho regencia a la pgina, ha sido a la pgina

Bit

de

Modificacin = O si la pgina no = 1 si la pgina ha sido modificada.

modificada

El bit de modificacin se denomina a menudo Bit sucio. La estrategia NUR trabaja: Inicialmente, los bits de referencias de todas las pginas valen cero. Cuando ocurre una referencia a una pgina, su bit de referencia toma el nmero uno. Cuando se va a reemplazar una pgina a la que no se ha hecho referencia .Si una pgina no ha sido objeto de una referencia se comprueba si ha sido modificada. Si lo ha sido se reemplaza. Pues requiere menos trabajo que el reemplazo de una pgina modificada, la cual debe escribirse en el almacenamiento secundario. De otro modo hay que reemplazar una pgina modificada. Los bits de referencia de las pginas activas cambiarn a 1 casi de inmediato. Segn se ha descrito el esquema NUR origina la existencia de cuatro grupos de pginas: Grupo 1 sin referencia no modificado Grupo 2 sin referencia modificado Grupo 3 con referencia no modificado Grupo 4 con referencia modificado Las pginas de los dos primeros grupos se reemplazarn primero, y las de los ltimos grupos, al final. Las pginas de un grupo se seleccionan aleatoriamente para ser reemplazadas. Obsrvese que el grupo 2 parece describir una situaci6n irreal en la que las pginas han sido modificadas, pero no se ha hecho referencia a ellas; sin embargo, esto es una consecuencia simple de la reiniciacin peridica de los bits de referencia (pero no de los bits de modificaci6n) y es perfectamente razonable. Modificaciones de PEPS; reemplazo de pginas por reloj y reemplazo de pginas con segunda oportunidad: La estrategia PEPS puede decidir reemplazar una pgina muy utilizada que ha permanecido en memoria durante mucho tiempo. Esta posibilidad se puede evitar reemplazando slo aquellas pginas cuyos bits de referencia valgan O. La variante de PEPS denominada con segunde oportunidad examina el bit de referencia de la pgina ms antigua; si este bit vale O, se selecciona de inmediato la pgina para ser reemplazada. Si el bit de referencia vale 1, se le asigna el valor O y la pgina se pasa al final de la lista y se considera en esencia como una pgina nueva; gradualmente dicha pgina se desplaza hacia el principio de la lista, donde ser seleccionada para reemplazo slo si su bit de referencia sigue valiendo O. En esencia, esto da a la pgina una segunda oportunidad de permanecer en el almacenamiento principal si su bit de referencia cambia a 1 antes de que la pgina llegue al principio de la lista. La variacin z del reloj del algoritmo de la segunda oportunidad dispone las pginas en una lista circular, en lugar de en una lista lineal. Un apuntador a la lista se desplaza alrededor de la lista circular en la misma forma que gira la manecilla de un

reloj. Cuando el bit de referencia de una pgina toma el valor O, el apuntador se mueve al siguiente elemento de la lista (simulando el movirl1iento de esta pgina al final de la lista PEPS).

3.4.2 Paginacion por Demanda


Un sistema de paginacin por demanda es similar a un sistema de paginacin con intercambios. Los procesos residen en memoria secundaria (en el disco). Cuando queremos ejecutar un proceso, lo metemos en memoria. Sin embargo, en vez de intercambiar todo el proceso hacia la memoria, utilizamos un intercambiador perezoso. Un intercambiador perezoso nunca reincorpora una pgina a memoria a menos que se necesite. Como ahora consideramos un proceso como una secuencia de pginas, en vez de un gran espacio contiguo de direcciones, el trmino intercambio es tcnicamente incorrecto. Un intercambiador manipula procesos enteros, mientras que un paginador trata con las pginas individualmente de un proceso. Cuando un proceso se reincorpora, el paginador lleva a memoria las pginas necesarias. As evita colocar en la memoria pginas que no se utilizarn, reduciendo el tiempo de intercambio y la cantidad de memoria fsica necesaria. Este esquema requiere apoyo del hardware. Generalmente se aade un bit ms a cada entrada de la tabla de pginas: un bit vlido-invlido. Cuando este bit est asignado como vlido, indica que la pgina asociada se encuentra en memoria. Si el bit est como invlido, este valor indica que la pgina est en disco. Una pgina marcada como invlida no tendr ningn efecto si el proceso nunca intenta acceder a esa pgina. Pero qu sucede si el proceso trata de usar una pgina que no se incorpor a la memoria? Si adivinamos mal y el proceso trata de acceder a una pgina que no se trajo a memoria, ocurrir una trampa de fallo de pgina. El hardware de paginacin, al traducir la direccin mediante la tabla de pginas, observar que el valor del bit es invlido, generando una trampa para el sistema operativo (error de direccin no vlido). Normalmente, un error de direccin no vlida es consecuencia de intentar utilizar una direccin de memoria ilegal; en este caso, el proceso deber terminar. Sin embargo, en esta situacin la trampa es el resultado del fallo de pgina del sistema operativo al no transferir a memoria una parte vlida del proceso, tratando de minimizar el tiempo adicional de transferencia de disco y los requisitos de memoria. Por tanto, debemos corregir esta omisin.

3.4.4 Paginacin Anticipada


El S. O. intenta predecir las pginas que un proceso va a necesitar y a continuacin precarga estas pginas cuando hay espacio disponible . Mientras el proceso ejecuta sus pginas actuales, el sistema carga pginas nuevas que estarn disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecucin de un proceso se puede reducir.

3.4.5 Liberacin de Pagina


Un proceso usuario puede emitir una liberacin voluntaria de pgina para liberar el marco de pgina cuando ya no necesitara esa pgina. Se puede eliminar el desperdicio y acelerar la ejecucin. El inconveniente es que la incorporacin de mandatos de liberacin de pginas dentro de los programas de usuarios puede ser peligroso y retrasar el desarrollo de aplicaciones. Los compiladores y S. O. deberan detectar automticamente situaciones de liberacin de pgina mucho antes de lo que es posible con estrategias de conjuntos de trabajo. Estrategias de reemplazo de pginas. Menos frecuentemente utilizada (LFU).

Se reemplaza la pgina a la que se ha hecho referencia con menos frecuencia.

No utilizada recientemente (NUR).

Las pginas no utilizadas recientemente, es poco probable que sean referenciadas en un futuro cercano. Por ello se las elige para el reemplazo.

3.4.6 Tamao de Pgina


Liberacin de Pgina Un proceso usuario puede emitir una liberacin voluntaria de pgina para liberar el marco de pgina cuando ya no necesitara esa pgina. Se puede eliminar el desperdicio y acelerar la ejecucin. El inconveniente es que la incorporacin de mandatos de liberacin de pginas dentro de los programas de usuarios puede ser peligroso y retrasar el desarrollo de aplicaciones.

Los compiladores y S. O. deberan detectar automticamente situaciones de liberacin de pgina mucho antes de lo que es posible con estrategias de conjuntos de trabajo.
Generalmente el almacenamiento real se divide en marcos o celdas de pgina de tamao fijo. Los interrogantes tienen que ver con el tamao de las pginas, si todas las pginas tendrn igual tamao, si en caso de utilizar pginas de diferente tamao las pginas mayores deben ser o no mltiplos enteros de las menores, etc. Algunas consideraciones para determinar el tamao de pgina son las siguientes:

Cuanto ms pequeo sea el tamao de una pgina, ms pginas y marcos de pginas habr y mayores sern las tablas de pginas: o El desperdicio de almacenamiento debido al tamao excesivo de las tablas de pgina se llama fragmentacin de tablas. o Esto indica la necesidad de pginas ms grandes. Con pginas grandes, grandes cantidades de informacin que nunca llegara a ser referenciada, se paginarn hacia el almacenamiento primario: o Esto indica la necesidad de pginas ms pequeas. Debido a que las transferencias de e / s del disco (paginacin) consumen bastante tiempo, se debe minimizar la paginacin que un proceso requiera: o Esto indica la necesidad de pginas grandes. Los programas tienden a mostrar la propiedad de localidad de referencia y esta localidad tiende a ser pequea: o Esto indica la necesidad de pginas pequeas.

Los procedimientos y datos rara vez comprenden un nmero entero de pginas, por lo que los sistemas de paginacin experimentan una fragmentacin

interna:
o o

El desperdicio promedio es de 1 / 2 pgina no usada por segmento (grupo) de pginas, que estar en la ltima pgina del segmento. Esto indica la necesidad de pginas pequeas.

Los tamaos de pagina mas utilizados son: 512 b, 1 kb, 2 kb, 4 kb.

Comportamiento de un Programa en la Paginacin Respecto del porcentaje de las pginas de un proceso tpico referenciadas desde el momento de iniciarse su ejecucin:

Un proceso tiende a hacer referencia a una parte significativa de sus pginas inmediatamente despus de iniciar su ejecucin. El proceso puede concluir sin haber referenciado a algunas de sus pginas, correspondientes a rutinas que atienden errores que no se produjeron.

Respecto de variar el tamao de la pgina manteniendo constante la cantidad de almacenamiento primario:

El nmero de fallos de pginas experimentados por un proceso en ejecucin tiende a aumentar con el tamao de la pgina, debido a que se traen al almacenamiento primario un mayor nmero de procedimientos y datos que no sern referenciados, restando lugar para los que s lo sern.

Respecto de cmo el promedio de tiempo interfallos (tiempo entre fallos de pgina) vara al aumentar el nmero de marcos de pgina asignados al proceso:

Cuanto ms marcos de pgina tenga un proceso, mayor ser el tiempo entre los fallos de pginas. El punto de inflexin se da cuando el proceso tiene todo su conjunto de trabajo en el almacenamiento primario. Asignar marcos de pgina adicionales ms all del punto de inflexin no produce efectos significativos sobre el tiempo interfallos.

Respecto del porcentaje de instrucciones de una pgina que son ejecutadas antes de transferirse el control a otra pgina, los valores experimentales obtenidos indican un mximo de 200 instrucciones por pgina de 1 kb (ver Figura 3.39).

También podría gustarte