Ejercicio de Paginación Fuente: Examen Final 18 de Julio de 2006 http://www.electron.frba.utn.edu.ar/materias/95-0435/finales/ Autor: Hernán Zbucki - 2008 1 Paginación - Ejercicio 2 Paginación - Ejercicio Sin la unidad de paginación presente (DIRECCIÓN LINEAL = DIRECCIÓN FÍSICA) Dirección Lógica ( CS:IP ) Dirección LINEAL=FISICA 00000000 a (FFFFFFFF) Unidad de Segmentación 4GB 0 Memoria Fisica 3 Paginación - Ejercicio Con la unidad de paginación presente (DIRECCIÓN LINEAL ! = DIRECCIÓN FÍSICA) Dirección Lógica ( CS:IP ) Dirección LINEAL 00000000 a (FFFFFFFF) Dirección FISICA 00000000 a (FFFFFFFF) 4GB 0 Unidad de Segmentación Memoria Fisica 4 Paginación - Ejercicio 5 Paginación - Ejercicio El enunciado nos dice: 1) ds:esi = 23 h : 9F0A02EB h ¿Qué significa esta cifra? 6 Paginación - Ejercicio El enunciado nos dice: 1) ds:esi = 23 h : 9F0A02EB h Es el QUINTO descriptor de la tabla GDT (según enunciado) (00h -> Descrp. Nulo, 08h -> 1er Descrp.). Debería ser 20h el 5to, pero es 23h porque el RPL es 3 (20h + 3 = 23h) 7 Paginación - Ejercicio Por último: 1) ds:esi = 23 h : 9F0A02EB h Dirección lógica cuyo significado varía con respecto a lo que veníamos viendo. (NO ES EL OFFSET!!!!!) 8 Paginación - Ejercicio 9F0A02EB h 1001 1111 0000 1010 0000 0010 1110 1011 9 Paginación - Ejercicio 9F0A02EB h 001001 1111 0000 1010 0000 0010 1110 1011 B it 3 1 B it 2 1 27C h Directory Page Table ENTRY B it 11 B it 0 0A0 h 2EB h Page Table ENTRY Offset 10 Paginación - Ejercicio Si CR3... 0000F000h 12 ¿Que página? 0000F (la 15º) 2 = 4096 bytes = 1 página BASE_DTP = F000h 11 Paginación - Ejercicio = F000h = 27Ch Esta entrada esta en la posición de memoria 0000F27Ch 12 Paginación - Ejercicio Por lo tanto 0000F000h Directorio de tabla de paginas 00010000h Tabla de paginas 4096 bytes El enunciado decía también: BASE_TP = 10000h 13 Paginación - Ejercicio Volvemos para atras y llenamos PTBAn (PTBAn se define entre los bits 12 a 31 de una entrada al directorio de tabla de página) 14 Paginación - Ejercicio Esta entrada esta en la posición de memoria 000100A0h 15 Paginación - Ejercicio El enunciado decía por último 100012EBh Coincide con el offset de la dirección lógica 4096 bytes Por lo tanto 10001h = PBAn 16 Paginación - Ejercicio Volvemos para atras y llenamos PBAm (PBAm se define entre los bits 12 a 31 de una entrada a la tabla de página) 17