GestìóN De Memoria

1,101 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,101
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

GestìóN De Memoria

  1. 1. GESTÌÓN DE MEMORIA<br />ASIGNACIÓN NO CONTIGUA<br />Pablo Jiménez<br />Silvana Espinoza<br />Josselyn Arias<br />
  2. 2. La asignación no contigua significa que la memoria se asigna de tal modo que partes de un solo objeto lógico pueden ser colocadas en áreas no contiguas de memoria física.<br />Permite la ejecución de procesos cuando sólo algunas partes de sus espacios de direcciones están residentes en memoria principal<br />
  3. 3. Paginación<br />Es un esquema que permite que el espacio de direcciones lógicas de un proceso no sea contiguo.<br />Se emplea para mantener la ilusión de contigüidad del espacio de direcciones virtuales a pesar de su ubicación discontigua en memoria física.<br />
  4. 4. Método Básico<br />La memoria física se divide conceptualmente en una serie de particiones de tamaño fijo, llamadas marcos de página.<br />El espacio de direcciones virtuales se divide en bloques de tamaño fijo del mismo tamaño, llamados página.<br />
  5. 5. Cuando se va a ejecutar un proceso, sus páginas se cargan desde el almacén de respaldo en cualquier marco de memoria disponible.<br />La tabla de páginas contiene la dirección básica de la página en la memoria física.<br />Esta se combina con el desplazamiento de página para definir la posición física de memoria que se envía a la unidad de memoria.<br />
  6. 6.
  7. 7. El tamaño de página es normalmente una potencia de 2 y varía entre 512 bytes y 16 megabytes por página.<br />Si el tamaño de espacio de direcciones es 2nm y el tamaño de una página es 2 n, entonces los m-n bits, designan el número de página y los n bits de orden de abajo designan el desplazamiento de página.<br />n<br />m - n<br />
  8. 8. Estructura de las tablas de pagina<br />Cada sistema operativo tiene sus propios métodos para almacenar tablas de páginas. La mayoría de estos asigna una tabla de página por cada proceso<br />
  9. 9. Un apuntador a la tabla de pagina se almacena con los demás valores de registros(contador de instrucciones) en el bloque de control del proceso.<br />Cuando se le dice al despachador que inicie un proceso, este debe recargar los servicios de usuario y definir los valores correctos de la tabla de páginas de hardware a partir de las tablas del usuario que esta almacenada<br />
  10. 10. SOPORTE DE HARDWARE<br />La implementación en hardware de la tabla de paginas puede hacerse de varias formas, en el caso mas sencillo la tabla se implementa como un conjunto de registros dedicados, estos deberán construirse con una lógica de muy alta velocidad para que la traducción de las páginas sea eficiente.<br />Todo acceso a la memoria debe pasar por un mapa de paginación, por lo que la eficiencia es un aspecto de suma importancia.<br />El uso de registros para las tablas de páginas es satisfactorio si dicha tabla es razonablemente pequeña(256 entradas), pero en las computadoras actualmente permiten que las tablas de paginas sean muy grandes(1 millón de entradas)<br />
  11. 11. Segmentación<br />La segmentación es un esquema de administración de la memoria que soporta esta visión del usuario. Un espacio de direcciones lógicas es un conjunto de segmentos.<br />Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del mismo.<br />
  12. 12.
  13. 13. Por lo tanto el usuario especifica cada dirección mediante dos cantidades: un nombre de segmento y un desplazamiento.<br />Para simplificar la implementación, los segmentos se enumeran y se hace referencia a ellos por un número de segmento, en lugar de un nombre de segmento. Por lo tanto, una dirección lógica consta de un duplo:<br /> <número-de-segmento, desplazamiento><br /><ul><li>Normalmente el programa del usuario se compila, y el compilador automáticamente construye segmentos que reflejan el programa de entrada.</li></li></ul><li>HARDWARE<br />Aunque el usuario ahora puede hacer referencia a los objetos en el programa mediante una dirección bidimensional, la memoria física real sigue siendo, una secuencia unidimensional de bytes. Por lo tanto se define una implementación para mapear direcciones bidimensionales definidas por el usuario en direcciones físicas unidimensionales.<br />
  14. 14. Este mapeo es efectuado por una tabla de segmentos. Cada entrada en la tabla de segmentos tiene una base de segmento y un límite de segmento. La base de segmento contiene la dirección física inicial en donde reside el segmento en memoria, en tanto que el límite especifica la longitud del segmento.<br />
  15. 15. limite<br />base<br />CPU<br />s<br />d<br />Tabla de segmentos<br />+<br />sí<br /><<br />no<br />Trampa; error de direccionamiento<br />Memoria física<br />
  16. 16. Protección y Compartimiento<br />Una ventaja particular de la segmentación es la asociación de la protección con los segmentos. Debido a que los segmentos representan una porción del programa definida semánticamente, es probable que todas las entradas del segmento se utilizarán en la misma forma . Por lo tanto hay algunos segmentos que son instrucciones, en tanto que otros son datos.<br />
  17. 17. Otra ventaja implica la compartición de código o datos. Cada proceso tiene una tabla de segmentos asociada a él, que el despachador emplea para definir la tabla de segmentos de hardware cuando a dicho proceso se le da la CPU. Los segmentos son compartidos cuando entradas de las tablas de segmentos de 2 procesos diferentes apuntan a la misma localidad física.<br />

×