Diferencia entre revisiones de «Sol reloj»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
Línea 22: Línea 22:
 
2(R=1)->3(R=1)->1(R=1)->4(R=1)   
 
2(R=1)->3(R=1)->1(R=1)->4(R=1)   
 
   ^                                luego da una vuelta cambiando todos los bits R a 0 y el primero
 
   ^                                luego da una vuelta cambiando todos los bits R a 0 y el primero
   |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.
+
   |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.--[[Usuario:Jherrera|Jherrera]] 10:44 13 jun 2011 (UTC)
  
  

Revisión del 12:44 13 jun 2011

  _________________accesos a página____________________
    |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|
 ========================================================
  1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 5 | 5 |
    |   |   |   |   |   |   |   |   |   |   |   |   |   |
m---|---|---|---|---|---|---|---|---|---|---|---|---|---|
a 2 |   |   | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 2 | 2 | 
r   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
c---|---|---|---|---|---|---|---|---|---|---|---|---|---|
o 3 |   |   |   | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 4 |
s   |   |   |   |   |   |   |   |   |   |   |   |   |   |  
 ---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  4 |   |   |   |   |   |   | 4 | 4 | 4 | 4 | 4 | 3 | 3 |
    |   |   |   |   |   |   |   |   |   |   |   |   |   |
 ------------------------------------------------------------> t
                   7
 tasa fallos pág = ---- = 0,615
                    13

Esta solución es la correcta aunque habría que añadirle el estado del bit R. Según en los apuntes de M.Rovayo se implementa como una cola circular con un puntero que señala a la última exploración realizada (NO A LA ÚLTIMA PÁGINA EXAMINADA). En esta cola solo se desplaza el puntero(que indica la página víctima). En el momento que llega la página 5 ,la cola está de la siguiente forma :


2(R=1)->3(R=1)->1(R=1)->4(R=1)

 ^                                luego da una vuelta cambiando todos los bits R a 0 y el primero
 |                                que se encuentra es de nuevo el 2, luego lo cambia por el 5.--Jherrera 10:44 13 jun 2011 (UTC)


Creo que la tasa es de 8/13, que coincidiría con el criterio de segunda oportunidad. --Lcarlosp 12:26 6 jun 2011 (UTC)

¿Está bien esta solución? Si el puntero señala el último marco utilizado (el 4), cuando viene el 5 habría que quitar el 4:

 2(R=1)->3(R=1)->1(R=1)->4(R=1)    Se implementa con una lista circular y el puntero señala el 4, 
 ^                       |         luego da una vuelta cambiando todos los bits R a 0 y el primero
 |                       |         que se encuentra es de nuevo el 4, luego lo cambia por el 5.
 -------------------------         

--Robertomartin 08:29 7 jun 2011 (UTC)



  _________________accesos a página____________________
    |_2_|_2_|_3_|_1_|_1_|_3_|_4_|_5_|_1_|_1_|_2_|_3_|_4_|
 ========================================================
  1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
  R=| 1 | = | = | = | = | = | = | = | = | = | 1 | = | 0 |
m---|---|---|---|---|---|---|---|---|---|---|---|---|---|
a 2 |   |   | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 
r R=|   |   | 1 | = | = | = | = | 0 | = | = | = | 1 | 1 |   
c---|---|---|---|---|---|---|---|---|---|---|---|---|---|
o 3 |   |   |   | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
s R=|   |   |   | 1 | = | = | = | 0 | 1 | = | = | = | 0 |  
 ---|---|---|---|---|---|---|---|---|---|---|---|---|---|
  4 |   |   |   |   |   |   | 4 | 5 | 5 | 5 | 5 | 5 | 5 |
  R=|   |   |   |   |   |   | 1 | 1 | = | = | = | = | 0 |
 ------------------------------------------------------------> t

creo que esta seria la solucion correcta, el puntero, en las situaciones criticas, esta apuntando a 4 que como dice Roberto se recorre la lista poniendo los bits a 0 y despues se sustituye por el 5, con bit a 1; y en la otra situación critica, cuando llega el ultimo 4, el puntero apunta a 3 y repitiendo la misma operacion de antes se sustituye por el 3.--Jmf bsk 16:09 7 jun 2011 (UTC)


Volver