Está en la página 1de 34

Paginacin

Tcnicas Digitales III Ing. Gustavo Nudelman 2012

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin - Introduccin
La paginacin permite que la direcciones a las que hace referencia un cdigo de programa, sean reubicadas en direcciones fsicas especificas utilizando bloques de tamao fijo (Pginas fsicas).

Esta reubicacin se hace por medio de tablas No se trata de una nica tabla sino de una estructura Jerrquica de n tablas o niveles de paginacin Con la estructura de tablas armada se enciende el bit PG para activar la unidad de paginacin. Las Arquitecturas x86 permiten paginas de 4k, 2M y 4M.
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Estructura de la MMU
BIT PG 1 0

Sel:Offset

Unidad de Segmentacin

Dir Lienal

Dir. Fsica

Unidad de Paginacin

Por simplicidad, si activamos PG es conveniente que la unidad de segmentacin trabaje con el modo FLAT

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin 4k - Introduccin
Las pginas son contiguas y a diferencia de los segmentos no se solapan. Los sistemas operativos como Unix desde su concepcin, trabajan con este modelo de memoria Trabajar con tamaos fijos provee una ventaja para la administracin de memoria virtual En los primeros procesadores (hasta el Pentium Pro), el tamao de pgina es fijo: 4Kbytes.

A partir del Pentium Pro cada tarea puede optar por tener pginas de 4 Kbytes, 2 Mbytes, o 4 Mbytes.
El mximo tamao de un espacio lineal en IA32 es 4 GB, sin embargo con la unidad de paginacin podremos administrar mas memoria fsica Universidad Tecnolgica Nacional - Facultad
Regional Buenos Aires

Tabla de paginas
Se trata de una tabla de descriptores de pgina Se requieren 20 bits para la direccin base ya que las pginas no se solapan y no se necesita especificar el limite ya que son de tamao fijo Descriptores de 4 bytes. En cada entrada se almacena el nmero de frame fsico donde se almacena la pgina y algunos bits de control. En Intel se dedican los 20 primeros bits a almacenar el nmero de frame y los 12 restantes a guardar informacin de control. Con 20 bits podemos direccionar 1M descriptores siendo una tabla de 4MB Poco prctico

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin de memoria en 2 niveles

12

Atributos

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Entrada del directorio de pgina (PDE)

Page-Table base Addres: Apunta a la base de la tabla. Solo se necesitan 10 bits ya que solo puede haber 1024 tablas con base en espacios mltiplos de 4k. Avail: Disponible para el programador de sistemas G (Global): Controla el comportamiento del TLB cuando CR3 es recargado. Debe ser 0 para paginacin de 4k. PS (Page size): 0 para 4K y 1 para 4MB AVL: Reservado Siempre 0 A (Accessed): Se pone en 1 cada vez que se realiza una lectura o escritura PCD (Page Cache Disabled): si es 1 lo apuntado por el PDE correspondiente no ser cacheado. No usar para I/O mapeado en memoria. PWT (Page Write Through): Poltica de gestin de cache U/S (User/Supervisor): Si es 1 puede ser accedida por niveles 0,1,2 y 3. Si es 0 solo puede ser accedida por niveles 0, 1 y 2 R/W: 0=Read Only 1=Readable & Writable P (Presente): La pgina esta presente en memoria, de lo contrario provocar una excepcin 14 (La direccin lineal queda en CR2)
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Entrada de tabla de pgina

Page-Table base Address: Apunta a la base del frame de la pgina. Page Attribute Table index: Soportado a partir de pentium III. Debe permanecer en 0 D (Dirty): El procesador lo cambia a 1 si la pagina apuntada por el descriptor fue escrita. Y permanece en 1 hasta que sea puesto a 0 por el software. Se lo utiliza para indicar que ha sido modificado y difiere de las paginas en el espacio de swap.

El resto de los atributos son anlogos al descriptor de tabla pero a nivel de pgina.

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Proteccin a nivel de pginas


Se combina con la proteccin a nivel de segmento aportando granularidad al sistema de proteccin dentro de un mismo segmento Siempre se evala primero la proteccin a nivel de segmento Los CPLs 0,1,2 del segmento se mapean en el nivel supervisor de las pginas mientras que el nivel 3 se corresponde con el nivel usuario. En modo supervisor se accede a todas las pginas mientras que en nivel usuario solamente a las que poseen en su descriptor el bit U/S=1

La proteccin a nivel de pgina no pisa la proteccin a nivel de segmento. Los permisos de escritura en las pginas no funcionaran si no existe el permiso a nivel de segmento.
La excepcin por excelencia del sistema de proteccin de pginas es la 0Eh Universidad Tecnolgica Nacional - Facultad
Regional Buenos Aires

Combinacin de proteccin a nivel de directorio y pgina

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Registros de control asociados

