Sunteți pe pagina 1din 25

12/9/12

3.3OrganizacindeMemoria Virtual

12/9/12

3.3OrganizacindeMemoria Virtual
MemoriaVirtual 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 memoria virtual ha llegado a ser un componente

esencial de la mayora de los S.O actuales. Y como en un instante dado, en la memoria solo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener mas procesos en la memoria.

12/9/12

3.3.1Evaluacindelas Organizacionesde Almacenamiento

3.3.1Evaluacindelas Organizacionesde Almacenamiento Almacenamiento virtual "significa la

12/9/12

capacidad de direccional un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario de determinado sistema de computacin . Esta tecnologa apareci en 1960 en la Universidad de Manchester (Inglaterra), en el sistema Atlas. Los mtodosms comunes de implementacin son mediante:

Tcnicas de paginacin. Tcnicas de segmentacin. Una combinacin de ambas tcnicas.

3.3.1Evaluacindelas Organizacionesde Almacenamiento los programas en su Las direcciones generadas por

12/9/12

ejecucin no son, necesariamente, aquellas contenidas en el almacenamiento primario (memoria real), ya que las direccionesvirtualessuelen seleccionarse dentro de un numero mucho mayor de direcciones que las disponibles dentro del almacenamiento primario.

3.3.1Evaluacindelas Organizacionesde Almacenamiento La evolucinenlasorganizacionesde


Real:
Sistemas dedicados a un solo usuario.

12/9/12

almacenamientopuede resumirse como sigue:

Real:
Sistemas de multiprogramacin en memoria real:
Multiprogramacin en particin fija:

Absoluta. Relocalizable (reubicadle).

Multiprogramacin en particin variable.

Virtual:

12/9/12

3.3.2Paginacin

12/9/12

3.3.2Paginacin
Queslapaginacin?

El termino memoria virtual se asocia normalmente con sistemas que emplean paginacin, aunque tambin se puede usar memoria virtual basada en la segmentacin. El uso de la paginacin en la memoria virtual fue presentado por primera vez en el computador Atlas.

Cada proceso tiene su propia tabla de paginas y cuando

carga todas sus paginas en la o memoria principal. Puesto que solo algunas de las pginas de un proceso pueden estar en la memoria principal, se necesita un bit en cada entrada de la tabla para indicar si la pagina perteneciente esta presente en la memoria principal o no. Si el bit indica que la pagina esta en la memoria, la

12/9/12

3.3.2Paginacin
Estructuradelatabladepginas

El mecanismo bsico de lectura de una palabra de la memoria supone la traduccin por medio de la tabla de pginas de una direccin virtual o lgica, formada por un numero de pagina y un desplazamiento, a una direccin fsica que esta formada por un numero de marco y un desplazamiento.

12/9/12

3.3.2Paginacin

12/9/12

3.3.3 Segmentacin

12/9/12

3.3.3 Segmentacin
Implicacionesdelamemoriavirtual La segmentacin permite al programador contemplar la

memoria como si constara de varios espacios de direcciones o segmentos. Los segmentos pueden ser de distintos tamaos, incluso de forma dinmica. Las referencias a la memoria constan de una direccin de la forma (numero de segmento, desplazamiento). sobre un espacio de direcciones no segmentado:

Esta organizacin ofrece al programador varias ventajas

12/9/12

3.3.3 Segmentacin
1. Simplifica la gestin de estructuras de datos crecientes.

Si el programador no conoce a priori cuan larga puede llegar a ser una estructura de datos determinada, es necesario suponerlo a menos que se permitan tamaos de segmentos dinmicos. Con memoria virtual segmentada, a la estructura de datos se le puede asignar a su propio segmento y el S.O expandir o reducir el segmento cuando se necesite.

12/9/12

3.3.3 Segmentacin

2.

Permite modificar y recopilar los programas independientemente, sin que sea necesario recopilar o volver a montar el conjunto de programas por completo.

12/9/12

3.3.3 Segmentacin

3. Se presta a la comparacin entre procesos. Un

programador puede situar un programa de utilidades o una tabla de datos en un segmento que puede ser referenciado por otros procesos.

