administración de memoria virtual

9
O INSTITUTO TECNOLÓGICO DE TUXTEPEC I N S T I T U T O T E C N O L O G I C O D E T U X TE P E C SISTEMAS OPERATIVOS 1 UNIDAD 3: ADMINISTRACIÓN DE MEMORIA. ADMINISTRACIÓN DE MEMORIA. CATEDRÁTICO: M.S.C JOSÉ ALBERTO VILLALOBOS SERRANO. JUAN ANAYA MANZANO. ING. INFORMATICA SEMESTRE: 4° SAN JUAN BAUTISTA TUXTEPEC, OAXACA A 17 DE ABRIL DE 2015.

Upload: juan-anaya

Post on 11-Aug-2015

22 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Administración de memoria virtual

O

INSTITUTO TECNOLÓGICO DE TUXTEPEC

I NS

TIT

U

TOTECNOLOGICO DE TUXT

EP

EC

SISTEMAS OPERATIVOS 1

UNIDAD 3: ADMINISTRACIÓN DE MEMORIA.

ADMINISTRACIÓN DE MEMORIA.

CATEDRÁTICO: M.S.C JOSÉ ALBERTO VILLALOBOS SERRANO.

JUAN ANAYA MANZANO.

ING. INFORMATICA

SEMESTRE: 4°

SAN JUAN BAUTISTA TUXTEPEC, OAXACA A 17 DE ABRIL DE 2015.

Page 2: Administración de memoria virtual

Introducción.

La memoria virtual permite ejecutar procesos que requieren más memoria que la

disponible en el sistema, manteniendo en memoria principal solo aquella memoria

que el proceso esté utilizando y el resto en disco. De esta manera se evita la

preocupación por las limitaciones de la memoria física.

La ilusión de la memoria virtual está soportada por el mecanismo de traducción de

memoria, junto con una gran cantidad de almacenamiento rápido en disco duro.

Así en cualquier momento el espacio de direcciones virtual hace un seguimiento

de tal forma que una pequeña parte de él, está en memoria real y el resto

almacenado en el disco, y puede ser referenciado fácilmente.

Definición:

Memoria virtual (Fotheringham, 1961) es un método que permite direccional un

espacio de almacenamiento mucho mayor que el disponible en la memoria

principal. Para ello, el sistema operativo usa memoria a dos niveles y particiona los

trabajos en bloques, manteniendo en memoria principal aquellos bloques que se

están usando.

Implementación.

La implementación de memoria virtual se realiza a través de la técnica de

paginación bajo demanda en la que los procesos residen en un dispositivo de

disco y son puestos en memoria principal cuando es necesario cargarlos para

ejecutar. La carga del proceso en memoria no es total, sino que se implementa un

Page 3: Administración de memoria virtual

cargador llamado "lazy swapper" que cargara las paginas según se vayan

necesitando.

En este ejemplo se tiene que el proceso tiene para usar 8 páginas, de las cuales

solo usa 6, y de las cuales solo 3 están en memoria principal (A, C y F). Todas las

páginas estarán en el disco (incluidas aquellas que también están en memoria

principal).

Acceso a Memoria

El acceso a memoria genera la siguiente secuencia de pasos:

1. Verificar que el proceso referencia una página correcta dentro de su

espacio

virtual, ya que no todas las direcciones dentro de su espacio son válidas.

Por

Page 4: Administración de memoria virtual

ejemplo, el acceso fuera de un arreglo puede generar un acceso a una

página

virtual que no fue asignada al proceso. Si el proceso referencia a una

página

incorrecta, se genera un error y el proceso termina.

2. Si el acceso fue correcto, se busca en la tabla de páginas el frame

correspondiente, verificando el bit de validez-invalidez.

3. Si el bit es de validez se accede al frame correspondiente y se termina el

acceso.

4. Sino se genera el trap de page fault, que involucra los siguientes pasos:

a) Se busca frame libre en memoria principal, si no hay se

ejecuta el algoritmo de reemplazo.

b) Se lee de disco la página a cargar, y se carga en el frame

obtenido en el paso anterior.

c) Se actualiza la tabla de páginas, indicando que la página está

disponible en memoria principal.

d) Se devuelve el control a la instrucción que fue interrumpida

por el PF.

Si se aplica este método se tendrá un sistema puro de paginación bajo demanda.

Tener en cuenta que para poder llevarlo a cabo se precisa una tabla de páginas y

espacio swap de disco.

Page 5: Administración de memoria virtual

Algoritmos de remplazo

La necesidad de traer a memoria principal una página en una memoria principal

llena, genera la búsqueda de un frame a remplazar, mediante un algoritmo de

remplazo. El mal algoritmo de remplazo puede generar un impacto significativo de

degradación del sistema. Cuando se elige un frame a remplaz, este será puesto

en memoria swap, y ante un eventual uso en el futuro, volverá a memoria principal

a través de un page fault.

Los pasos a seguir cuando remplazamos frames son los siguientes:

Elegir la víctima mediante algún algoritmo de remplazo

Escribir la víctima en memoria swap (swap out) y ajustar la tabla de páginas

Cargar la página en el frame correspondiente (swap in)

Ajustar la tabla de página.

Las diferentes organizaciones de almacenamiento virtual generalmente

implementadas son:

Paginación.

Segmentación.

Segmentación y paginación.

Las estrategias para la administración de sistemas de almacenamiento virtual

condicionan la conducta de los sistemas de almacenamiento virtual que operan

según esas estrategias.

Estrategias de administración de la memoria virtual.

Page 6: Administración de 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 más grande posible.

Estrategias de obtención:

Determina cuando se debe transferir una página 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 página o

a un segmento antes de traer la página 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.

Estrategias de colocación:

Determinan en que lugar del almacenamiento primario se debe colocar una pagina

o un segmento entrante. Una página entrante se puede colocar en cualquier

marco de página disponible.

Estrategias de reemplazo:

Page 7: Administración de memoria virtual

Sirven para decidir cual página o segmento se debe desplazar para dar espacio a

una página o segmento entrante cuando esta completamente ocupado el

almacenamiento primario.

Conclusión.

La memoria virtual ha llegado a ser un componente esencial de la mayoría de los

sistemas operativos actuales. Y como en un instante dado, en la memoria sólo se

tienen unos pocos fragmentos de un proceso dado, se pueden mantener más

procesos en la memoria. Es más, 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 cómo gestionar este esquema.