14
JORGE EDUARDO RODRIGUEZ CORTES SISTEMAS OPERATIVOS ANA GARZON (docente) FUNDACION UNIVERSITARIA SAN MATEO FUS 2010

Memoria virtual

Embed Size (px)

Citation preview

Page 1: Memoria virtual

JORGE EDUARDO RODRIGUEZ CORTES

SISTEMAS OPERATIVOS

ANA GARZON(docente)

FUNDACION UNIVERSITARIA SAN MATEOFUS 2010

Page 2: Memoria virtual

MEMORIA VIRTUAL

La memoria virtual es una técnica de administración de la memoria real que permite al sistema operativo brindarle al software de usuario y a sí mismo un espacio de direcciones mayor que la memoria real o física.

Page 3: Memoria virtual

TIPOS DE MEMORIA

La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), la memoria física (generalmente en forma de RAM, donde la CPU puede escribir y leer directa y razonablemente rápido) y el disco duro que es mucho más lento, pero también más grande.

Page 4: Memoria virtual

cuando el sistema operativo permite múltiples procesos y aplicaciones corriendo simultáneamente el sistema requiere el acceso a más información que la que puede ser mantenida en memoria física.

Page 5: Memoria virtual

La solución al problema de necesitar mayor cantidad de memoria de la que se posee, consiste en que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria principal cuando sea necesario.

Page 6: Memoria virtual

Una opción es que la aplicación misma sea responsable de decidir qué información será guardada en cada sitio (segmentación), y de traerla y llevarla.

Page 7: Memoria virtual

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: 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).

Page 8: Memoria virtual

FRAGMENTACION

La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, cómo el mejor y el peor producen fragmentación externa.

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.

Page 9: Memoria virtual

La fragmentación puede ser:

Fragmentación Externa: existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua.

Fragmentación Interna: la memoria asignada puede ser ligeramente mayor que la requerida; esta referencia es interna a la partición, pero no se utiliza.

Page 10: Memoria virtual

PAGINACION

En sistemas operativos de computadoras, los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página.

Page 11: Memoria virtual

Tablas de páginas

Son usadas para realizar las traducciones de direcciones de memoria virtual (o lógica) a memoria real (o física) y en general el sistema operativo mantiene una por cada proceso corriendo en el sistema.

En cada entrada de la tabla de paginación (en inglés PTE, Page Table Entry) existe un bit de presencia, que está activado cuando la página se encuentra en memoria principal.

Page 12: Memoria virtual

Ventajas de la paginación

Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.

No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de paginas libres dispersos en la memoria.

Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.

Page 13: Memoria virtual

El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de espacio de direcciones y espacios de memoria. Todo el mecanismo es transparente al usuario. Se libera al programador de la restricción de programar para un tamaño físico de memoria, con lo que s e aumenta su productividad. Se puede programar en función de una memoria mucho más grande a la existente.

Al no necesitarse cargar un programa completo en memoria para su ejecución, se puede aumentar el número de programas multiprogramándose.

Se elimina el problema de fragmentación externa.

Page 14: Memoria virtual