paginación y segmentación giselle m. agosto carlos r. pérez

22
Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Upload: inez-lucido

Post on 11-Apr-2015

118 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Paginación y SegmentaciónGiselle M. Agosto

Carlos R. Pérez

Page 2: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Manejo de Memoria

Programas necesitan más memoria de lo que se puede proveer.

Solución: Memoria Virtual!!!Programa cree que tiene más memoria de

la que en realidad hay.

Page 3: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Memoria Virtual

¿Cómo la implementamos? Utilizamos tablas de

paginación. Se divide “address space”

en páginas. Las páginas se asocian a

un pedazo de memoria.

Page 4: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Direcciones en Memoria Virtual

¿Cómo funciona una tabla de paginación? Dirección Virtual

Nos da # de página y offset

Dirección Física Nos da dirección

en memoria

Cada Proceso tiene una diferente

Page 5: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Page faults

Cuando se necesita un página que no está en la memoria, ocurre un “page fault”.

¿Que sucede entonces?

Reemplazo de página

Page 6: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Paginación

¿Donde están las páginas?

En la memoria cuando tienen que ser accesadas.

En el disco cuando no se necesitan.

Page 7: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Reemplazo de páginas

Hay que escoger una página para mover al disco. Se le conoce como “evict”.

¿Que implica esto? Si la página ha sido modificada hay que

grabarla al disco Si no ha sido modificada se le escribe por

encima.

Page 8: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Algoritmos de reemplazo de páginas

¿Como escogemos la página a remover? Con un algoritmo de reemplazo de páginas.

Características de un buen algoritmo Rapidez Rapidez Rapidez

Page 9: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Algoritmo óptimo

¿Como lo logramos?

Adivinando el futuro (cuanto tiempo falta para que esa página tenga que ser accesada).

Es imposible de lograr!!

Page 10: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Not Recently Used (NRU) Algorithm

Referenced/Modified Bits Referenced bit dura un

tiempo especifico Prioridad según estado.

Ventajas: Fácil de entender e implementar

Desventajas: No es el más rápido.

Prioridad R M

Clase 0 0 0

Clase 1 0 1

Clase 2 1 0

Clase 3 1 1

Page 11: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Algoritmo de segunda oportunidad

Es un FIFO usando el R bit. Si R=0 evict Si R=1 la mueve al final,

pone R=0 y comienza otra vez

Algoritmo de Reloj Este algoritmo debe

implementar con una lista circular para mejorar su eficiencia.

Page 12: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Algoritmo FIFO

Mantiene una fila de las páginas.Elimina la página más vieja.

Raramente usado La página mas vieja puede ser la mas

importante.

Page 13: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Least Recently Used (LRU)

Escoge la página menos utilizada. La dificultad consta en

encontrar esta página. Método 1:

Contar el número de referencias

Método 2: Mantener una matrix nxn

Necesitan difícil implementacion en hardware

Page 14: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Implementación del LRU en software

Algoritmo de “aging” Mantiene la cuenta de los R bits por intervalos.

Page 15: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Segmentación

Provee la ventaja de que un proceso tenga uno o más “address spaces”.

Ejemplo: Compilador – Requiere muchas estructuras de

datos diferentes!!!! Variables y atributos Enteros y punto flotante “Parse tree” “Stack”

Page 16: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Porqué Segmentación?

En procesos con un solo “address space” tenemos que lidiar con cambios dinámicos en la data.

Segmentación nos deja tener más de un “address space” por cada estructura de dato en un programa.

Page 17: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Memoria Segmentada

Muchos “address spaces” para un programa.

Page 18: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Ventajas de Segmentación

Simplifica el proceso de “linking”. Facilita cambios a una subrutina o

estructura de datos. Es más fácil compartir recursos entre

procesos. Elimina la repetición de la misma librería en

“address spaces” de diferentes procesos.

Diferentes niveles de protección a cada segmento.

Page 19: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Segmentación y Paginación

Segmentos muy grandes requieren paginación.

Utilizamos memoria virtual para cada segmento.

Cada segmento tiene su propia tabla de páginas.

Page 20: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Direcciones en Segmentación

Se añade número de segmento a memoria virtual.

Page 21: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

Protección

Privilegios Nivel 0 – Mayor Nivel 3 – Menor

Subrutinas de diferentes segmentos llamadas en un proceso requieren que se revise el nivel.

Page 22: Paginación y Segmentación Giselle M. Agosto Carlos R. Pérez

?’s