3.3 Organización de Memoria Virtual.

14
Instituto Tecnológico Superior De Coatzacoalcos División de informática PROFESOR: M.I. Omar Eduardo Betanzos Martínez ASIGNATURA: Sistemas Operativos I (So1) GRADO: 4°Sem. GRUPO: “A” CARRERA: Ing. Informática Equipo: Jimenez Morales Indra De Jesus May Gomez Mario Alberto Pineda Aquino Luis Opon Mota Rholdan Esteban Ruiz Martinez Luis Miguel 3.3 Organización de memoria virtual.

description

memoria virtual

Transcript of 3.3 Organización de Memoria Virtual.

Presentacin de PowerPoint

Organizacin de memoria virtualMemoria virtual.- capacidad de direccionar un espacio de memoria mucho mayor que el disponible en la memoria primariaLos mtodos ms comunes de implementacin son mediante: Tcnicas de paginacin Tcnicas de segmentacin Combinacin de ambas.Las direcciones generadas por los programas en su ejecucin no son necesariamente, las contenidas en la memoria primaria (real), ya que las direcciones virtuales suelen seleccionarse dentro de un nmero mucho mayor de direcciones que las disponibles dentro de la memoria primaria. RegresarEvolucin de las organizaciones de almacenamiento.Real: Sistemas dedicados a un usuario. Real: Sistemas de multiprogramacin en memoria real: o Multiprogramacin en particin fija: Absoluta. Relocalizable (reubicable). o Multiprogramacin en particin variable. Virtual: Multiprogramacin en memoria virtual: o Paginacin pura. o Segmentacin pura. o Combinacin paginacin / segmentacin. Conceptos Bsicos de Memoria Virtual La clave del concepto de memoria virtual est en la disociacin de: las direcciones a las que hace referencia un programa. las direcciones disponibles en la memoria real (primaria). Los principales conceptos son los siguientes: Direcciones virtuales: las referidas por un proceso en ejecucin. Direcciones reales: las disponibles dentro de la memoria primaria. Espacio de direcciones virtuales (v) de un proceso: nmero de direcciones virtuales que puede referenciar el proceso.

Paginacin.La necesidad de asignar memoria en cantidades contiguas para cada programa es el mayor inconveniente para un buen aprovechamiento de la misma. La paginacin es una tcnica de gestin que permite asignar la memoria de forma discontinua. La memoria fsica se divide en trozos de tamao fijo llamados frames y la lgica en bloques de igual tamao llamados pginas. El sistema operativo mantiene una tabla de pginas donde relaciona cada pgina cargada en memoria con el frame que la contenga o sea su direccin inicial en memoria real.

Segmentacin.La segmentacin es una tcnica distinta de gestin de memoria que pretende acercarse ms al punto de vista del usuario. Los programas se desarrollan, generalmente, en torno a un programa principal desde el que se bifurca a otras partes (rutinas) o se accede a zonas de datos (tablas, pilas, etc.). Desde este punto de vista, un programa es un conjunto de componentes lgicos de tamao variable o un conjunto de segmentos, es decir, el espacio lgico de direcciones se considera como un conjunto de segmentos, cada uno definido por su tamao y un nmero.

Evolucin de las organizaciones de almacenamiento.Espacio de direcciones reales (r) de una computadora: nmero de direcciones reales disponibles en la computadora. Los procesos hacen referencia a direcciones virtuales pero stas deben ejecutarse en la memoria real: Las direcciones virtuales deben ser transformadas dentro de las direcciones reales, mientras el proceso est en ejecucin. La traduccin de direcciones deber hacerse rpidamente para no degradar al sistema. Existen varios medios para asociar las direcciones virtuales con las reales (Figura 3.13 .).

Evolucin de las organizaciones de almacenamiento.La traduccin dinmica de direcciones (dat) convierte las direcciones virtuales en reales al ejecutarse el proceso. Las direcciones contiguas dentro del espacio de direcciones virtuales de un proceso no tienen por qu ser contiguas dentro de la memoria real, a esto se denomina contigidad artificial (Figura 3.14 .).

