Trabajo operativos

33
Alumnos Cortez B Melénde Miranda Montoya Solís Agu Miercoles Facultad de Informática y Escuela de Info Cátedra de R Asignatura Sistemas O CATEDRチTIC Lic. Otto Rolando Oliv TEMA Gestión de Memoria Grupo: 09 s: Beltrán, Jacqueline Caridad ez Magaña, Eduardo Alexander a Rodas, Mario José a Valladares, Lilian Cristabel uilar, Erika del Carmen (Coordina FECHA DE ENTREGA : s 02 de Octubre 2013 Ciencias Aplicadas ormática Redes Operativos S.O CO: vares Salazar a Virtual Carnet: 25-4935-2008 17-0611-2006 25-5136-2008 13-0735-2002 adora) 25-48032007 : San Salvador, El Salvador

Transcript of Trabajo operativos

Page 1: Trabajo operativos

Facultad de Informática y Ciencias Aplicadas

Escuela de Informática

Cátedra de Redes

Asignatura Sistemas Operativos S.O

CATEDRÁTICO:

Lic. Otto Rolando Olivares Salazar

SECCIÓN: 01TEMA

Gestión de Memoria Virtual

Grupo: 09

Alumnos: Carnet:

Cortez Beltrán, Jacqueline Caridad 25-4935-2008

Meléndez Magaña, Eduardo Alexander 17-0611-2006

Miranda Rodas, Mario José 25-5136-2008

Montoya Valladares, Lilian Cristabel 13-0735-2002

Solís Aguilar, Erika del Carmen (Coordinadora) 25-48032007

FECHA DE ENTREGA :

Miercoles 02 de Octubre 2013 San Salvador, El Salvador

Facultad de Informática y Ciencias Aplicadas

Escuela de Informática

Cátedra de Redes

Asignatura Sistemas Operativos S.O

CATEDRÁTICO:

Lic. Otto Rolando Olivares Salazar

SECCIÓN: 01TEMA

Gestión de Memoria Virtual

Grupo: 09

Alumnos: Carnet:

Cortez Beltrán, Jacqueline Caridad 25-4935-2008

Meléndez Magaña, Eduardo Alexander 17-0611-2006

Miranda Rodas, Mario José 25-5136-2008

Montoya Valladares, Lilian Cristabel 13-0735-2002

Solís Aguilar, Erika del Carmen (Coordinadora) 25-48032007

FECHA DE ENTREGA :

Miercoles 02 de Octubre 2013 San Salvador, El Salvador

Facultad de Informática y Ciencias Aplicadas

Escuela de Informática

Cátedra de Redes

Asignatura Sistemas Operativos S.O

CATEDRÁTICO:

Lic. Otto Rolando Olivares Salazar

SECCIÓN: 01TEMA

Gestión de Memoria Virtual

Grupo: 09

Alumnos: Carnet:

Cortez Beltrán, Jacqueline Caridad 25-4935-2008

Meléndez Magaña, Eduardo Alexander 17-0611-2006

Miranda Rodas, Mario José 25-5136-2008

Montoya Valladares, Lilian Cristabel 13-0735-2002

Solís Aguilar, Erika del Carmen (Coordinadora) 25-48032007

FECHA DE ENTREGA :

Miercoles 02 de Octubre 2013 San Salvador, El Salvador

Page 2: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 2

INDICE

Portada………………………………………………………………………………………………………………...i

Índice………………………………………………………………………………………………………………….2

Introducción………………………………………………………………………………………………………….3

Objetivos……………………………………………………………………………………………………………...4

Justificación………………………………………………………………………………………………………….5

Marco Teórico……………………………………………………………………………………………………….6

Que es gestión de memoria virtual…………………………………………………………………………..7-8

Paginación por Demanda…………………………………………………………………………………….9-10

Reemplazo de Pagina………………………………………………………………………………………..11-15

Algoritmos de Reemplazo…………………………………………………………………………………...16-20

Asignación de Marcos…………………………………………………………………………………………...21

Hiperpaginación………………………………………………………………………………………………22-25

Escenario de Aplicabilidad…..……………………………………………………………………………..26-28

Conclusión………………………………………………………………………………………………………….29

Glosario………………………………………………………………………………………………………….30-31

Bibliografía………………………………………………………………………………………………………….32

Page 3: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 3

INTRODUCCION

El presente trabajo de investigación, pretende conocer y demostrar la gestión de memoria

virtual para la cual hemos estructurados en cinco segmentos con el fin de obtener un

panorama más amplio del tema a tratar.

De inicio se aborda de manera general la paginación por demanda en la cual cada proceso

tiene su propia tabla de paginación correspondiente a la memoria principal

Posteriormente se analiza el reemplazo de página, el algoritmo de reemplazo, la asignación de

marcos y la Hiperpaginación.

Al final el presente trabajo presentaremos unos escenarios donde se administra la memoria

