memoria virtual

40

Upload: yehimmy-ramirez

Post on 23-Jun-2015

456 views

Category:

Education


2 download

DESCRIPTION

SISTEMAS OPERATIVOS

TRANSCRIPT

Page 1: Memoria virtual
Page 2: Memoria virtual

FIN

Page 3: Memoria virtual
Page 4: Memoria virtual

Permite al programador contemplar la memoria como si constara de varios espacios de direcciones o segmentos.

PRINCIPAL

Page 5: Memoria virtual

1. Simplifica el manejo de estructuras de datos crecientes.2. Permite modificar y recompilar los programas independientemente, sin que sea necesario recompilar o volver a montar el conjunto de programas por completo.3. Se presta a la compartición entre procesos.4. Se presta a la protección.

IMAGEN 1

Page 6: Memoria virtual

IMAGEN 2

Page 7: Memoria virtual

INICIO

Page 8: Memoria virtual
Page 9: Memoria virtual

Esta cache funciona del mismo modo que una memoria cache, contiene la entradas de la tabla de paginas usadas hace menos tiempo.

Dada una dirección virtual el procesador analizara primero la TLB, si la entrada de tabla de paginas esta presente se obtiene el numero de marco y se forma la dirección real.Si no se encuentra la entrada de la tabla de paginas buscada, un procesador emplea el numero de paginas , para buscar en la tabla de paginas, el proceso y examinar la tabla correspondiente de la entrada de paginas.

SIGUIENTE

Page 10: Memoria virtual

Si se encuentra en el archivo el bit de presencia es que la pagina esta en memoria principal y el procesador puede obtener el numero de marco de la entrada de tabla de paginas para formar la dirección real.

Una dirección virtual tendrá normalmente un formato de numero de pagina mas desplazamiento. En primer lugar el sistema en memoria para ver si encuentra la entrada en la tabla de paginas, si es así la dirección real se genera combinando el numero de marco con el desplazamiento si no se accede a la entrada de la tabla de paginas.

IMAGEN

Page 11: Memoria virtual

PRINCIPAL

Page 12: Memoria virtual

La paginación que es transparente al programador, elimina la fragmentación externa y de este modo aprovecha la memoria principal de forma eficiente.

Puesto que los fragmentos se cargan y descargan de memoria principal, son de tamaño constante e igual para todos.

En un sistema con paginación y segmentación combinadas, el espacio de direcciones de un usuario se divide en varios segmentos, según el criterio del programador, cada segmento se vuelve a dividir en varias paginas de tamaño fijo que tienen la misma longitud que un marco de memoria principal

IMAGEN

Page 13: Memoria virtual

INICIO

Page 14: Memoria virtual
Page 15: Memoria virtual

El rendimiento de pende de: Tamaño de la memoria principal Velocidad relativa de memoria principal y secundaria Tamaño y numero de procesos que compiten por los recursos

Compartimiento de programas individuales Lenguaje de programación y compilador Estilo de programador

PRINCIPAL

Page 16: Memoria virtual

Política De LecturaPolítica De UbicaciónPolítica De Remplazó Local y GlobalPolítica De VaciadoPolítica De AsignaciónPolítica OptimaPolítica de mejor ajustePolítica de primer ajuste

INICIO

Page 17: Memoria virtual

Se dividen en:

Son: Son: Son:

Page 18: Memoria virtual

Se evalúan ejecutando una cadena particular de referencias de memoria y contabilizan el numero de fallos de pagina en esa cadena.

El objetivo de los algoritmos de sustitución de paginas es obtener la tasa de fallos de paginas mas baja posible.

PRINCIPAL

Page 19: Memoria virtual

En este método el sistema operativo sólo tiene que guardar en qué orden las páginas fueron cargadas, de modo que al necesitar hacer espacio pueda fácilmente elegir la primera página cargada. Se usa una cola, al cargar una página nueva se ingresa en el último lugar. Aunque las colas FIFO son simples e intuitivas, no se comportan de manera aceptable en la aplicación práctica, por lo que es raro su uso en su forma simple. Uno de los problemas que presentan es la llamada Anomalía FIFO o Anomalía de Belady. Belady encontró ejemplos en los que un sistema con un número de marcos de páginas igual a tres tenía menos fallos de páginas que un sistema con cuatro marcos de páginas. El problema consiste en que podemos quitar de memoria una página de memoria muy usada, sólo porque es la más antigua

IMAGEN

Page 20: Memoria virtual

PRINCIPAL

Page 21: Memoria virtual

