2. Definición: Es la posibilidad de ejecutar un programa que no esta
totalmente en memoria
Esta permite usar mas memoria principal de la que realmente posee el
PC. La mayoría de PC posee 4 tipos de memoria:
• Memoria cache
• Registros de la CPU
• Memoria física
• Disco duro
4. MEMORIA VIRTUAL
Ejecutar un programa que no esta totalmente en memoria
permite que:
• Los programas puedan ser mas grandes que la
memoria física instalada en la máquina
• Se pueda aumentar el grado de multiprogramación
• La forma mas usual de implementarla es con
paginación bajo demanda
6. • Es un sistema paginado con intercambio en donde se
intercambia paginas cuando no son necesarias
• El HARDWARE debe suministrar una tabla de paginas con un
bit que indique la presencia (o no) de la pagina en memoria de
manera que
• Se referencia una pagina cuya entrada en la tabla de paginas
tiene el bit de presencia a 1: se accede normalmente
• Se referencia una pagina cuya entrada en la tabla de paginas
tiene el bit de presencia a 0: se produce una excepción
8. • Hace falta también una zona de almacenamiento secundario donde
almacenar las paginas
• Hacerlo en un archivo es mas flexible, pero hay que sufrir las
indirecciones del sistema de archivos
• Hacerlo en una partición o en un disco dedicado es mas rápido,
pero se pierde flexibilidad
• Se pueden ejecutar programas mas grandes que la memoria física a
costa de una merma en la velocidad
• Dado que a menudo hay que traer paginas a memoria, surge el
problema de cuales reemplazar
• Además de los distintos algoritmos hay que considerar si se hace
reemplazo local o global
• Otro aspecto a tener en cuenta son los criterios de asignación de
marcos a los procesos
9. • Cada página tiene un número que se utiliza como índice en la tabla
de páginas, lo que da por resultado el número del marco
correspondiente a esa página virtual.
• En teoría, la asociación de las direcciones virtuales con las físicas se
efectúa según lo descrito.
• hay que enfrentar dos aspectos fundamentales:
• La tabla de páginas puede ser demasiado grande.
• La asociación debe ser rápida.
11. • Es la memoria que queda desperdiciada al usar los
métodos de gestión de memoria utilizados que se vieron en
los métodos anteriores.
• Esta es generada cuando durante el reemplazo de
procesos quedan huecos entre dos o mas procesos de
manera no contigua y cada hueco no es capaz de soportar
ningún proceso de la lista de espera.
12. • Existe el espacio de total de memoria para satisfacer un
requerimiento, pero no es contigua. Esta se puede reducir
mediante la compactación para colocar toda la memoria
libre en un solo gran bloque, pero esta solo es posible si la
relocalización es dinámica y se hace en tiempo de
ejecución.
• Fragmentación interna, la memoria asignada puede ser
mayor ligeramente mayor que la requerida; esta referencia
es interna a la partición, pero no se utiliza.
13. • Algoritmo FIFO muy sencillo de implementar
• Inconvenientes:
• Rendimiento del algoritmo pobre, paginas frecuentemente
usadas pueden ser sustituidas.
• Se puede presentar anomalía de belady: aumento del
número de fallos de pagina al aumentar el número de
marcos
14. • Combina sencillez y buen rendimiento
• Emplea un bit de referencia asociado a cada página
• Pasos del algoritmo:
• Se elige una página con criterio FIFO y se examina su bit
de referencia.
• Si el bit de referencia está activo, se desactiva y se trata la
página como si se acabara de llegar a memoria. Volver a 1
15. (LEAST-RECENTLY-USED)
• Algoritmo de aproximación al reemplazo óptimo
• Basado en utilizar el pasado reciente como una predicción
del futuro más próximo
• Sustituye la página menos usada en el pasado inmediato
• Carece de la anomalía de Belady.
• La implementación requiere de hardware adicional:
• Campo en las entradas de la tabla de páginas.
• Pila de las páginas en memoria.
16.
17. • Existen diferentes algoritmos, entre ellos:
• Generalmente se implementa mediante una cola FIFO
circular con las páginas cargadas
• Algoritmo del reloj global
• Algoritmo FIFO con segunda oportunidad
18.
19. • Se colocan todas las páginas que pueden ser
sustituidas en una lista circular
• Un proceso de sistema borra los bits de referencia
cada cierto tiempo utilizando un puntero giratorio
• Si en la siguiente vuelta el bit sigue desactivado, la
página en cuestión es una buena candidata a ser
sustituida.
20. • Algoritmo que simula por software el algoritmo LRU
• Utiliza un contador asociado a cada página que se
incrementa en cada interrupción de reloj de acuerdo con el
valor del bit de referencia
• En cada pulso de reloj se borra el valor del bit de referencia
• Si hay un fallo de página se elige la página con el valor
mínimo del contador para su sustitución.