Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porjavier sdasd Modificado hace 6 años
1
MICROPROCESADORES ALGORITMOS DE INTERCAMBIO DE PÁGINAS ESTUDIANTE:JAVIER WILLIAN HUAMAN HUAYLLANI
2
Temario :// Introducción Algoritmo de Reemplazo de Páginas El algoritmo de reemplazo de página teóricamente óptimo No recientemente utilizado Primero enentrar, primero en salir Segunda oportunidad Reloj GClock Clock-Pro Wsclock El reloj con Reemplazo Adaptativo (CAR) Menos recientemente utilizado LRU-K El algoritmo ARC Aleatorio No utilizado con frecuencia (NFU) Envejecimiento Algoritmo de reemplazo de página de mayor distancia primero (LDF)
3
Algoritmos de Reemplazo de Páginas :// Generalidades - Al ocurrir un fallo de página, el sistema operativo debe cargar a memoria la página que contiene la dirección de memoria solicitada. Si no existe lugar disponible en la memoria, entonces se deberá desalojar algunas para hacer espacio. - Desalojar páginas poco usadas es mas conveniente que desalojar otras más populares, pues es muy probable que se deban traer de vuelta las más utilizadas. - Se debe tener el cuidado sobre que hacer con las páginas de acuerdo a si han sido modificadas o no. Una página no modificada se puede acceder desde su ubicación inicial en el disco. Una página modificada debe ser escrita a disco para no perderla. RAM ? Swap Eliminacion
4
[ 4 ] Algoritmos de Reemplazo de Páginas :// Sistemas Operativos: Manejo de Memoria Casos de desalojo de páginas - Páginas No Modificadas, Solo Lectura: se eliminan pues pueden ser re- leídas desde su posición original en el disco. (Ej: segmento de codigo) - Páginas Modificadas, que no han salido a swap: se escriben al swap para no perderlas (Ej: stack) - Páginas No Modificadas, que han salido a swap: se verifica si la ubicación en swap es válida, si lo es, no elimina. - Páginas Modificadas: se escriben a swap.
5
Algoritmos de Reemplazo de Páginas :// Algoritmo Óptimo El algoritmo de reemplazo de página teóricamente óptimo (también conocido como OPT, algoritmo de reemplazo clarividente o la política de reemplazo de página óptima de Bélády. -es un algoritmo que funciona de la siguiente manera: cuando una página necesita ser intercambiada, la el sistema operativo cambia la página cuyo próximo uso ocurrirá más adelante en el futuro. Por ejemplo, una página que no se va a utilizar durante los próximos 6 segundos se intercambiará en una página que se utilizará dentro de los próximos 0,4 segundos.el sistema operativo - Imposible de Implementar pues supone el conocimiento de que páginas serán solicitadas por el proceso, a priori. Página 1 Tiempos de referencia: 123, 1002, 2099, 4009, 10000 Página 2 Tiempos de referencia: 11, 20000, 22444, 22443 Página 3 Tiempos de referencia: 1000, 1001, 1002, 1003 Página 4 Tiempos de referencia: 500, 11000, 11001, 23000 Página 5 Tiempos de referencia: 123, 1002, 2099, 4009, 10000 Página Entrante A desalojar
6
Algoritmos de Reemplazo de Páginas :// Algoritmo Óptimo El algoritmo de reemplazo de página teóricamente óptimo (también conocido como OPT, algoritmo de reemplazo clarividente o la política de reemplazo de página óptima de Bélády. -es un algoritmo que funciona de la siguiente manera: cuando una página necesita ser intercambiada, la el sistema operativo cambia la página cuyo próximo uso ocurrirá más adelante en el futuro. Por ejemplo, una página que no se va a utilizar durante los próximos 6 segundos se intercambiará en una página que se utilizará dentro de los próximos 0,4 segundos.el sistema operativo - Imposible de Implementar pues supone el conocimiento de que páginas serán solicitadas por el proceso, a priori.
7
Algoritmos de Reemplazo de Páginas :// Sistemas Operativos: Manejo de Memoria NRU: Not Recently Used – No usadas recientemente - En este método cada página contiene 2 bits que permite decidir cual página desalojar: - R (bit solicitado): Se enciende cuando se realiza un acceso a esta página - M (bit modificado): Se enciende cuando se escribe en la página. - Se establecen así 4 clases de acuerdo al valor de los bits: - Clase 0: No solicitado, No Modificado - Clase 1: No solicitado, Modificado - Clase 2: Solicitado, No Modificado - Clase 3: Solicitado, Modificado - El sistema operativo en cada interrupción de reloj cambia el estado del bit R, para poder identificar cuales páginas son accedidas constantemente durante el quantum. -Aunque no parece posible que una página se modifique pero no se haga referencia a ella, esto sucede cuando una página de clase 3 tiene su bit referenciado borrado por la interrupción del temporizador. El algoritmo NRU selecciona una página aleatoria de la categoría más baja para su eliminación. Por lo tanto, de las cuatro categorías anteriores, el algoritmo NRU reemplazará una página no referenciada, no modificada, si dicha página existe. Tenga en cuenta que este algoritmo implica que una página modificada pero no referenciada (dentro del último intervalo de tiempo) es menos importante que una página no modificada a la que se hace una referencia intensa.
8
Algoritmos de Reemplazo de Páginas :// NRU: Not Recently Used – No usadas recientemente PagBit RBit M 000 100 200 300 Estado de la tabla de páginas en t 0 Quantum PagBit RBit M 011 110 200 311 Estado de la tabla de páginas en t 1 Durante el siguiente cuantum se hacen accesos a las páginas 0 y 1, luego se pide la página 4 que no esta presente y se provoca un Page Fault. El SO apaga todos los bits R para poder determinar cuales de las páginas han sido ocupadas PagBit RBit M 001 100 200 301 Estado de la tabla de páginas en t 2 Quantum PagBit RBit M 011 110 200 301 Estado de la tabla de páginas en t 3 Durante el quantum se acceden las páginas 0, 1 y 3; y se escribe en las 0 y 3 Será desalojada
9
Algoritmos de Reemplazo de Páginas :// FIFO: First In First Out - Simplemente se escoge para desalojo la página que entró primero a la memoria. -El sistema operativo realiza un seguimiento de todas las páginas en la memoria en una cola, con la llegada más reciente en la parte posterior y la llegada más antigua al frente. Cuando se necesita reemplazar una página, se selecciona la página al principio de la cola (la página más antigua). Mientras que FIFO es barato e intuitivo, tiene un rendimiento bajo en la aplicación práctica. Por lo tanto, rara vez se utiliza en su forma no modificada. Este algoritmo experimenta la anomalía de Bélády. En palabras simples, en una falla de página, el marco que ha estado en la memoria más tiempo es reemplazado.la anomalía de Bélády Pág 1 Pág 2Pág 3Pág 4Pág 5 Pág 1 Pág 2Pág 3Pág 4 Pág 1 Pág 2Pág 3 Pág 1 Pág 2 Pág 1 Pág 6 Pág 2Pág 3Pág 4Pág 5 Pág 6 Pág 7Pág 3Pág 4Pág 5 Pág 6 Pág 7Pág 8Pág 4Pág 5 t0t1t2t3t4t5t6t7t0t1t2t3t4t5t6t7 Memoria de 5 marcos
10
Algoritmos de Reemplazo de Páginas :// Second Chance – Segunda Oportunidad - Modificación de FIFO que permite evitar el problema de desalojar una página que sea muy utilizada. - Las páginas se mantienen ordenadas en el orden en que llegaron a la memoria, en una lista enlazada por ejemplo. - Cada vez que se elige una página como candidato para desalojar, se mira su bit de uso (R). - Si esta en 1, se apaga, se coloca la página al final y se sigue con la siguiente (dándole así una segunda oportunidad). - Si esta en 0, se escoge esa página para el desalojo. - A diferencia de NRU, el SO solo resetea el bit a cero cuando esta buscando una página para desalojar, y no en cada interrupción de reloj.
11
Algoritmos de Reemplazo de Páginas :// Second Chance – Segunda Oportunidad Pág 1 1 Pág 2 1 Pág 3 0 Pág 4 0 Pág 5 0 En FIFO la Página 1 saldría 0 Orden de entrada a la memoria Pág 2 1 Pág 3 0 Pág 4 0 Pág 5 0 Pág 1 0 0 Pág 2 0 Pág 3 0 Pág 4 0 Pág 5 0 Pág 1 0 Se mira la primera página (la más vieja). Tiene su bit de uso en 1, por lo tanto se le da otra oportunidad. Se setea en cero R, y se pasa a la cola Idem al caso anterior Al encontrarse una página con el bit en cero, se escoge para desalojo. En el caso de que todas las páginas hayan tenido el bit de uso en cero, este algoritmo degrada en FIFO.
12
Algoritmos de Reemplazo de Páginas :// Tipo Reloj (Clock) - Muy similar a Second Chance, también utiliza el bit de uso para entregar una segunda oportunidad a las páginas antes de desalojarlas. -Las páginas son colocadas en una lista enlazada circular que el sistema operativo va revisando secuencialmente como la manecilla de un reloj. - Si la página tiene bit R = 1, lo apaga y sigue con la página siguiente. - Si la página tiene bit R = 0, la desaloja. Pág 1 1 Pág 2 0 Pág 3 0 Pág 4 0 Bit R = 1, se apaga y se sigue con el siguiente Pág 1 0 Pág 2 0 Pág 3 0 Pág 4 0 Bit R = 0 Se desaloja la página
13
Variantes del reloj GCLOCK: Algoritmo de reemplazo de página de reloj generalizado. Clock-Pro. Mantiene una lista circular de información sobre las páginas a las que se hace referencia recientemente, incluidas todas las páginas M en la memoria, así como las páginas M más recientes que se han eliminado. Esta información adicional sobre páginas paginadas, como la información similar mantenida por ARC, le ayuda a funcionar mejor que LRU en loops grandes y escaneos únicos. WSclock. El algoritmo de "envejecimiento" y el algoritmo "WSClock" son probablemente los algoritmos de reemplazo de página más importantes en la práctica. El reloj con Reemplazo Adaptativo (CAR) es un algoritmo de reemplazo de página que tiene un rendimiento comparable al ARC, y supera sustancialmente tanto a LRU como a CLOCK.El algoritmo CAR se autoajusta y no requiere parámetros mágicos especificados por el usuario.
14
20431 2 0 1 4 3 100 150 120 40 60 Algoritmos de Reemplazo de Páginas :// LRU: Least Recentely Used – Menos Recientemente Usada - Algoritmo que busca desalojar la página que lleva mas tiempo sin usarse, tomando como base que las más usadas, seguirán siendo solicitadas en el futuro. - Se puede implementar a través de: - Lista enlazada: el sistema mantiene una lista de las páginas en memoria. Cada vez que se referencia una página, se mueve el nodo al final de la lista. Al momento de ocurrir un fallo de página se escoge la primera página de la lista. - Contador: El sistema mantiene un contador por página que se aumenta en cada interrupción de reloj. Al ocurrir un fallo de página se escoge la página con el contador con el menor valor. 2014320431 Acceso página 1 Acceso página 5 fallo de página 2 0 1 4 3 100 0 120 40 60 Acceso página 1 En t=150 2 0 1 4 3 100 150 120 40 60 Acceso página 5 En t=160 Página a desalojar
15
Variantes en LRU 1.LRU-K expulsa la página cuyo K acceso más reciente es el más alejado en el pasado. Por ejemplo, LRU-1 es simplemente LRU mientras que LRU- 2 expulsa páginas de acuerdo con el momento de su penúltimo acceso. LRU-K mejora mucho en LRU con respecto a la localidad en el tiempo. 2.El algoritmo ARC extiende LRU al mantener un historial de páginas desahuciadas recientemente y lo usa para cambiar la preferencia a acceso reciente o frecuente. Es particularmente resistente a escaneos secuenciales. Algoritmos de Reemplazo de Páginas ://
16
Working Set – Set de trabajo - Empíricamente los procesos al ejecutarse no hacen referencia a todas sus páginas constantemente. Sucede que en cualquier fase de la ejecución el proceso exhibe una localidad de referencia, es decir, accede a un subconjunto pequeño de la totalidad de sus páginas - Formalmente se denomina Conjunto de Trabajo al conjunto de páginas que está utilizando en un momento dado. Este no es fijo, y cambia periódicamente a medida que el proceso se ejecuta. - Si no existe memoria disponible en el sistema para contener el conjunto de trabajo de un proceso, este generará muchos fallos de páginas en un número reducido de instrucciones. A este fenómeno se le denomina Thrasing o Hiperpaginación. - El algoritmo Working Set se basa en lograr mantener en memoria las páginas que se consideran dentro del conjunto de trabajo para así reducir al máximo la cantidad de Page Faults. - Para establecer el conjunto se puede usar uno de los siguientes métodos: - Páginas referenciadas en los k últimos accesos a memoria, aquellas que no están en el conjunto pueden ser desalojadas - k últimas páginas referenciadas, idem caso anterior - Usar el tiempo virtual de ejecución (tiempo real que ha ocupado el proceso en CPU) para determinar la edad de la página. Aquellas que sobrepasan una edad máxima T se consideran fuera del conjunto y pueden ser desalojadas. (RECOMENDADO) - Se asume se tiene hardware que enciende los bits R y M adecuadamente. - El bit R se apara en cada interrupción de reloj, actualizando el tiempo de acceso a aquellas páginas cuyo bit R es 1.
17
Algoritmos de Reemplazo de Páginas :// Working Set – Set de trabajo - Usando un set de trabajo con T = 50 Accesos a páginas 1,2,4 durante quantum 2 0 1 4 3 50 60 15 60 PágUlt UsoR 0 0 0 0 0 tVirtual = 80 WS = {0, 1, 2, 4} 2 0 1 4 3 50 110 15 110 PágUlt UsoR 0 0 0 0 0 WS = {1, 2, 4} tVirtual = 110 2 0 1 4 3 50 60 15 60 PágUlt UsoR 0 1 1 0 1 tVirtual = 110 WS = {0, 1, 2, 4} Páginas que pueden ser desalojadas
18
Aleatorio El algoritmo de reemplazo aleatorio reemplaza una página aleatoria en la memoria. Esto elimina el costo general de rastrear referencias de página. Por lo general, es mejor que FIFO, y para el bucle de referencias de memoria es mejor que LRU, aunque generalmente LRU tiene un mejor rendimiento en la práctica. OS / 390 utiliza una aproximación LRU global y recurre a un reemplazo aleatorio cuando el rendimiento de LRU se degenera, y el procesador Intel i860 utiliza una política de reemplazo aleatorio (Rhodehamel 1989). Algoritmos de Reemplazo de Páginas ://
19
No se utiliza con frecuencia (NFU) El algoritmo de reemplazo de página no utilizado con frecuencia (NFU) requiere un contador, y cada página tiene un contador propio que inicialmente se establece en 0. En cada intervalo de reloj, todas las páginas que se han referenciado dentro de ese intervalo tendrán su contador incrementado por 1. En efecto, los contadores realizan un seguimiento de la frecuencia con la que se ha utilizado una página. Por lo tanto, la página con el contador más bajo se puede intercambiar cuando sea necesario. El principal problema con NFU es que realiza un seguimiento de la frecuencia de uso sin tener en cuenta el lapso de tiempo de uso. Por lo tanto, en un compilador de múltiples pasadas, las páginas que se usaron mucho durante la primera pasada, pero que no son necesarias en la segunda pasada, se verán favorecidas en comparación con las páginas que se usan de manera comparativamente ligera en la segunda pasada, ya que tienen contadores de frecuencia más altos. Estos resultados son pobres en rendimiento. Existen otros escenarios comunes en los que NFU funcionará de manera similar, como un arranque de sistema operativo.
20
Algoritmos de Reemplazo de Páginas :// Envejecimiento El algoritmo de envejecimiento es un descendiente del algoritmo de NFU, con modificaciones para que tenga en cuenta el lapso de tiempo de uso. En lugar de simplemente incrementar los contadores de las páginas referenciadas, poniendo igual énfasis en las referencias de página independientemente del tiempo, el contador de referencia en una página se desplaza primero a la derecha (dividido por 2) antes de agregar el bit referenciado a la izquierda de ese número binario. Por ejemplo, si una página ha hecho referencia a los bits 1,0,0,1,1,0 en los últimos 6 tics de reloj, su contador de referencia se verá así: 10000000, 01000000, 00100000, 10010000, 11001000, 01100100. Página referencias más cercanas hasta el momento tienen más impacto que las referencias de página hace mucho tiempo. Esto garantiza que las páginas a las que se hace referencia más recientemente, aunque se mencionen con menos frecuencia, tendrán mayor prioridad que las páginas a las que se hace referencia con más frecuencia en el pasado. Así,
21
Algoritmos de Reemplazo de Páginas :// Envejecimiento t | R-bits (0-5) | Contadores para las páginas 0-5 00 | [1, 0, 1, 0, 1, 1] | [10000000, 00000000, 10000000, 00000000, 10000000, 10000000] 01 | [1, 1, 0, 0, 1, 0] | [11000000, 10000000, 01000000, 00000000, 11000000, 01000000] 02 | [1, 1, 0, 1, 0, 1] | [11100000, 11000000, 00100000, 10000000, 01100000, 10100000] 03 | [1, 0, 0, 0, 1, 0] | [11110000, 01100000, 00010000, 01000000, 10110000, 01010000] 04 | [0, 1, 1, 0, 0, 0] | [01111000, 10110000, 10001000, 00100000, 01011000, 00101000] Cuando sucede una falta de página, la página cuyo contador es el más bajo se reemplaza (página que menos ha sido referenciada en los últimos ticks de reloj). Diferencias del algoritmo de “aging” con el LRU: · No sabemos cuál fue la última página referenciada (después del tick 3 entre las páginas 3 y 5). · Los contadores tienen un número finito de bits (8). Sólo tenemos referencias de los últimos 8 ticks de reloj (si cada tick de reloj se produce aproximadamente cada 20 msg., tendremos referencia de los últimos 160 msg., lo cual puede ser suficiente).
22
Algoritmos de Reemplazo de Páginas :// Envejecimiento · Los contadores se desplazan a la derecha un bit. · El bit R se añade al bit más izquierdo.
23
Algoritmos de Reemplazo de Páginas :// El algoritmo de reemplazo de página de distancia más larga primero (LDF) La idea básica detrás de este algoritmo es la Localidad de Referencia utilizada en LRU, pero la diferencia es que en LDF, la localidad se basa en la distancia, no en las referencias utilizadas. En el LDF, reemplace la página que está en la distancia más larga desde la página actual. Si dos páginas están a la misma distancia, la página que está junto a la página actual en rotación contraria al reloj será reemplazada.
24
1. Bell, John. "Notas del curso de sistemas operativos: memoria virtual". Universidad de Illinois en Chicago College of Engineering. Consultado el 21 de julio de 2017. 2."Lecture Notes"por Douglas W. Jones 1995 3."CS111 Lecture 11 notas". Archivado desde el original el 9 de enero de 2009. 4."Caracterización del comportamiento referencia Web revisited: Evidencia para la gestión dicotomizaron Caché". 5.Abraham Silberschatz, Galvin Peter Baer, Greg Gagne. Conceptos de sistemas operativos (Séptima edición). : Wiley 2005. p. 339. 6. VMS Ayuda 7. Andrew S. Tanenbaum. Sistemas operativos modernos (segunda edición). pp. 218 (4.4.5). 2001. 8. establecimiento de secuencias y la obtención previa de los sistemas de bases de datos 9. "CLOCK-Pro: una mejora efectiva del reemplazo RELOJ" por Song Jiang, Feng Chen y Zhang Xiaodong, 2005 REFERENCIAS :
25
GRACIAS…
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.