29 Memoria_virtual
Introducción
Memoria virtual es un mecanismo que permite que
la memoria principal parezca mas grande que su
tamaño físico.
Permite ejecutar programas mas grandes que la
memoria física disponible.
La memoria principal actúa como caché de la
memoria secundaria (disco duro).
Universidad de Sonora
Arquitectura de Computadoras
2
Definiciones
Espacio de direcciones. Rango delocalidades de
memoria accesibles solo por un programa.
Dirección física. Dirección en la memoria principal.
La memoria virtual incluye mecanismos para traducir
del espacio de direcciones a direcciones físicas.
Protección. Mecanismos para asegurar que múltiples
procesos que compartan la CPU, memoria o
dispositivos de I/O no interfieran uno con otro.
La protección también aísla los procesosdel usuario
de los procesos del sistema operativo.
Universidad de Sonora
Arquitectura de Computadoras
3
Memoria y cachés
Los conceptos en memoria virtual y cachés son los
mismos pero con nombres diferentes.
Un bloque en memoria virtual se llama “página”.
Una falla en memoria virtual se llama “falta de
página”.
En memoria virtual la CPU produce una “dirección
virtual” que es traducida porhardware y software a
una dirección física que se usa para accesar la
memoria principal.
Universidad de Sonora
Arquitectura de Computadoras
4
Mapeo de direcciones
Esta traducción se le llama “mapeo de direcciones”
o “traducción de direcciones”.
Universidad de Sonora
Arquitectura de Computadoras
5
Relocalización
La memoria virtual ofrece un mecanismo de
relocalización de programas.
Lasdirecciones virtuales usada por un programa se
mapean a direcciones físicas.
Los programas se componen de una o mas páginas
de tamaño fijo.
El sistema operativo carga en memoria principal
solo un número suficiente de páginas por programa.
Universidad de Sonora
Arquitectura de Computadoras
6
Direcciones virtuales y físicas
En memoria virtual, una dirección se compone de un
número depágina virtual y un offset.
El número de página virtual se traduce a un número
de página física.
Universidad de Sonora
Arquitectura de Computadoras
7
Direcciones virtuales y físicas
El número de bits del offset determina el tamaño de
la página.
El número de bits del número de página virtual es
mayor o igual al número de bits del número de
página física.
La idea es que la memoria virtual seamas grande
que la memoria física.
Universidad de Sonora
Arquitectura de Computadoras
8
Consideraciones de diseño
La falta de página es muy costosa.
La memoria principal es 100,000 veces más rápida
que el disco duro.
Universidad de Sonora
Arquitectura de Computadoras
9
Consideraciones de diseño
Consideraciones:
Las páginas deben ser suficientemente grandes
para amortizar el costo deacceso (32 – 64KB).
Para reducir la tasa de faltas, los bloques pueden ir
en cualquier parte de la memoria principal (i.e. la
memoria es fully associative).
Las faltas de página se manejan por software para
permitir algoritmos “inteligentes”.
Cualquier reducción en la tasa de faltas vale la pena
el esfuerzo de implementación.
Universidad de Sonora
Arquitectura de Computadoras
10Consideraciones de diseño
Write-through no funciona para memoria virtual. Los
sistemas de memoria virtual usan write-back.
Universidad de Sonora
Arquitectura de Computadoras
11
Buscando una página
Una página puede estar en cualquier lugar de la
memoria.
Se usa una tabla para accesar la memoria llamada
“tabla de páginas”.
La tabla de páginas se indexa con el número de
página virtual y regresa elnúmero de página física.
La CPU incluye un registro para apuntar a la tabla
de páginas del programa que está corriendo.
Universidad de Sonora
Arquitectura de Computadoras
12
Tabla de páginas
Universidad de Sonora
Arquitectura de Computadoras
13
Explicación
El registro de tabla de páginas apunta al comienzo
de la tabla de páginas.
El tamaño de página es 212 = 4 KB.
El espacio de...
Regístrate para leer el documento completo.