RegresarPaginacin.Cada direccin que genera el CPU ser interceptada y dividida en dos componentes, un nmero de pgina (p) y un desplazamiento en la pgina (d). Usando p como ndice, el gestor de memoria recorre la tabla de pginas hasta localizar dicha pgina, y a continuacin sumar d a la direccin de carga correspondiente obteniendo la direccin real. El tratamiento anterior exige que se realice por hardware. Cada programa se divide en pginas, y stas se cargan en frames libres que no tienen que ser contiguosPaginacin.Administracin de la memoria. La paginacin es una forma de reasignar direcciones dinmicamente. El sistema analiza cada nuevo trabajo que se disponga a entrar para conocer el nmero de pginas que ocupa y buscar en su lista de frames libres un nmero igual de ellos. Si existen, cargar en ellos las pginas del programa y construir la correspondiente tabla de pginas actualizando la lista de frames libres. Cada trabajo en memoria tendr su propia tabla de pginas apuntadas por el pcb. As se logra evitar la fragmentacin externa ya que cualquier frame libre es asignable a un trabajo que lo necesite. Seguir existiendo fragmentacin interna porque generalmente los trabajos no ocupan el total de la pgina. Esta fragmentacin se reduce si la pgina tiene un tamao pequeo, pero se necesita una tabla de pginas mayor.Pginas compartidas. La paginacin permite que varios procesos compartan pginas en memoria. Esto es bueno para los sistemas de tiempo compartido. Imaginemos un sistema con 20 usuarios que usan un editor de textos, en el sistema se cargar una sola vez el programa correspondiente y ste ser usado por todos ellos aunque los datos sean propios de cada uno. Cada usuario contendr en su tabla de pginas las entradas correspondientes al editor, apuntando todas ellas a los mismos frames y a distintos para los datos. Es comn usar pginas compartidas, su contenido debe permanecer inalterado y tener cdigo reentrante (durante la ejecucin no se altera ningn valor interno). Si el contenido de las pginas compartidas no debe modificarse, deben protegerse contra todo intento de escritura. Se necesita un sistema de proteccin de pginas en memoria que controle las direcciones a las que se puede acceder y el modo en que se hace dicho acceso. Para ello se aaden a las entradas de la tabla de pginas una serie de bits de proteccin (direccin de la pagina), el esquema de proteccin se complementa con otro bit por entrada de la tabla de pginas llamado bit de validez (modo r o w). Paginacin.Rendimiento. Memoria Cach. Registros asociativos. Para agilizar la conversin de direcciones el sistema mantiene en memoria la tabla de pginas de los trabajos activos y usa un registro especial llamado registro base, para indicar la direccin de la tabla de pginas del proceso en ejecucin. As cuando se conmute de un trabajo a otro se restaura la direccin de la tabla de pginas correspondiente. Para transformar cada direccin lgica (p,d) generada por el cpu en su direccin real, el sistema accede en primer lugar a la tabla de pgina correspondiente (registro base + p) y despus a la direccin real (frame + d). As cada direccin provoca dos accesos a memoria y se duplican los tiempos de ejecucin. Se mejora el uso de la memoria pero los procesos son ms largos. Para resolver esto se recurre a memorias pequeas de muy alta velocidad (muy caras) donde se puedan mantener las entradas a las tablas de pginas ms usadas. Esta memoria (cach) es similar a la principal pero con menor tiempo de acceso y con eso se reduce el retraso producido por la paginacin. En sistemas pequeos, con tablas de pginas de pocas entradas se usa un conjunto de registros hardware para contener dichas tablas (registros asociativos). RegresarSegmentacin.Hardware de segmentacin. Puesto que la memoria fsica se direcciona linealmente, ser necesario transformar cada direccin lgica (s,d) en una direccin real (r). Esta conversin la realiza un dispositivo especial de hardware consultando la tabla de segmentos correspondiente. RendimientoReduce la fragmentacin interna de la memoria provocada por la paginacin, ya que asigna a cada programa la cantidad de memoria que requiere. La carga de un programa en memoria exige la bsqueda de los huecos adecuados a sus segmentos y puesto que stos son de tamao variable, se ajustarn lo ms posible a las necesidades, producindose huecos pequeos. En este caso se produce fragmentacin externa. La eficacia de la segmentacin requiere, de igual forma que la paginacin, el uso de memorias cach para lograr unos tiempos de acceso adecuados. De igual forma que en la paginacin, se pueden compartir segmentos entre varios procesosLa segmentacin de un programa la realiza el compilador y en ella cada direccin lgica se expresar mediante dos valores: nmero de segmento (s) y desplazamiento dentro del segmento (d). RegresarReferencia:file:///D:/Nueva%20carpeta/ApuntesU3_SistemasOperativosISC.pdf