virtual en diferentes sistemas operativos como (Windows 8, Centos y Solaris).

Page 4: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 4

OBJETIVO GENERAL

Comprender el uso, manejo y gestión de memoria virtual en sistemas operativos Linus y

sistemas operativos Windows

OBJETIVOS ESPECIFICOS

Conocer como los sistemas operativos acceden y asignan memoria por medio de la

paginación por demanda y el reemplazo de página.

Interpretar por medio de técnicas algoritmos como es que trabaja la memoria virtual en

los sistemas operativos.

Describir como es que se da la hiperpaginación entre intercambio de procesos, de

acuerdo a como se comportan los algoritmos de asignación de marcos.

Page 5: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 5

JUSTIFICACION

La gestión de memoria virtual es uno de los temas muy importantes para el uso de los sistemasoperativos modernos Si nos quedamos sin memoria no podremos ejecutar más programas y losque estamos ejecutando tendrán problemas para trabajar con más datos. Además, el uso dememoria virtual puede hacer que nuestro equipo funcione más lento si es necesario ir por datosal disco duro. Es siempre un compromiso entre la velocidad y la cantidad de datos que elsistema es capaz de procesar.No hemos enfocado mucho a este tema ya que el hecho de hacer una buena gestión dememoria virtual trae muchos beneficios como por ejemplo:

*El tamaño del programa no se halla limitado por el tamaño de la memoria física, sino por elespacio virtual de direcciones

*Cada programa precisa de menos memoria física para ejecutarse, ya que parte de él puederesidir en el almacenamiento secundario. Es por ello por los que aumenta el grado demultiprogramación, es decir elnúmero de procesos que se pueden ejecutar simultáneamente en memoria

* Al mover páginas o segmentos a memoria y no todo el proceso (caso del swapping) sereduce la cantidad de datos que se envían en la E/S

La memoria virtual ha llegado a ser un componente esencial de los S.O, convirtiéndose en unaherramienta útil de gestión de memoria.Desde su aparición se ha comprobado que se agilizó la labor del programador, yaque desarrollando un programa no debe restringir su tamaño, no teniendo necesidad deconocer la capacidad de memoria principal disponible.Oculta también la complejidad de los algoritmos utilizados para el intercambio de los “trozos” delos procesos.Por dichas razones, se busca implementarla en la mayoría de los S.O. actuales, dejado comooptativa, la no utilización de la misma.

Page 6: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 6

Page 7: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 7

Que es la gestión de memoriaSe denomina gestión de memoria al acto de gestionar la memoria de un dispositivo informático.De forma simplificada se trata de proveer mecanismos para asignar secciones de memoria a losprogramas que las solicitan, y a la vez, liberar las secciones de memoria que ya no se utilizanpara que estén disponibles para otros programas. . El proceso de asignación de memoria a losprogramas que las solicitan es llamado por algunos "alocar" (del inglés "allocate" que significaasignar) pero la palabra "alocar" tiene otro significado para el diccionario de la lengua de laReal Academia Española. La gestión de la memoria principal de un ordenador es una tarea desuma importancia para el funcionamiento del mismo.

La memoria virtual es una técnica de gestión de la memoria que permite que el sistemaoperativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidadde memoria que esté disponible físicamente. La mayoría de los ordenadores tienen cuatro tiposde memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), lamemoria RAM y el disco duro. En ese orden, van de menor capacidad y mayor velocidad amayor capacidad y menor velocidad Cuando se usa memoria virtual, o cuando una direcciónes leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce lasdirecciones de memoria generadas por el software (direcciones virtuales) en:

la dirección real de memoria (la dirección de memoria física): En el primer caso, lareferencia a la memoria es completada, como si la memoria virtual no hubiera estadoinvolucrada: el software accede donde debía y sigue ejecutando normalmente.

una indicación de que la dirección de memoria deseada no se encuentra en memoriaprincipal (llamado excepción de memoria virtual): En el segundo caso, el sistema operativoes invocado para manejar la situación y permitir que el programa siga ejecutando o abortesegún sea el caso.

La memoria virtual proporciona la simulación de un espacio de memoria mucho mayor que lamemoria física de una máquina. Esta "ilusión" permite que los programas se hagan sin tener encuenta el tamaño exacto de la memoria física. La ilusión de la memoria virtual está soportadapor el mecanismo de traducción de memoria, junto con una gran cantidad dealmacenamiento rápido en disco duro. Así en cualquier momento el espacio de direccionesvirtual hace un seguimiento de tal forma que una pequeña parte de él, está en memoria física yel resto almacenado en el disco, y puede ser referenciado fácilmente.

Page 8: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 8

Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal esaccesible a la CPU, según un programa va ejecutándose, la proximidad de referencias amemoria cambia, necesitando que algunas partes de la memoria virtual se traigan a lamemoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver adepositar en el disco (archivos de paginación).