Apunta a la base del directorio de Pginas

Activa la Paginacin
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Segmentacin y Paginacin

CR3
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin Resumen
Nos permite dividir la memoria en bloques de tamao fijo llamados pginas cada una con atributos propios Permite virtualizar el espacio lineal permitiendo que diferentes aplicaciones trabajen en zonas diferentes aunque las mismas se refieran al mismo espacio lineal. Si el sistema de paginacin hace coincidir la direccin lineal con la direccin fsica, decimos que se trata de Identity mapping Las tablas de correspondencia de la pginas mas frecuentemente utilizadas se almacenan en una memoria cache del propio procesador llamada TLB (Translation Lookaside Buffers)

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin en 4MB - PSE


El bit 4 del registro CR4 (page size extensions) habilita la posibilidad de combinar pginas de 4K y 4MB.

Directorio de tabla de pginas

Pages directory entries (PDE) 1 = 4MB

0 = 4KB
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin de memoria con PSE-36


Desde Pentium Pro se advirti que 4GB de memoria fsica serian insuficientes. Se implementa PSE-36 con el Pentium III, donde utilizando PSE permite extender las lneas fsicas de direccionamiento a 36 bits en procesadores de 32 bits Se puede verificar la existencia de PSE con la instruccin CPUID En procesadores de 64 bits, y utilizando legacy mode, las lneas fsicas se extienden a 40 bits en. Tanto en IA32 como en legacy mode mediante a un esquema de paginacin se puede direccionar mas memoria fsica manteniendo un esquema de direcciones lineales de 32 bits. Se pueden utilizar y combinar en un mismo sistema pginas de 4K y de 4M. Esto se dictamina por entrada de directorio segn sea el valor del bit 7 (PDE.PS)
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Descriptores de directorio de pgina con PSE-36


PDE en procesadores de 32 bit utilizando la extensin a 36 bits

PDE en Legacy mode para procesadores de 64 bits

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Physical Adress extension (PAE)


Este modo de extender el direccionamiento fsico a partir de un direccionamiento lineal de 32 bits aparece con el Pentium pro. (Verificar extensin PAE con CPUID) Se debe habilitar el bit 5 del registro CR4 (una vez habilitada la paginacin) Permite la extensin del direccionamiento fsico a 36 bits en IA32, y a 52 bits en modo largo 64. Utiliza descriptores de 64 bits

Utiliza una estructura donde a diferencia de los casos anteriores, el directorio de tablas no esta apuntado por CR3 sino por otra tabla llamada page directory pointer table PDE y PTE son de 9 bits
Trabaja con pginas de 4K o 2MB
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Registros de control asociados

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin en 4K con PAE (direccin lineal de 32 bits)

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin en 4K con PAE Descriptores


PDPTE

PDE

PTE

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin en 2MB con PAE (direccin lineal de 32 bits)

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin en 2MB con PAE Descriptores

PDPTE

PDE

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin de memoria en 4K con PAE

24 bits

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin de memoria en 2M con PAE

24 bits
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Paginacin con PAE - Resumen


Permite extender el direccionamiento de memoria fsica manteniendo espacios lineales de 32 bits. Esto es gracias a que los descriptores de las tablas son de 64 bits. Tambin tenemos un nuevo nivel o tabla llamado PDPT Sin embargo bajo cualquier contexto dado de PAE, y donde CR3 apunta a una estructura jerrquica de n tablas podemos observar que no podemos manejar mas de 4GB. Tengamos en cuenta que podemos cambiar CR3, generando un nuevo contexto de paginacin con nuevas tablas que apunten a nuevas pginas. (Ahora cualquier direccin fsica de base de pgina es de 27 bits)

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Ejercicio terico

Subtitulo o nombre del capitulo


Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires Universidad Tecnolgica Nacional

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Analicemos la direccin Lineal

ds:esi = 23h:9F0A02EBh

5 descriptor de la GDT con RPL 11

1001111100 27Ch

0010100000 0A0h

001011101011 2EBhh

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Segn el enunciado, CR3=0000F000h

0000F 000
4096 Bytes El DTP est ubicado en la pagina 15 del espacio fsico

La Base_DTP=F000h

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Recordando el directorio de pgina obtenido

El inicio de la tabla de pginas se encuentra dentro del descriptor que esta en Base_DTP+ (n*4) F000 + (27C*4)=0xF9F0
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Recordemos que PTBAn debe apuntar a la base de la tabla de pginas, y como sabemos que esta esta en 10000h (4K luego del Directorio) PTBAn debe ser 10h ya que 10h*PageSize =10000h
Universidad Tecnolgica Nacional - Facultad Regional Buenos Aires

Recordando la tabla obtenida.

El descriptor de pgina se encuentra en Base_TP+ (n*4) 10000h + (0xA0*4)=0x10280

También podría gustarte