[Examen 30 de julio 2018] Problema 2 - parte 5a (Memoria Virtual)

[Examen 30 de julio 2018] Problema 2 - parte 5a (Memoria Virtual)

de Danilo Alberto Garcia Lallanes -
Número de respuestas: 4

En el proceso P1 cuando se tiene que acceder a M(0x0100) significa que de la primer tabla accedera a la primer entrada, y de la segunda tabla accedera a la segunda entrada (Ox1C00) que esta marcada como invalida, lo que generara un page fault.

El problema es que segun veo en la solucion, en t = 1 da la sensacion de que el algoritmo de reemplazo esta sustituyendo a la entrada (p2,03,16,0) [0x03C4]. 

¿No deberia elegir una entrada para sustituir que fuera invalida, en lugar de elegir esa que es valida pero que no fue referenciada?

¿Por que la cola del algoritmo de reemplazo solo tiene 8 entradas en todo tiempo?

En respuesta a Danilo Alberto Garcia Lallanes

Re: [Examen 30 de julio 2018] Problema 2 - parte 5a (Memoria Virtual)

de Danilo Alberto Garcia Lallanes -

Otra pregunta con respecto a ese ejercicio:

¿Por que en el t = 4 cuando se produce el page fault debido al acceso M(0x112A) esta indicado que la dir. pagina y dir marco son iguales, si en realidad no sabemos cual es la direccion del marco(p1,11,11,0)  

En respuesta a Danilo Alberto Garcia Lallanes

Re: [Examen 30 de julio 2018] Problema 2 - parte 5a (Memoria Virtual)

de Santiago Iturriaga -

Hola:

Primero que nada una aclaración: el objetivo del algoritmo de reemplazo es elegir que página quitar de memoria para liberar un marco de memoria. Esto quiere decir que si o si debe seleccionar una página válida de memoria para liberar un marco (una máqina inválida no tiene marco asociado).

El algoritmo de reemplazo será ejecutado cuando el sistema tenga que cargar una nueva página a memoria pero no tenga marcos disponibles (debe poder asegurar liberar un marco!). 

En este ejercicio en particular la letra dice que "El sistema cuenta solamente con 2 KB de memoria física", es decir 8 marcos (por el tamaño de la página). Como las páginas válidas son las que tienen marcos asociadas, entonces nunca habrán más de 8 páginas válidas en memoria. Además, como el algoritmo de reemplazo solamente selecciona páginas válidas (por lo dicho arriba), la cola del algoritmo de reemplazo nunca tendrá más de 8 entradas. El objetivo del algoritmo es elegir "inteligentemente", de entre esas 8 entradas válidas, cual quitar de forma de impactar lo menos posible la ejecución del/los proceso/s. Una página cargada pero que no ha sido referenciada es una buena candidata a ser quitada porque hay chance de que haya caído en desuso y no se vuelva a utilizar (por ejemplo: podría ser una sección de código de inicialización del proceso).

Saludos,

Santiago.

En respuesta a Santiago Iturriaga

Re: [Examen 30 de julio 2018] Problema 2 - parte 5a (Memoria Virtual)

de Lerder Alexander Martins Masner -

Buenas,

Por que en la parte 5 se asume que la memoria ya esta cargada por los procesos P1 y P2 que luego se ejecutan? En la letra en ninguna parte se aclara ese detalle (que diga que accedieron a memoria y luego ejecutaron).

Otra pregunta, como es posible que en el instante 0 ya se haya ejecutado M(0x0014), lo cual tarda 1 unidad de tiempo que aún no ha transcurrido?

Saludos.

En respuesta a Lerder Alexander Martins Masner

Re: [Examen 30 de julio 2018] Problema 2 - parte 5a (Memoria Virtual)

de Santiago Iturriaga -

Hola:

En la letra del ejercicio (antes de plantear las preguntas) dice "Suponga se tienen dos procesos de usuario en ejecución, P1 y P2, que realizaron los siguientes accesos a memoria" y se detallan los acceso a memoria que realizaron. Luego todas las preguntas son partiendo de la premisa de que esa memoria ya fue accedida y que por lo tanto fue cargada a memoria en algún momento anterior a t=0.

El diagrama muestra claramente que la instrucción M(0x0014) se ejecuta durante todo el lapso de tiempo [0,1). Luego la secuencia muestra el estado de la cola del algoritmo de segunda chance. Esa secuencia no quiere decir que en el instante 0 ya se haya ejecutado M(0x0014). Lo que muestra es que a causa de la instrucción de memoria que se comienza a ejecutar en t=0, la cola de algoritmo de reemplazo quedará de esa forma.

Saludos,

Santiago.