La memoria virtual ha llegado a ser un componente esencial de la mayoría de los sistemasoperativos actuales. Y como en un instante dado, en la memoria sólo se tienen unos pocosfragmentos de un proceso dado, se pueden mantener más procesos en la memoria. Es más, seahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de lamemoria. Sin embargo, el sistema operativo debe saber cómo gestionar este esquema.- Lamemoria virtual también simplifica la carga del programa para su ejecución, llamadareubicación, este procedimiento permite que el mismo programa se ejecute en cualquierposición de la memoria física

En un estado estable, prácticamente toda la memoria principal estará ocupada confragmentos de procesos, por lo que el procesador y el S.O tendrán acceso directo a la mayorcantidad de procesos posibles, y cuando el S.O traiga a la memoria un fragmento, deberáexpulsar otro. Si expulsa un fragmento justo antes de ser usado, tendrá que traer de nuevo elfragmento de manera casi inmediata. Demasiados intercambios de fragmentos conducen a loque se conoce como Hiperpaginación.

Page 9: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 9

QUE ES LA PAGINACION EN LA MEMORIA VIRTUAL

La memoria virtual usualmente (pero no necesariamente) es implementada usando paginación.En paginación, los bits menos significativos de la dirección de memoria virtual son preservados yusados directamente como los bits de orden menos significativos de la dirección de memoriafísica. Los bits más significativos son usados como una clave en una o más tablas de traducciónde direcciones (llamadas tablas de paginación), para encontrar la parte restante de ladirección física buscada.

El término memoria virtual se asocia normalmente con sistemas que emplean paginación,aunque también se puede usar memoria virtual basada en la segmentación. El uso de lapaginación en la memoria virtual fue presentado por primera vez en el computador Atlas.

Cada proceso tiene su propia tabla de páginas y cuando carga todas sus páginas en lamemoria principal, se crea y carga en la memoria principal una tabla de páginas. Cada entradade la tabla de páginas contiene el número de marco de la página correspondiente en lamemoria principal. Puesto que sólo algunas de las páginas de un proceso pueden estar en lamemoria principal, se necesita un bit en cada entrada de la tabla para indicar si la páginacorrespondiente está presente (P) en la memoria principal o no. Si el bit indica que la páginaestá en la memoria, la entrada incluye también el número de marco para esa página.

Otro bit de control necesario en la entrada de la tabla de páginas es el bit de modificación(M), para indicar si el contenido de la página correspondiente se ha alterado desde que lapágina se cargó en la memoria principal. Si no ha habido cambios, no es necesario escribir lapágina cuando sea sustituida en el marco que ocupa actualmente.

QUE ES LA PAGINACION POR DEMANDA

Cuando la memoria real de un computador se hace insuficiente, el núcleo del sistemaoperativo puede emular una memoria de mayor tamaño que la memoria real, haciendo queparte de los procesos se mantengan en disco. A este tipo de memoria se le denomina memoriavirtual, pues es una memoria inexistente, pero que para cualquier proceso es indistinguible de lamemoria real.

El mecanismo que implementa la memoria virtual se denomina paginamiento en demanda yconsiste en que el núcleo lleva a disco las páginas virtuales de un proceso que tienen pocaprobabilidad de ser referenciadas en el futuro cercano. Un proceso puede continuar corriendocon parte de sus páginas en disco, pero con la condición de no accesar esas páginas.

La realización de un sistema de memoria virtual se hace posible gracias al principio de localidadde las referencias: un proceso tiende a concentrar el 90% de sus accesos a la memoria en sóloel 10% de sus páginas. Sin embargo, para que un proceso pueda accesar una palabra, esnecesario que la página que contiene esa palabra deba estar completamente residente enmemoria. Aún así, empíricamente se observa que un proceso puede pasar períodos

Page 10: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 10

prolongados en los que accesa sólo entre un 20 al 50% de sus páginas. El resto de las páginaspuede llevarse a disco mientras no son usadas.

Cuando un proceso intenta acceder a una dirección virtual que no está en esos momentos enmemoria, el procesador no puede encontrar la entrada en la tabla de páginas de la páginavirtual referenciada.

Si dirección virtual que ha fallado es inválida, significa que el proceso ha intentado acceder auna dirección que no debería. Puede ser que la aplicación haya hecho algo erróneo, porejemplo escribir en una posición aleatoria de memoria. En este caso, el sistema operativo ha determinarlo, protegiendo así a otros procesos de este “perverso” proceso.

Si la dirección virtual que ha producido el fallo era válida pero la página que referencia no estáen memoria en ese momento, el sistema operativo tiene que traer la página apropiada amemoria desde el disco. Los accesos a disco requieren mucho tiempo, en términos relativos, ypor tanto el proceso tiene que esperar cierto tiempo hasta que la página se haya leído. Si hayotros procesos que pueden ejecutarse entonces el sistema operativo elegirá alguno de éstospara ejecutar.

