Documente Academic
Documente Profesional
Documente Cultură
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.
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
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:
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.
12/9/12
Real:
Sistemas de multiprogramacin en memoria real:
Multiprogramacin en particin fija:
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.
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:
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
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
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
12/9/12
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).
12/9/12
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'.
12/9/12
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
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