Trabajo memoria virtual

482 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
482
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Trabajo memoria virtual

  1. 1. Memoria<br /> virtual<br />
  2. 2. ¿Que es memoria virtual?<br /> * La memoria virtual es una técnica que permite ejecutar procesos que no caben totalmente en memoria RAM (memoria física). Esto propicia la creación de programas que sean más grandes que la memoria física. Además, la memoria virtual ayuda a crear un esquema de abstracción de la memoria que la separa de la zona lógica que el usuario ve, esto facilita enormemente la tarea a los programadores puesto que no se han de preocupar por limitaciones de memoria. Los procedimientos de implementación de la memoria virtual se basan en que cuando se ejecuta un programa, éste está parcialmente en memoria, es decir, sólo hay cargada aquella zona de código y datos que se necesitan en ese instante de tiempo, y no el programa completo. La memoria virtual es la separación entre la memoria lógica disponible para el usuario y la memoria RAM, se implementa generalmente con el método de paginación por demanda aunque también se puede implementar en un sistema con segmentación. <br />
  3. 3. OPERACIÓN BÁSICA<br /><ul><li>Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software (direcciones virtuales) en:
  4. 4. La dirección real de memoria (la dirección de memoria física), o una indicación de que la dirección de memoria deseada no se encuentra en memoria principal (llamado excepción de memoria virtual).
  5. 5. 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.
  6. 6. en la memoria virtual tiene unos pocos fragmentos de un proceso dado, se que se pueden mantener más procesos en la memoria.
  7. 7. La memoria virtual también simplifica la carga del programa para su ejecución llamada reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física.</li></li></ul><li>FRAGMENTACIÓN<br />La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria.<br />* La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. Tal vez en conjunto si sea espacio suficiente, pero se requeriría de un proceso de desfragmentación de memoria o compactación para lograrlo. Esta fragmentación se denomina fragmentación externa.<br />* fragmentación interna: la cual es generada cuando se reserva más memoria de la que el proceso va realmente a usar. Sin embargo a diferencia de la externa, estos huecos no se pueden compactar para ser utilizados. Se debe de esperar a la finalización del proceso para que se libere el bloque completo de la memoria.<br />
  8. 8. PAGINACIÓN<br />* El uso de la paginación en la memoria virtual fue presentado por primera vez en el computador Atlas.<br />Cada proceso tiene su propia tabla de páginas y cuando carga todas sus páginas en la memoria principal, se crea y carga en la memoria principal una tabla de páginas. Cada entrada de la tabla de páginas contiene el número de marco de la página correspondiente en la memoria principal. Puesto que sólo algunas de las páginas de un proceso pueden estar en la memoria principal, se necesita un bit en cada entrada de la tabla para indicar si la página correspondiente está presente (P) en la memoria principal o no. Si el bit indica que la página está en la memoria, la entrada incluye también el número de marco para esa página.<br />Otro bit de control necesario en la entrada de la tabla de páginas es el bit de modificación (M), para indicar si el contenido de la página correspondiente se ha alterado desde que la página se cargó en la memoria principal. Si no ha habido cambios, no es necesario escribir la página cuando sea sustituida en el marco que ocupa actualmente. <br /> <br />
  9. 9. Estructura de la tabla de páginas<br />
  10. 10. TRADUCCIÓN DE DIRECCIONES<br />*La memoria "física" de un ordenador es una secuencia de bytes, que empieza en el 0 y termina en....por ejempló 64 megas. Es decir un "array" de bytes. Cada byte tiene una dirección: el número que ocupa posicionalmente en la memoria. Esta dirección es conocida como "dirección física".<br />- Numero de pagina: índice de la tabla de paginas que contiene la dirección base de cada pagina de la memoria física.<br /><ul><li>Offset de la pagina: define la dirección física que será enviada ala unidad de memoria .</li></li></ul><li>SEGMENTACIÓN<br />la segmentación permite al programador contemplar la memoria como si constara de varios espacios de direcciones o segmentos. Los segmentos pueden ser de distintos tamaños, incluso de forma dinámica. Las referencias a la memoria constan de una dirección de la forma (número de segmento, desplazamiento).<br />Esta organización ofrece al programador varias ventajas sobre un espacio de direcciones no segmentado:<br />1.   Simplifica la gestión de estructuras de datos crecientes. Si el programador no conoce a priori cuán larga puede llegar a ser una estructura de datos determinada, es necesario suponerlo a menos que se permitan tamaños de segmentos dinámicos. 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.<br />2.  Permite modificar y recopilar los programas independientemente, sin que sea necesario recopilar o volver a montar el conjunto de programas por completo.<br />3. Se presta a la compartición 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.<br />4.  Se presta a la protección. Puesto que un segmento puede ser construido para albergar un conjunto de procedimientos y datos bien definido, el programador o el administrador del sistema podrá asignar los permisos de acceso de la forma adecuada.<br /> <br />
  11. 11. Tabla de segmentación <br />

×