Paginacion 2

Clasificado en Informática

Escrito el en español con un tamaño de 5,1 KB

PAGINACION 2

Manejo de Page Fault

  • el hardaware hace trap y salva al PC.
  • El handler de trap(rutina de interrupcion) salva losregistros.
  • El SO detecta un page fault.
  • El SO busca un marco de pagina libre. Si no hay entonces busca una victima y lo explulsa.
  • Comienza a realizar I/O por la pagina k produjo el page fault.
  • Cuando el handler de interrupcion del disco notifica su llegada el proceso k provoco el fallo de pagina es planificado nuevamente para su ejecucion.

Tabla de paginas

Cada cambio de ocntexto es necesario guardar la tabla de pagina en el PCB y cargarla del nuevo proceso. La tabla se puede guardar en:

REGISTROS:

  • accesos mas rapidos.
  • si muxa RAM--> la tabla tendra muxas entradas y no se puede ponerla en registros.
  • cada cambio de contexto hay k modificar el valor de todos los registros.

MEMORIA:

  • un registro apunta a la tabla de paginas.
  • acceso mas lento k registros: 2 accesos a memoria por cada acceso real.
  • no hay problemas de espacio.
  • para cada cambio de contexto solo es necesario cambiar un registro el que apunta a la tabla. Todas las tablas de todos los procesos se guardan al mismo tiempo en memoria y solo se cambia el registro puntero.

 



Otros datos en la tabla:

  • Presente?: si esta en la RAM o en swap.
  • User/kernel: si se puede acceder a modo usuario.
  • Ejecutable/data: si es ejecutable o no la info k contiene.
  • Espacio libre para el SO: contadores de referencia, acceso, etc.

Estos campos estan definidos por el hardware.

El cpu trabaja enconces con direccion logica no fisica.

El cache de memoria esta implementado a nivel logico con direccion logica.

La MMU posee un TLB para acelerar el proceso de traduccion de direcciones.

Translation Look Aside Buffer

Para disminuir el tiempo de acceso a memoria en sistemas k usan paginacion y guardan las tablas en memoria.

Memoria asociativa k guardan las N ultimas traducciones de direccion logica a fisica.

tipica% tiene de 2 a 2048 entradas.

Usar paginacion nos permite compartir memoria entre procesos.

Podemos apuntar al mismo marco fisico desde las tablas de paginacion de diferentes procesos.

Mejora la utilizacion de memoria y tb la velocidad con la k arrancan los progrmas.

PAGINACION V/S SEGMENTACION

  • En paginacion los compiladores no tienen k saber si el sistema esta usando paginacion o no, ya k siempre crean un continuo de direcciones logicas. En segmentacion, en cambio, los compiladores deben saber si tienen k generar direcciones utilizando segmentos diferentes.
  • Al igual k en la paginacion, en segmentacion tb se puede guardar la tabla de segmentos en registros o en memoria. Si es en memoria existe un registro especial k indica donde comienza la tabla de segmentos.
  • En segmentacion la division logica de la memoria permite definir segmentos de texto y compartirlos entre diferentes programas. En paginacion pura es mas complicado.
  • A diferencia de paginacion: en segmentacion cada segmento ocupa un espacio fisico contiguo en memoria, y los segmentos son de longitud variable.

 

Entradas relacionadas: