Ejercicio de Paginación

Anuncio
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
Descargar