(10-11-2014 19:38)ChaosBakurai escribió: Buenas, busqué por todos lados un ejercicio como este para ver cómo se resuelve, pero no encontré. Si me pueden decir cómo resolverlo o en qué capítulo del libro de Quiroga o Angulo encontrarlo, se los agradecería. Dice:
Dado un proceso que se ejecuta en un sistema con memoria virtual con segmentos paginados de 4kb:
a) Determinar la dirección lineal si el descriptor de página es accedido mediante el segmento 0F0 y la dirección física es B53F0197.
b) Indicar en binario el descriptor de página dando el valor de por lo menos dos atributos y colocando el resto con X.
1)
lo primero que tenes que ver es el paginado, podría ser de 4 kb o de 4 Mb.
Si es de 4kb son 12 bits para el desplazamiento. últimas 3 posiciones de la dirección física. En el ejercicio 197
Si es de 4 Mb son 22 bits para el desplazamiento. últimas 6 posiciones de la dirección física. En el ejercicio 3F0197
la Base se calcula despejando la siguiente Formula : Dirección Lineal = Numero Base + Desplazamiento.
Si fuera 4 Kb sería B53F0000.
Si fuera 4 Mb sería B5000000.
Ahora viene el dato del segmento accedido 0F0 y se unen al desplazamiento.
Si fuera 4kb = 000F0197
2)
para el 2 hay que recordar la tabla de descriptor de pagina
4 bits definibles por el desarrollador || sz(size) 1 BIT || D 1 BIT ||A 1 BIT || PDC 1 BIT ||PWT1 BIT || U/S 1 BIT || W/R 1 BIT || P 1 BIT
bits definibles = no lo aclara el ejercicio(todos 0)
SZ = 0 SI ES 4Kb 1 si es 4 Mb (en el ejemplo es 0)
D = 1 si se escribio en la pagina, 0 si no lo hizo (en el ejemplo no lo dice).
A = 1 si Fue accedido, 0 si no lo fue (en el ejemplo dice que si por lo tanto es 1)
PDC = 1 si fue escrito en la cache (en el ejemplo no lo dice 0)
PWT = 1 si es escritura forzada, 0 si no lo fue (en el ejemplo no lo dice 0)
U/S = nivel de privilegio no lo aclara en el ejercicio por lo tanto es 0
W/R = escritura no lo aclara en el ejercicio por lo tanto es 0
P = Presencia 1 si fue accedido (en el ejercicio 1).
el descriptor binario sería 00000100001 en hexa sería 012h
Salu2.