[Examen Julio 2014 - Ej 2] Memoria Virtual - Paginación

[Examen Julio 2014 - Ej 2] Memoria Virtual - Paginación

de Gustavo Chalela Nuñez -
Número de respuestas: 2

hola gente: tengo una duda sobre memoria virtual y paginación: viendo ejercicios de exámenes (en particular el ej 2 de julio de 2014) me queda claro que si se da un page faul, lo que hay que hacer es buscar un marco libre, descargar ese marco a disco, buscar el contenido de ese marco en disco y ponerlo en el marco víctima, luego actualizar los bits de validez y las tablas y reiniciar la instrucción. Ahora me queda la duda: supongamos que tengo un proceso como el de ese examen, con 1 tabla de primer nivel y 2 de segundo nivel, todas con 4 entradas c/u, el proceso tiene 4 páginas. Si el proceso pretende acceder al contenido de la dirección (1,0,2) [donde 2 sería el desplazamiento; 0, el índice en la tabla de 2o nivel y 1 en la tabla de 1er nivel]. Supongamos que desde la última vez que accedió a ese contenido, ahora ya está inválida la página. Entonces se produce un page faul. Pero con el procedimiento que nos dan en el curso, ¿cómo se asegura de acceder al contenido que buscaba? porque el contenido que va a tener esa página va a ser el mismo de la página que se descarga a disco y eso no depende del código sino del algoritmo de reemplazo... Adjunto la solución de ese examen para que se entienda mejor que es lo que quiero decir. Desde ya agradezco la ayuda!



En respuesta a Gustavo Chalela Nuñez

Re: [Examen Julio 2014 - Ej 2] Memoria Virtual - Paginación

de Gustavo Chalela Nuñez -

Algún profe puede responder? Todos los lugares que leo explican como se realiza el cambio (creo que lo tengo claro) pero no responden a ¿cómo, si voy a buscar una dirección, termino trayendo otra?

Gracias

En respuesta a Gustavo Chalela Nuñez

Re: [Examen Julio 2014 - Ej 2] Memoria Virtual - Paginación

de Jorge Merlino -

No miré el ejercicio pero si la página donde se produce el page fault no está, en la misma tabla de páginas debería quedar registrado donde ir a buscar el contenido de esa página (ya sea en el swap o en un archivo del disco)