La página pedida se escribe en una página física libre y se añade una entrada a la tabla depáginas del proceso para esta página. El proceso en entonces se pone otra vez en ejecuciónjusto en la instrucción donde se produjo el fallo de página. Esta vez sí que se realizará con éxitoel acceso a la dirección de memoria virtual, el procesador puede hacer la traducción dedirección virtual a física y el proceso continua normalmente.

Linux utiliza la paginación por demanda para cargar imágenes ejecutables en la memoriavirtual de un proceso. Siempre que se ejecuta un proceso, se abre el fichero que la contiene ysu contenido se asocia en la memoria virtual del proceso. Esto se hace modificando lasestructuras de datos que describen el mapa de memoria del proceso y se conoce comoasociación de memoria.

Sin embargo, sólo la primera parte de la imagen se copia realmente en memoria física. El restode la imagen se deja en disco. Conforme se va ejecutando, se generan fallos de página y Linuxutiliza el mapa de memoria del proceso para determinar qué partes de la imagen ha de traer amemoria para ser ejecutadas.

Page 11: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 11

QUE ES EL REEMPLAZO POR PÁGINA DENTRO DE PAGINACION POR DEMANDAEn los sistemas que usan paginación para el control de su memoria, se utilizan los algoritmos dereemplazo de página, esto parapoder decidir que paginas pueden ser sacadas de memoria para cuandosenecesite meter una nueva y no hay espacio

Bit de validez.El bit de validez quiere decir que a cada página se le da un bit de valor, 1 para representar supresencia y 0 para representar su ausencia.

Imagen.En este fallo de pagina cuando se quiso ejecutar el marco 3 el bit de validez estaba en 0 lo cualindica ausencia, por lo tanto se produce el fallo de pagina, entonces realiza el proceso de, si nohay marcos, selecciona un marco para reemplazar y lo guarda en memoria virtual, y entoncesse queda ya el marco libre, entonces se asigna el marco a la pagina que fue requerida yse resetean las tablas de páginas con la nueva dirección del marco y se vuelve a ejecutar elproceso. Ahora para este reemplazo de páginas existen varios algoritmos, los cuales varíanen cuantos fallos de página tiene cada uno. Las situaciones en estos sistemas que usanpaginación es de que necesitan proyectar una pagina en un marco, pero en memoria nohay marcos disponibles.

ESTRATEGIAS DE REEMPLAZO DE PÁGINA:Las rutinas de administración de almacenamiento del Sistema operativo deben decidir quepágina del almacenamiento primario se debe desplazar para dejar espacio a una páginaentrante (Ah71).

Principio de Optimalidad: Para obtener un rendimiento óptimo, la página que se debereemplazar es aquella que tardará más tiempo en ser utilizada. Esta estrategia óptima dereemplazo se denomina OPT o MIN.

Reemplazo de Páginas aleatorio: Es una técnica sencilla. Todas las páginas que se encuentranen el almacenamiento principal tienen la misma probabilidad de ser elegidas para elreemplazo. Esta estrategia podría seleccionar cualquier página para ser reemplazada,incluyendo la siguiente página la que se hará referencia. Las decisiones de reemplazo aleatoriose de páginas se pueden tomar rápidamente y con un número significativo de marcos depágina. Es un esquema que casi no se utiliza por su enfoque aleatorio de acertar o errar.

Reemplazo de páginas de primeras entradas-primeras salidas (PEPS): Cada página se registraen el instante que entró en el almacenamiento primario. Cuando se necesita reemplazar unapágina, se escoge la que ha permanecido en el almacenamiento durante el mayor tiempo.

Page 12: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 12

Anomalías PEPS: Belady, Nelson y Shelder descubrieron que al utilizar el reemplazo de páginasPEPS, ciertos patrones de referencia a página originan más fallas de páginas cuando aumentael número de marcos de página asignados a un proceso.Este fenómeno se denomina Anomalía PEPS o anomalía Belady. La columna de la izquierdaindica el patrón de referencias a páginas de un proceso. La primera tabla muestra como dichopatrón a referencia de páginas hace que las páginas se carguen a memoria y se reemplacenen secuencia PEPS cuando se asignan tres marcos de páginas a proceso. La segunda tablamuestra como se comporta éste proceso en las mismas circunstancias, pero con cuatro marcosde páginas asignados, a la izquierda de cada tabla se indica si la nueva referencia a unapágina ocasiona o no una falla de pagina. Cuando el proceso se ejecuta en cuatro páginas,experimenta una falla de página más que cuando se ejecuta con tres.

