Primer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Paginacion
1. PAGINACION
PRESENTADO POR
NATHALY CASALLAS MORANTES
4AM
2. Dividen los programas en pequeñas partes o páginas. Del mismo
modo, la memoria es dividida en trozos del mismo tamaño que las
páginas llamados marcos de página
3. En un momento cualquiera, la memoria se encuentra ocupada con
páginas de diferentes procesos, mientras que algunos marcos están
disponibles para su uso. El sistema operativo mantiene una lista de
estos últimos marcos, y una tabla por cada proceso, donde consta en
qué marco se encuentra cada página del proceso
4. En la tabla de paginas de un proceso, se encuentra la ubicación del
marco que contiene a cada una de sus páginas. Las direcciones lógicas
ahora se forman como un número de página y de un desplazamiento
dentro de esa página (conocido comúnmente como offset). El número
de página es usado como un índice dentro de la tabla de páginas, y
una vez obtenida la dirección del marco de memoria, se utiliza el
desplazamiento para componer la dirección real o dirección física.
5. TABLA DE PAGINAS
Son una parte integral del sistema de memoria virtual en sistemas
operativos, cuando se utiliza paginación. Son usadas para realizar las
traducciones de direcciones de memoria virtual (o lógica) a memoria
real (o física) y en general el sistema operativo mantiene una por cada
proceso corriendo en el sistema.
7. En cada entrada de la tabla de paginación ,existe un bit de
presencia, que está activado cuando la página se encuentra en memoria
principal. Otro bit que puede encontrarse es el de modificado, que
advierte que la página ha sido modificada desde que fue traída del disco, y
por lo tanto deberá guardarse si es elegida para abandonar la memoria
principal; y el bit de accedido, usado en el algoritmo de reemplazo de
páginas llamado Menos Usado Recientemente. También podrían haber otros
bits indicando los permisos que tiene el proceso sobre la página
(leer, escribir, ejecutar).
8. ALGORITMO DE
REEMPLAZO DE PAGINAS
Son usados para decidir qué páginas pueden ser sacadas de
memoria cuando se necesita cargar una nueva y ya no hay espacios
9. ALGORITMO DE
REEMPLAZO DE PAGINAS
Optimo
Primero en entrar, primero en salir (FIFO)
Segunda Oportunidad
Reloj
No usada recientemente
Menos usada recientemente
10. OPTIMO
tiene como finalidad retirar la página que vaya a ser referenciada
más tarde, por ejemplo si hay una página A que será usada dentro de
10000 instrucciones , y una página B que será usada dentro de 2800
instrucciones, se debería eliminar de la memoria la página
11. COMO SE PUEDE DEDUCIR?
Para esto el sistema operativo debería ver en cuánto tiempo será
usada cada página en memoria y elegir la que está más distante. El
problema de este método es que necesita conocimiento del futuro,
por lo que es imposible su implementación. Es un algoritmo teórico.
Se utiliza a los efectos comparativos con los algoritmos factibles de
ser implementados para ver cuál se aproxima más a éste.
12. PRIMERO EN
ENTRAR, PRIMERO EN
SALIR (FIFO)
En este método el sistema operativo sólo tiene que guardar en qué
orden las páginas fueron cargadas, de modo que al necesitar hacer
espacio pueda fácilmente elegir la primera página cargada. Se usa una
cola , al cargar una página nueva se ingresa en el último lugar.
13. SEGUNDA OPORTUNIDAD
Es una pequeña modificación al algoritmo FIFO, que funciona bastante mejor
que el FIFO. En este caso cuando una página debe ser sacada se toma la primera en
la cola, y en vez de sacarla, consulta el valor de un bit de referencia. En caso de estar
fijado (en 1) se cambia el bit a 0 y se lo coloca al final de la obstrucción, autorizando
su tiempo de carga como si recién hubiera llegado al procesador. De esta forma, se
le da una segunda oportunidad. Si el bit se encuentra sin fijar(en 0), la página se saca
de memoria. Cada vez que la MMU accede a una página, fija su bit de referencia a 1.
Para esto es necesario soporte para bit de referencia por hardware
14. RELOJ
Lo que hace es tener una lista circular, de forma que al llegar al
último elemento de la lista, pasa automáticamente al primero. Los
elementos no se mueven al final de la cola cuando son
accedidos, simplemente se pone su bit de referencia a 1. Esto nos
evita tener que hacer movimientos de punteros en el caso de
implementarlo con una lista enlazada. De hecho, se puede
implementar con un array perfectamente, ahorrando así memoria.
15. NO USADA
RECIENTEMENTE
Cuando una página es referenciada, fija el bit de referencia para esa página.
Similarmente, cuando una página es modificada, fija su bit de modificación.
Usualmente estas operaciones son realizadas por el hardware, aunque puede hacerse
también por software. En un tiempo fijo, el sistema operativo pone en 0 los bits de
referencia de todas las páginas, de modo que las páginas con su bit de referencia en
1 son las que fueron referenciadas dentro del último intervalo de reloj. Cuando una
página debe ser reemplazada, el sistema operativo divide las páginas en cuatro
categorías:
16. MENOS USADA
RECIENTEMENTE
Este algoritmo difiere del de 'No usada recientemente' en el hecho de
que aquel sólo se fija en el intervalo de tiempo desde que se pusieron en 0
los bits de referencia de las páginas, mientras que el algoritmo de 'Menos
usada recientemente' intenta proveer un comportamiento casi óptimo
mediante la observación de las páginas que menos fueron usadas
recientemente. Este tipo de páginas, estadísticamente son las que tienen
menor probabilidad de ser usadas nuevamente.
17. Dado que las tablas de paginación pueden ocupar un espacio
considerable de la memoria principal, estas también podrían estar
sujetas a paginación, lo que da lugar a una organización paginada de
múltiples niveles (o tabla de páginas multinivel). En los sistemas con
un tamaño de direcciones muy grande ( 64 bits ), podría usarse una
tabla de paginas invertida, la cual utiliza menos espacio, aunque puede
aumentar el tiempo de búsqueda de la página.
18. Las tablas son mantenidas por el sistema operativo y utilizadas por
la Unidad De Gestión De Memoria para realizar las traducciones. Para
evitar un acceso a las tablas de paginación, hay un dispositivo llamado
Buffer de Traducción Adelantada (TLB, Translation Lookaside
Buffer), acelerando el proceso de traducción.