[Examen Julio 2011] Ejercicio 2 parte iii

[Examen Julio 2011] Ejercicio 2 parte iii

de Pedro Liber Antonio Carrasco Aguilar -
Número de respuestas: 0

http://www.fing.edu.uy/inco/cursos/sistoper/examenes/2011/Sol2011JUL.pdf

solucion: 1 + 1 + 4096 + 1 + 4096 + 1 + 1808 = 10004

Se supone que se cuentan los accesos a memoria del sistema (arreglo del proceso + handler del kernel para el pageFault cuando va a buscar la pagina para cargar en el marco del proceso) y que el dir siempre esta en memoria (del proceso o del kernel pero, no hay swaping si el proceso esta cargado en memoria).

¿Porque supone que el handler "cachea el table_pointer que esta en el dir" y nunca mas tiene que ir a buscarlo al dir?

yo supuce 1+1+4096 + 1+1+4096 +1+1+1808 = 10006 lo que para mi seria coherente con la tabla de la parte iv , con un TLB con o sin ASID.

 

Al principio el proceso da un page fault, para buscar la pag0, le pasa el PTBR al handler del kernel.

var ptr_tabla = RAM[PTBR][2*2^d];//puntero de 2bytes a la "tabla_2^d" ESTE ACCESO SE CUENTA

TLB[n]=(hig(20,PTBR+2*2^d), f); //(key, frame) f=hig(20,PTBR+2*2^d)

vat ptr_pag = RAM[ptr_tabla][2*2^p] ESTE ACCESO SE CUENTA

 

TLB[n+1]=(hig(20,ptr_tabla+2*2^p), f1)

PC-- para que el proceso vuelva a hacer la llamada a memoria

...

--siguiente page fault-- para la pag1 (arreglo [4096])

//Encuentra todo en el TLB

//PTBR+2*2^d esta en el TLB pues esta su key hig(20,PTBR+2*2^d)

//f=hig(20,PTBR+2*2^d) ofset =low(12,PTBR+2*2^d)

var ptr_tabla = RAM[f+ofset];/ ESTE ACCESO SE CUENTA

//[ptr_tabla][2*2^p+2)] esta en el TLB pues esta su key hig(20,ptr_tabla+2*2^p)

//ofset =low(12, ptr_tabla+2*2^p+2)

vat ptr_pag = RAM[f1+ofset] ESTE ACCESO SE CUENTA

PC-- para que el proceso vuelva a hacer la llamada a memoria

......

lo mismo para la pag 2 pero cambia

//[ptr_tabla][2*2^p+4)] esta en el TLB pues esta su key hig(20,ptr_tabla+2*2^p)

//ofset =low(12, ptr_tabla+2*2^p+4)

vat ptr_pag = RAM[f1+ofset] ESTE ACCESO SE CUENTA

....

Se supone que el handler siempre accede a la misma tabla (2^d) en las entradas 2^p, 2^p+2 y 2^p+4 porque son tres paginas consecutivas.

¿En que me equivoque? (porque se supone que no tiene cache L1)

salu2