Reemplazo de páginas de la menos reciente utilizada: Se selecciona para su reemplazo, aaquella página que no se ha sido utilizada durante mayor tiempo. La estrategia se basa en quela heurística de localidad según en el cual el pasado reciente es un buen indicador del futurocercano, de modo que LRU exige que se marque cada página con el instante en que .se hacereferencia a ella. Por el trabajo adicional que requiere no se usa a menudo en los sistemasactuales; lo que se hace es utilizar estrategias que ese aproximen a la LRU y que no ocasionengrandes costos.

Reemplazo de páginas de la menos frecuentemente utilizada (LFU): La página por remplazar esaquella que ha sido utilizada menos frecuentemente o a la que se ha hecho referencia conmenos frecuencia.

Al parecer estos esquemas de reemplazo de páginas corren cierto riesgo de tomar decisionesequivocadas. Esto sucede por el simple hecho de que no se puede predecir con precisión elfuturo.

Reemplazo de páginas de la no utilizada recientemente (NUR): Como es deseable reemplazaruna página que no estaba en el almacenamiento primario, la estrategia NUR se lleva a lapráctica con la adición dedos bits de hardware por página. Esos bits son:

Bit de Referencia = O si no se ha hecho referencia a la página= 1 se ha hecho regencia a la página,

Bit de Modificación = O si la página no ha sido modificada= 1 si la página ha sido modificada.

El bit de modificación se denomina a menudo Bit sucio. La estrategia NUR trabaja: Inicialmente,los bits de referencias de todas las páginas valen cero. Cuando ocurre una referencia a unapágina, su bit de referencia toma el número uno. Cuando se va a reemplazar una página a laque no se ha hecho referencia .Si una página no ha sido objeto de una referencia secomprueba si ha sido modificada. Si lo ha sido se reemplaza. Pues requiere menos trabajo que

Page 13: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 13

el reemplazo de una página modificada, la cual debe escribirse en el almacenamientosecundario. De otro modo hay que reemplazar una página modificada.

Los bits de referencia de las páginas activas cambiarán a 1 casi de inmediato. Según se hadescrito el esquema NUR origina la existencia de cuatro grupos de páginas:

Grupo 1 sin referencia no modificadoGrupo 2 sin referencia modificadoGrupo 3 con referencia no modificadoGrupo 4 con referencia modificado

Las páginas de los dos primeros grupos se reemplazarán primero, y las de los últimos grupos, alfinal. Las páginas de un grupo se seleccionan aleatoriamente para ser reemplazadas.Obsérvese que el grupo 2 parece describir una situaci6n irreal en la que las páginas han sidomodificadas, pero no se ha hecho referencia a ellas; sin embargo, esto es una consecuenciasimple de la reiniciación periódica de los bits de referencia (pero no de los bits de modificaci6n)y es perfectamente razonable.Modificaciones de PEPS; reemplazo de páginas por reloj y reemplazo de páginas con segundaoportunidad: La estrategia PEPS puede decidir reemplazar una página muy utilizada que hapermanecido en memoria durante mucho tiempo. Esta posibilidad se puede evitarreemplazando sólo aquellas páginas cuyos bits de referencia valgan O.

La variante de PEPS denominada “con segunde oportunidad” examina el bit de referencia dela página más antigua; si este bit vale O, se selecciona de inmediato la página para serreemplazada. Si el bit de referencia vale 1, se le asigna el valor O y la página se pasa al final dela lista y se considera en esencia como una página nueva; gradualmente dicha página sedesplaza hacia el principio de la lista, donde será seleccionada para reemplazo sólo si su bit dereferencia sigue valiendo O. En esencia, esto da a la página una segunda oportunidad depermanecer en el almacenamiento principal si su bit de referencia cambia a 1 antes de que lapágina llegue al principio de la lista. La variación ‘z’ del reloj” del algoritmo de la segundaoportunidad dispone las páginas 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 lamanecilla de un reloj. Cuando el bit de referencia de una página toma el valor O, el apuntadorse mueve al siguiente elemento de la lista (simulando el movirl1iento de esta página al final dela lista PEPS).

Page 14: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 14

Pasos para manejar un fallo de página:

•1. Consultamos una tabla interna que recoge si la referencia fue un acceso válido o no válidoa la memoria.

•2. Referencia válida ⇒final del proceso.

Referencia no válida ⇒Traemos la página.

•3. Encontramos un marco libre.

•4. Leemos la página deseada y la colocamos en el marco recién asignado.

•5. Final de la lectura ⇒modificación de la tabla interna y la tdp, de modo que indique que lapágina ya está en memoria.

Page 15: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 15

•6. Reinicio de la instrucción interrumpida por la trampa de dirección no válida. Ahora elproceso puede acceder a la página como si siempre hubiera estado en la memoria.

Page 16: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 16

ALGORITMOS DE REEMPLAZO DE PÁGINAS POR DEMANDA

Algoritmo LRU (Least Recently Used).

Dos posibles implementaciones

