Paginacion 2
Clasificado en Informática
Escrito el en español con un tamaño de 5,1 KB
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:
- 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.
- 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.