BLOG 18: (Paginación)

  • El espacio de direcciones lógicas de un proceso no necesariamente es contiguo; los procesos se ubican en memoria física donde luego quedan disponibles.
  • Se divide la memoria física en bloques de tamñano fijo llamados marcos (los tamaños con potencias de 2 entre 512 bytes y 8192 bytes).
  • Se divide la memoria lógica en bloques del mismo tamaño llamados páginas
  • Se mantiene el rastro de todos los marcos.
  • Para correr un programa de tamaño n paginas, se requiere encontrar n marcos libres y cargar el programa.
  • Se debe poner a punto una tabla para traducir las direcciones fisicas a las logicas.
  • Se puede presentar fragmentacion interna.

El tamaño de las paginas no pueden ser muy grandes porque se pierde mucho espacio. La perdida seria del numero de paginas menos uno.

Tabla de páginas: tabla de equivalencias para pasar de memoria virtual a física. dice cuales paginas esta en memoria virtual y cuales en real. ésta tabla existe por cada proceso. y esta se aloja en la memoria real, es ubicada gracias al puntero a tabla de paginas que tiene un registro en el procesador

El  espacio virtual se divide en paginas, algunas paginas estan en memoria principal:

– El so se encarga de que esten en memoria principal las paginas necesarias.

-Para ello trata los fallos de página traducidos por la MMU.

ESQUEMA DE TRADUCCION DE DIRECCIONES

* Las direciones generadas por la cpu se dividen en:

– Numero de pagina (p) – utilizado en la tabla de paginas que continen las direcciones base de cada pagina en la memoria fisica,
– El desplazamiento de pagina (d) – combinado con la direccion base definen la direccion de memoria fisica que  es enviada a la unidad de memoria.

*Traduccion: Proceso referencia (p,d), se busca en la tabla de correspondencia de paginas para ver la p’(p real), La direccion real es p’+d. por agilidad tabla de correspondencia en caché.

*Si no hay residencia de la pagina en memoria princiapal, sucede una falta de pagina. r = 0 si pagina no esta en real, 1 si esta.

EL PROCESADOR TRABAJA CON DIRECCION LOGICAS Y EL MMU CONVIERTE A FISICAS

Ejemplo de paginación:

Buffer de traduccion anticipada (TLB)

  • La tabla de paginas se mantiene en memoria principal.
  • El registro base de la tabla de paginas (PTBR) señala la tabla de paginas.
  • El registro de longitud de tabla de paginas (PRLR) indica el tamaño de la tabla de paginas
  • Toda memoria virtual puede causar dos accesos a memoria fisica

            –  Uno para buscar en la tabla de pagina apropiada
–  Uno para buscar los datos solicitados

  • Para solventar este problema, la mayoria de esqueñas de memoria virtual utillizan una cache especial de de alta velocidad para las entradas de la tabla de pagina.

            – Se le denomina buffer de traduccion anticipada [traslation lookaside buffer(TLB)], tambien llamado registros asociativos.

  • Contiene aquellas entradasd de la tabla de paaginas que han sido usadas de forma más reciente.
  • Dada una direccion virutal, el procesador primero examina la TLB
  • Si la entrada de la tabla de paginas solicitada esta presnete (acierto en TLB), entonces se recupera el numero de marco y se construye la direccion real.
  • Si la enrtrada de la tabla de paginas solicitada no se encuentra (fallo en la TLB), el procesador utiliza el numero de pagina para indexar la tabla de paginas del proceso.
  • Primero comprueba si la pagina solicitada esta todavia en la memoria principal
  •     Si no se encuentra en la memoria principal, se produce un fallo en la memoria, llamado fallo de pagina.
  • La TLB se actualiza para incluir esta nueva entrada de la tabla de paginas.

Operación de paginación y TLB
Registros asociativos/ tiempo de acceso efectivo sin intercambio. (cache)

epsilon: tiempo de busqueda asociativa

t = tiempo de ciclo de memoria, tiempo de acceso a un dato en memoria.

alfa= tasa de aciertos – porcentaje de veces que un numero de pagina se encuentra en los registros asociativos.
EAT = Tiempo de acceso efectivo
EAT= (t + epsilon)alfa + (2t + epsilon )(1-alfa)

Traduccion de direcciones (A’,A’’)

-si A’ es un registro asociativo, saque el marco #

-De otra forma obtenga el marco # de la tabla de paginas de memoria.

VENTAJA DE TABLAS MULTINIVEL

Si un proceso usa una parte pequeña de su espacio lógico: Ahorro en espacio para almacenar TPs.

b=bits
B=Bytes

Sea un procesador con una dir lógico de 32b de 2 niveles (10b/nivel). TP de 4KB, entrada a TP es 4B.

Si el proceso usa 12MB superiores y 4MB inferiores:
Tenemos,
Cada pagina N(sub2) direcciona 4MB
Tamaño tablas de página:
1 TP N(sub1) + 4 TP N(sub2) = 5*4KB = 20KB (frente a 4MB si utilizara todas las paginas).

 

 

EJEMPLO DE PAGINACION DE DOS NIVELES:

Una direccion lógica (en una máquina de 32 bit con tamaño de página de 4K) esta divida en:
– Un numero de pagina de 20bits
-Un desplazamiento de pagina de 12 bits.

Dado que la tabla de pasginas es paginada, el # de pagian adicionalmente se divide en:
-Un numero de pagina de 10 bits.
-Un desplazamiento de pagian de 10 bit.
Asi, la direccion logica es como sigue:

# de pagina # de pagina desplazamiento
P1 p2 p3
10 10 1

Donde p1, es un indice en la tabla de paginas externa, y p2 es el desplazamiento dentro de la pagina de la tabla de paginas externa. EAT=(t+Epsilon)Alfa + (3t + Epsiolon)(1-Alfa)

 

RENDIMIENTO EN PAGINACION POR DEMANDA CON INTERCAMBIO

  • tasa de fallo de pagina 0 <=p <=1.0
    • si p=0 no hay fallo de pagina.
    • si p = 1 cada referencia es un fallo de pagina.

Tiempo de aceso efectivo con intercambio = EATS = (1-p) * acceso a memoria
+p*(Sobrecarga de fallo de pagina
+[descarga]
+carga
+reinicio)

Si asumimos un valor global para el tiempo requerido en fallo de pagina(f) tendremos:

EATS=(1-p)*t+p*f
Donde,

t: el tiempo de acceso a memoria,
p: la probabilidad de fallo de pagina y
f: el tiempo de fallo de pagina.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s