Contadores Se asocia a cada pagina un contador que representa el instante en quefue referenciada, pudiendo determinar la que hace mas tiempo que no se referenciapor el valor del contador.

Lista Cada pagina referenciada se coloca al final de una lista, la primera de la lista es laque hace mas tiempo que no se referencia.

Ninguna de las implementaciones es factible por la carga que supondría manejar loscontadores (o la lista) con cada referencia a memoria.

Asocia a cada pagina el instante en que se uso por ultima vez. Cuando hay que reemplazaruna pagina se selecciona aquella que no ha sido utilizado durante el mayor periodo de tiempo.(se actualiza la marca de tiempo asignado). Este trabaja en base a probabilidad.

Considérese las siguientes referencias: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0,Se usaran marcos de pagina de 3 valores.1

Número de marco 1 2 3 4 5 6 7 8 9 10

MARCO 7 2 2 4 4 4 0 1 1 1

MARCO 0 0 0 0 0 3 3 3 0 0

MARCO 1 1 3 3 2 2 2 2 2 7

Fallos de página:

Page 17: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 17

Se utiliza mucho y se considera muy bueno(Alto rendimiento respecto del óptimo).•Requiere un hardware adicional para su implementación:•Contadores: Reemplazo de la página con un tiempo más largo.•Pila: La base de la pila corresponde con la página LRU.•Esta implementación resulta costosa, ya que contadores y pilas deben actualizarse en cadareferencia a la memoria ⇒acceso más lento a la memoria.

Sistemas reales: implementan aproximaciones a LRU.•No presentan la Anomalía de Belady.

Algoritmos con bits de referencia adicionales:Las técnicas basadas en LRU utilizan un bit de referencia puesto por el hardware.•El hardware enciende el bit de referencia (lo pone a 1) de una página cada vez que se hacereferencia a ella (lectura o escritura).•Examinando este bit no conocemos el orden de uso, pero sí sabemos cuáles páginas se usarony cuáles no.•Es posible obtener información de ordenamiento adicional si registramos los bits de referenciaa intervalos adicionales.•Bytehistórico:•Por ej.: 11000100 se usó más recientemente que 01110111.•LRU: página con el número más bajo.•Si el nº de bits históricos es cero, es decir, dejamos sólo el bit de referencia ⇒Algoritmo desegunda oportunidad.

Algoritmo Segunda Oportunidad Es basicamente un FIFO en el que ande mas se tiene en cuenta el bit de referencia Implementacion muy sencilla: cola circular con las paginas en la que se almacena

tambien el bit de referencia Cuando hay que reemplazar se mira el indice que indica la pagina siguiente a

reemplazar

Page 18: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 18

Si el bit de referencia esta a 0 se reemplaza Si el bit de referencia esta a 1, se pone a 0 y se avanza el indice a la siguiente:

Variaciones del algoritmo de Segunda OportunidadUtilizando la cola circular de páginas pero con el par de bits (referencia, modificación).

1. A partir del índice actual se busca la primera página con (0,0) y se reemplaza.2. Si no se encuentra ninguna, se vuelve a recorrer la cola, buscando una página con

(0,1). La primera que se encuentra es la que se reemplaza.- Al mismo tiempo que sebusca se van limpiando los bits de referencia de las paginas por las que se pasa

3. Si no se encuentra ninguna se vuelve al paso 1

Utilizando dos índices para recorrer la lista. A las páginas que se examinan con el primer índice se les limpia el bit de referencia. Las paginas que al examinarlas con el segundo índice tiene el bit de referencia a 0 son

marcadas como libres El algoritmo se ejecuta a intervalos regulares de tiempo y se mantienen en memoria las

paginas que fueron referenciadas desde que fueron examinadas con el primer índicehasta que se examinan con el segundo

El proceso de robo de paginas en UNIX utiliza este algoritmo

Algoritmos de conteo:•Tienen un contador con el nº de referencias que se hacen a cada página.•Dos esquemas:

Algoritmo LFU (Least Frequently Used):•Reemplaza la página menos frecuentemente usada (cuenta más baja).•Problema: páginas que se usaron mucho durante la fase inicial del proceso y luego no sevuelven a usar.•Solución: desplazar las cuentas un bit a la derecha a intervalos regulares.•Problema serio: páginas traídas recientemente, alta probabilidadde salir (cuenta baja).

Page 19: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 19

Algoritmo MFU (Most Frequently Used):•Reemplaza la página más frecuentemente usada.•Problema: se pueden mantener páginas viejas a las que no se accede.

Técnicas de reemplazo de páginas.

En general se requiere que el algoritmo presente la menor tasa de fallo de página. Paradeterminar el número de falla de pagina para una serie de referencia y un algoritmo dereemplazo se necesita conocer también el numero de marcos disponibles. Evidentemente si elnúmero de marcos aumenta el numero de fallas de pagina se reduce.