12/9/12

3.3.3 Segmentacin

4. Se presta a la proteccin. Puesto que un segmento

puede ser construido para albergar un conjunto de procedimientos y datos bien definido, el programador o el administrador del sistema podrn asignar los permisos de acceso de la forma adecuada.

12/9/12

3.3.3 Segmentacin
Organizacin En el estudio de la segmentacin simple, se llego a la

conclusin de que cada proceso tiene su propia tabla de segmento y que, cuando todos los segmentos se encuentran en la memoria principal, la tabla de segmentos del proceso se crea y se carga en la memoria. Cada entrada de la tabla contiene la direccin de comienzo del segmento correspondiente de la memoria principal, as como su longitud. La misma estructura se necesitara al hablar de un esquema de memoria virtual basado en la segmentacin donde las entradas de la tabla de segmentos pasan a ser mas complejas.

12/9/12

3.3.3 Segmentacin
Puesto que solo algunos de los segmentos de un proceso

estarn en la memoria principal, se necesita un bit en cada entrada de la tabla de segmentos para indicar si el segmento correspondiente esta presente en la memoria principal. Si el bit indica que el segmento esta en la memoria, la entrada incluye tambin la direccin de comienzo y la longitud del segmento.

12/9/12

3.3.3 Segmentacin
Otro bit de control necesario en la entrada de la tabla de

segmentos es un bit de modificacin que indique si el contenido del segmento correspondiente ha sido modificado desde que se cargo por ltima vez en la memoria principal. Si no ha habido cambios, no ser necesario escribir en el disco el segmento cuando llegue el momento de remplazarlo en el espacio que ocupa actualmente.

12/9/12

3.3.4 Sistema de paginacin / segmentacin

12/9/12

3.3.4 Sistema de paginacin / segmentacin


La paginacin y la segmentacin puras son mtodos de

manejo de memoria bastante efectivos, aunque la mayora de los sistemas operativos modernos implantan esquemas combinados, es decir, combinan la paginacin y la segmentacin. esta forma se aprovechan los conceptos de la divisin lgica de los programas (segmentos) con la granularidad de las pginas. De esta forma, un proceso estar repartido en la memoria real en pequeas unidades (paginas) cuya liga son los segmentos. Tambin es factible as el compartir segmentos a medida que las partes necesitadas de los mismos se van reverenciando (paginas).

La idea de combinar estos esquemas se debe a que de

12/9/12

3.3.4 Sistema de paginacin / segmentacin


Para comprender este esquema, nuevamente se vera

como se traduce una direccin virtual en una localidad de memoria real. Para la paginacin y segmentacin puras se puede decir que el direccionamiento es `bidimensional' porque se necesitan dos valores para hallar la direccin real. direccionamiento `tridimensional'.

Para el caso combinado, se puede decir que se tiene un

12/9/12

3.3.4 Sistema de paginacin / segmentacin


Por cada segmento se tiene una direccin a una tabla de

pginas. Cada tabla de pginas tiene las direcciones de las pginas que componen a un solo segmento. Por ejemplo, el segmento `A' puede estar formado por las paginas reales `a','b','c','p' y `x'. El segmento `B' puede estar compuesto de las paginas `f','g','j','w' y `z'. Otro aspecto importante es la estrategia para cargar pginas (o segmentos) a la memoria RAM.

12/9/12

3.3.4 Sistema de paginacin / segmentacin


Ese `adivinar' puede ser que se aproveche el fenmeno

de localidad y que las paginas que se cargan por anticipado sean aquellas que contienen direcciones contiguas a la direccin que se acaba de refenciar. De hecho, el sistema operativo VMS usa un esquema combinado para cargar pginas: cuando se hace referencia a una direccin cuya pgina no esta en RAM, se provoca un fallo de pgina y se carga esa pgina junto con algunas pginas adyacentes. En este caso la pgina solicitada se cargo por demanda y las adyacentes se cargaron por anticipacin.

12/9/12

3.3.4 Sistema de paginacin / segmentacin

S-ar putea să vă placă și