Este algoritmo tiene como finalidad retirar la página que vaya a ser referenciada más tarde, por ejemplo si hay una página A que será usada dentro de 10000 instrucciones, y una página B que será usada dentro de 2800 instrucciones, se debería eliminar de la memoria la página A. Como se puede deducir, para esto el sistema operativo debería ver en cuánto tiempo será usada cada página en memoria y elegir la que está más distante. El problema de este método es que necesita conocimiento del futuro, por lo que es imposible su implementación. Es un algoritmo teórico. Se utiliza a los efectos comparativos con los algoritmos factibles de ser implementados para ver cuál se aproxima más a éste.

IMAGEN

Page 22: Memoria virtual

PRINCIPAL

Page 23: Memoria virtual

Este algoritmo difiere del de 'No usada recientemente' en el hecho de que aquel sólo se fija en el intervalo de tiempo desde que se pusieron en 0 los bits de referencia de las páginas, mientras que el algoritmo de 'Menos usada recientemente' intenta proveer un comportamiento casi óptimo mediante la observación de las páginas que menos fueron usadas recientemente. Este tipo de páginas, estadísticamente son las que tienen menor probabilidad de ser usadas nuevamente.

IMAGEN

Page 24: Memoria virtual

PRINCIPAL

Page 25: Memoria virtual

Permite obtener información de ordenamiento adicional si registramos los bits de referencia a intervalos adicionales. A medida que un proceso se ejecuta, el bit asociado con cada página referenciada es colocado en ejecución por el hardware. Luego de un tiempo, puede determinarse qué páginas han sido utilizadas examinando los bits.

PRINCIPAL

Page 26: Memoria virtual

Existe una variante de este algoritmo que sobre la misma idea presenta una mejora en la implementación. Es el algoritmo del reloj, que lo que hace es tener una lista circular, de forma que al llegar al último elemento de la lista, pasa automáticamente al primero. Los elementos no se mueven al final de la cola cuando son accedidos, simplemente se pone su bit de referencia a 1. Esto nos evita tener que hacer movimientos de punteros en el caso de implementarlo con una lista enlazada. De hecho, se puede implementar con un array perfectamente, ahorrando así memoria.IMAGEN

Page 27: Memoria virtual

PRINCIPAL

Page 28: Memoria virtual

Selecciona la pagina que menos tiempo se tarda en remplazar y que se ha utilizado menos recientemente.

PRINCIPAL

Page 29: Memoria virtual

Remplaza las ultimas paginas introducidas recientemente.

PRINCIPAL

Page 30: Memoria virtual

Las paginas mas usadas se remplazan.

INICIO

Page 31: Memoria virtual
Page 32: Memoria virtual

La política de asignación variable, permite que el número de marcos asignados cambie a lo largo de su vida, por ejemplo, cuando un proceso sufre un alto porcentaje de fallos de página, a este se le añaden marcos para disminuir este porcentaje.

El alcance de reemplazo, se activa cuando Hay fallos de página, y no hay marcos libres Para su reemplazo. El reemplazo puede ser local o Global. Es local cuando, se escoge Dentro de las páginas residentes del proceso, Y es global cuando todas las páginas en Memoria son candidatas a reemplazar Independientemente de que procesos vengan

PRINCIPAL

Page 33: Memoria virtual

Un proceso tiene un número fijo de páginas, cuando hay un fallo de página, el sistema operativo, elige entre las del dicho proceso, que están actualmente en memoria. Es necesario decidir por anticipado, la cantidad de memoria asignada a un proceso.

IMAGEN

Page 34: Memoria virtual

PRINCIPAL

Page 35: Memoria virtual

La memoria principal, tendrá varios procesos cada uno con un númeroDe marcos asignados. El sistema operativo normalmente tiene una listaDe marcos libres. Cuando hay un fallo de página, se añade un marcoLibre al conjunto del proceso y se carga la página.

IMAGEN

Page 36: Memoria virtual

Asignación de memoria en un sistema con memoria virtual.

PRINCIPAL

Page 37: Memoria virtual

1. Un proceso cargado en la memoria se le asigna cierto número de marcos en función del tipo de aplicación.2. Cuando se produce un fallo de página, se selecciona la página a reemplazar entre las del conjunto residente del proceso.

IMAGEN

Page 38: Memoria virtual

PRINCIPAL

Page 39: Memoria virtual

Si se va a reducir el grado de multiprogramación, Deben suspenderse uno o más procesos residentes;Se enumeran las siguientes posibilidades:

Procesos con la prioridad más baja.Procesos con fallos de página.Último proceso activado.Proceso con el conjunto residente más pequeño.El proceso mayor.Procesos con la mayor ventana de ejecución restante

INICIO

Page 40: Memoria virtual