Para las referencias: 1, 4, 1, 6, 1, 6, 1, 6, 1, 6, 1.

1 marco de pagina: 11 fallas de pagina.

3 marcos de pagina: 3 fallas de pagina.

146

Cuando la referencia no esta en el marco esto origina un fallo y la carga de la nueva pagina.

Algoritmo FIFO (First in First out).

Asocia a cada pagina el instante en el cual se cargo a memoria. Cuando hay que reemplazaruna pagina se elige la mas antigua.

Page 20: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 20

Considérese las siguientes referencias: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

Se usaran marcos de pagina de 3 valores.

Número de marco 1 2 3 4 5 6 7 8 9 10 11 12 13

MARCO 7 2 2 2 4 4 4 0 0 0 7 7 7

MARCO 0 0 3 3 3 2 2 2 1 1 1 0 0

MARCO 1 1 1 0 0 0 3 3 3 2 2 2 1

Fallos de página: 15

Algoritmo optimo.

Este algoritmo consiste en reemplazar la pagina que no se usara durante el mayor periodode tiempo. (La que este más a la derecha de la referencia actual).

Considérese las siguientes referencias: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

Se usaran marcos de pagina de 3 valores.

Número de marco 1 2 3 4 5 6 7

MARCO 7 2 2 2 2 2 7

MARCO 0 0 0 4 0 0 0

MARCO 1 1 3 3 3 1 1

Fallos de página: 7

Este algoritmo es el que produce menos fallos de página pero el sistema operativo no conocenunca la secuencia del algoritmo.

Page 21: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 21

Los procesos son impredecibles por lo que el sistema operativo no puede saber que es lo quepasara más adelante.

Que es la asignación de marcos

Cada proceso necesita un número mínimo de páginas.• Ejemplo: IBM 370 – 6 paginas para manejar la Instrucción SS MOVE:– 2 paginas abarca la instrucción de 6 bytes.– 2 paginas para traerla.– 2 paginas para llevarla.• Los dos esquemas de distribución más usados.– Distribución fija– Distribución por prioridad

Objetivo fundamental:Tratar de repartir la cantidad de memoria libre entre los distintos procesos.

Reserva de marcos:•Definir un sistema de reparto de marcos a los procesos en ejecución.•Todo proceso debería tener una reserva mínima de marcos.

¿Cómo asignar los marcos a los procesos?•1. Número mínimo de marcos.•2. Algoritmos de asignación; reparto proporcional (por tamaño, por prioridad).•3. Asignación global o local.

Algoritmos de asignación de Marcos Distribución Fija:

•Reparto equitativo: La forma más fácil de dividir m marcos entre n procesos es dar a cadauno una porción equitativa, m/n marcos.•Reparto proporcional: Diferentes procesos requieren diferentes cantidades de memoria⇒asignamos memoria disponible a cada proceso según su tamaño.

Page 22: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 22

Algoritmos de asignación de Marcos Distribución por Prioridad:

•Reparto por prioridad: Concedemos más memoria a un proceso de más alta prioridadcon el fin de acelerar su ejecución.•Estrategia a seguir: esquema de asignación proporcional teniendo en cuenta, el tamañodel proceso y su nivel de prioridad.

Asignación global o local:Varios procesos compiten por los marcos.

•Reemplazo global:Un proceso selecciona un marco de reemplazo de entre el conjunto de todos los marcos(incluso un proceso puede arrebatarle un marco a otro).•Reemplazo local:Un proceso sólo puede seleccionar un marco de entre los que le fueron asignados.El reemplazo global permite a un proceso prioritario aumentar su asignación de marcos aexpensas de procesos de baja prioridad.El reemplazo global generalmente aumenta el rendimiento de un sistema y es el método másutilizado.

Que es la Hiperpaginación:

es el error que mas frecuentemente se da si no se utiliza bien las dos funciones anteriores,se presenta en el momento que se hace una intercambio , por que otro proceso tubo un fallode pagina y el proceso que llego a ejecución necesita la pagina que justo cargo el sistemapara que ese marco llegara la pagina que estaba solicitando el proceso anterior, destruye elflujo de procesos , debe evitarse

Cuando el aprovechamiento es bajo se aumenta el grado de multiprogramación. Es posible reducir el nº de marcos asignados al mínimo, aunque hay cierto nº de páginas

que están en servicio activo.

Si el proceso no tiene suficientes marcos para estas páginas, pronto causa un fallo depágina.

Page 23: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 23

En ese momento el proceso deberá reemplazar alguna página y, dado que todas suspáginas están en uso activo, deberá reemplazar una que volverá a necesitar deinmediato.

Resultado: Se genera rápidamente otro fallo de página y otro y otro.

Consecuencia: Disminuye el aprovechamiento de la CPU y entonces el planificadorde CPU aumenta el grado de multiprogramación, agravando aún más el problema.

