UTNianos

Versión completa: [Sistemas Operativos][Aporte] Ejercicio 10 Guía de Memoria 2012
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
Subo mi resolución del Ejercicio 10 (Algoritmos de sustitución de páginas con uso de TLB) de la Guía de Memoria 2012 de Sistemas Operativos.

Aclaración: Respecto a los accesos TLB, sólo tuve en cuenta los aciertos. Es decir, no tuve en cuenta la actualización de las entradas de la misma porque si lo hubiese hecho se accedería siempre a la TLB, ya sea por acierto o por actualización, y no tendría sentido el ejercicio. Quizás lo que hice está mal, no estoy seguro.

Quedo a la espera de correcciones y comentarios

[attachment=10308]

[attachment=10309]

[attachment=10310]
Yo si los hubiera tenido en cuenta, por que asi marca la diferencia con la cantidad de accesos. Yo entendi que siempre se accede a la TLB=> sin acierto se busca en memoria. Los accesos a disco desconozco como calcularlos o si se puedee
Hola Carolina, cito textual lo que dijo Adriano en un post del foro del Aula Virtual de Sistemas Operativos relacionado a este ejercicio:

"- La TLB tiene Nro de pagina - Frame
- Respecto a los accesos a disco, la TLB no tiene nada que ver... eso dependera de si la pagina esta o no en memoria principal o bien si hay que escribirla
- Siempre accede a la TLB primero, si no encuentra la traduccion, va a la tabla de paginas"


Es decir, la cantidad de accesos a Disco es totalmente independiente de la utilización de la TLB. Por otra parte, en los algoritmos de sustitución de páginas se tienen en cuenta los accesos a Memoria Principal sólo para ir a buscar la página, lo que me hace pensar que en la TLB debería tener en cuenta sólo dichos accesos también. Si tuviera en cuenta los accesos para actualizar las entradas de la TLB, entonces accedería siempre, no habría ningún caso en el cual no acceda a la misma, o al menos eso creo.
Hola alan2506, yo entendí como Caroolina, que se accede siempre primero a la TLB y si hay acierto se arma la dirección real; sino, se accede a la tabla de páginas para ver si la misma está en memoria principal o hay que cargarla desde la virtual.

Por lo tanto, como decís la cantidad de accesos a disco no tiene relación con la TLB porque, esta última, no te da la información para saber si la página está o no en memoria.
A ver si entendí bien, entonces según ustedes la cantidad de accesos a TLB quedaría así:

Para el P1: 13 accesos (8 aciertos y 5 actualizaciones)

Para el P2: 9 accesos (9 actualizaciones)


¿Digo bien?
Entiendo que si, pero como no soy ayudante ni profesor de SO tomala de quien viene la respuesta, jajajaja! lol
Buensiimo !
Yo me baso en lo que dice el silber: que accede a la tlb, la busca, si no esta...va a memoria. Si la encuentra en memoria (no dice nada si no la encuentra, el texto asume que esta) deja una copia en la tlb
entonces no puedo calcular los accesos a disco por que no se que paginas estan en memoria y cuales no cierto?
Carolina,

Respecto a los accesos a disco, creo que la única forma que tendrías de calcularlos es:

1) Que el enunciado te diga qué páginas están en disco, lo cual significaría un acceso por cada una que lleves a memoria.

2) Que el enunciado te diga qué páginas (de las que tenes en memoria) tienen el bit de modificación en 1, lo cual significaría que si en algún momento te toca sustituir dichas páginas, vas a tener un acceso a disco para escribirlas (actualizarlas mejor dicho). En el ejercicio 9 pasa eso, fijate.
Hola,

Un par de cosas generales.

- En la respuesta al punto b pide que se justifique teniendo en cuenta el concepto de localidad (algo que no esta hecho). Ojo con eso.
- Leer algo de una página con TLB HIT nos da un acceso a memoria. Leer algo con TLB MISS nos da dos accesos (uno a la tabla de paginas, otro al frame donde este la pagina).
- Los accesos a disco dependen de que la pagina buscada este presente en memoria. Si la pagina no está en memoria principal, no deberia estar tampoco en la TLB (el SO se tiene que ocupar de eso).
- Los "accesos" a la TLB son las búsquedas. Lo referido a las actualizaciones dependen mucho de las arquitecturas, por lo que no les recomiendo volverse locos con eso.
- Les dejo un gráfico que espero que los ayude a interpretar bien todo este asunto.

Saludos!
Seguramente les ayude esta imágen!

EDIT: Me ganó de mano Adro
Mil gracias Adriano!

Entonces según entendí, a la TLB vamos a acceder SIEMPRE para buscar la página (es decir, vamos a tener tantos accesos como páginas haya que buscar). La diferencia va a estar en los accesos a Memoria, ya que vamos a tener 1 acceso si se produjo un HIT en TLB, o 2 accesos si se produjo un MISS en TLB.

Por otra parte, está el tema de los accesos a disco, sigo pensando que en este ejercicio es imposible determinarlos. En cambio, sí es posible hacerlo en el ejercicio 9 por ejemplo.

Respecto al ítem b), cuando dice "tener en cuenta el concepto de localidad", ¿Se refiere al que dice que en la sustitución de páginas sólo pueden ser víctimas las que se encuentran en los frames pura y exclusivamente de ese proceso? Es decir, no se pueden sustituir páginas ubicadas en frames de otros procesos.

Saludos!
La TLB es el primer punto donde accedes. Siempre la vas a acceder.
Los accesos a disco son fáciles de calcular, revisa el ejercicio mirando el diagrama que subi y vas a ver que aparecen solos.

Y sobre el principio de localidad, la cache tiene sentido si se cumple el principio de localidad. En el ejemplo P1 esto sucede. En P2 no. Este principio no se refiere al alcance global o local, ojo.
Gracias Adriano, entonces si entendí bien, con "principio de localidad" te referís a este concepto:

"El principio de localidad dice que las referencias a memoria tienden a agruparse y que el procesador tiende a ejecutar por cortos periodos de tiempo sobre un solo grupo." (Fuente: Libro Stallings)

Por ejemplo, el algoritmo de sustitución de páginas LRU sería muy poco performante si NO se cumpliera este principio.

Saludos!
Pasando en limpio (según lo que entendí), por ejemplo para el proceso A tengo:

5 fallos de pagina
13 accesos a TLB (contando solamente las busquedas en la TLB y no las actualizaciones, como dijo adriano)
18 accesos a memoria
5 accesos a disco

?

pd: suponiendo que al reemplazar la pagina 10, tiene el bit de modificado en 1, tendría un acceso mas a disco para guardarla antes de reemplazar
No estoy muy seguro, pero creo que tenes razón, en el Proceso 1 accederías a Disco 5 veces (un acceso por cada PF, esto pasa porque la tabla de páginas del proceso arranca vacía), suponiendo obviamente que no se modificó la página 10, sino serían 6 accesos.

Respecto a los accesos a Memoria Principal (18) y a TLB (13), también estoy de acuerdo con vos.
Páginas: 1 2
URLs de referencia