Si el grado de multiprogramación es excesivo, el sistema puede estar más tiempo paginandoque haciendo trabajo productivo. Esta actividad se conoce como Hiperpaginación. ¿Cómoevitarla?:•Políticas de reemplazo local.

•La Hiperpaginación de un proceso puede afectar al resto.

•Concediendo memoria según las necesidades reales (localidades, working set, ...)

Modelo del conjunto de trabajo (workingset):

Se observa que todo proceso trabaja en cada momento con unas zonas de código ydatos bien delimitadas: localidad.

Page 24: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 24

Cuando se salta a otra subrutina, etc., se cambia la localidad.

Si un proceso tiene asignada su localidad en MP, no ocasiona fallos de página.

Concepto que trata de aproximarse a la localidad actual de un proceso (workingset oárea activa).

Es el conjunto de páginas con el que ha trabajado un proceso

WORKING SET REAL

WORKING SET REAL

Page 25: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 25

Frecuencia de fallos de página elevada ⇒nos interesa controlar la frecuencia de fallos depágina.

La frecuencia de fallos está muy ligada con el nº de marcos:

Frecuencias altas ⇒el proceso necesita más marcos.

Frecuencias bajas ⇒al proceso le sobran marcos.

Los marcos de página se repartirán entre los procesos que tengan fallos de páginamuy frecuentes.

Podemos establecer límites superiores e inferiores para la frecuencia de fallos depágina deseada.

Frecuencia de fallos de página:

Page 26: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 26

Page 27: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 27

Page 28: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 28

Espacio para disco con información

Page 29: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 29

CONCLUSION

Tras la realización de esta investigación y un análisis de como la memoria virtual es ejecutada

en diferentes sistemas operativos es posible concluir que:

Page 30: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 30

La utilización de la memoria virtual en cierta forma en cada uno de los sistemas operativos vistos

se adapta a todo a los tipos de procesos que se realizan de manera siendo más efectivo cada

uno en el manejo de ellos aunque algunas veces se lograr un objetivo común la velocidad de

las aplicaciones por completo.

El uso de la memoria virtual ayuda a aprovechar mejor la memoria RAM de los equipos. Y Cada

vez se mejora más la forma en que la memoria virtual es manejada en los sistemas operativos y

no parece que pueda ser reemplazada.

GLOSARIO

Alocar: del inglés "allocate" que significa asignar) pero la palabra "alocar".

Page 31: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 31

Alocar: La gestión de la memoria principal de un ordenador es una tarea de suma

importancia para el funcionamiento del mismo.

Memoria virtual: La memoria virtual es una técnica para proporcionar la simulación de un

espacio de memoria mucho mayor que la memoria física de una máquina.

Swapping: el espacio de intercambio, es una zona del disco (un fichero o partición) que se

usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física. A

este espacio se le suele llamar swap, del inglés "intercambiar".

Hiperpaginación: donde el procesador consume más tiempo intercambiando fragmentos

que ejecutando instrucciones de usuario.

Paginamiento: los sistemas de paginación de memoria dividen los programas en pequeñas

partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las

páginas llamados marcos de página

Page 32: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 32

Paginación: Sistema de gestión de memoria, en el que tanto la memoria física como la

memoria virtual se dividen en bloques de igual tamaño (llamadas páginas), que son las que se

vuelcan a disco a medida que se va llenando la memoria física, o se recuperan de disco

cuando vuelven a ser necesarias.

Schedule: El planificador (en inglés Schedule) es un componente funcional muy importante

de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de

tiempo real. Su función consiste en repartir el tiempo disponible de un microprocesador entre

todos los procesos que están disponibles para su ejecución.

Trashing: Termino que podría traducirse como “recoger o buscar en la basura”. Se trata de

buscar y encontrar en la basura (física o informática) datos que nos proporcionen información

sensible de una empresa.

LRU: significa Least-Recently-Used

BIBLIOGRAFIA

http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_memoria

http://es.wikipedia.org/wiki/Memoria_virtual

Page 33: Trabajo operativos

Gestión de Memoria Virtual

SISTEMAS OPERATIVOS Página 33

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/MEMVIR02.htm#_MEMORIA_VIRTUAL

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/MEMVIR02.htm

http://www.dc.fi.udc.es/~so-grado/SO-MemoriaVirtual.pdf

http://seneca.cucea.udg.mx/curso_linea/Sistemas_OperativosI/cursoSO/modulo3seccion2.pdf

http://users.dcc.uchile.cl/~jpiquer/Docencia/SO/aps/node30.html

http://lauenbo.galeon.com/Parte_2_resuel.pdf

http://es.wikipedia.org/wiki/Hiperpaginaci%C3%B3n

http://systemsop.blogspot.com/2013/05/fallo-de-pagina.html

http://www.dc.fi.udc.es/~so-grado/SO-MemoriaVirtual.pdf