You are on page 1of 10

ALGORITMOS DE SUSTITUCIÓN

SISTEMAS OPERATIVOS – GESTIÓN DE MEMORIA I

Mg(c). Angel Ubilla V.


Universidad Católica del Maule
22 de octubre del 2018
INTRODUCCIÓN

 Muchas veces estamos limitados por el hardware al momento de querer efectuar alguna tarea en
nuestras computadoras.
 Con la memoria principal ocurre lo mismo.

 En un sistema paginado, por ejemplo:


 El Sistema Operativo podría detectar que no quedan marcos libres en la memoria.
 En ese caso es necesario recurrir a alguna forma de controlar esto, para dar opción a los nuevos
procesos de ejecutarse.
 En estos casos, se acude a los algoritmos de sustitución de páginas.
ALGORITMO DE SUSTITUCIÓN BÁSICO
 El “fallo” de página es una excepción que se genera cuando se requiere una dirección que no se encuentra en
memoria principal.

 Hallar la ubicación de la página deseada en el disco.


 Localizar un marco libre.
 Si hay, se utiliza.
 Si no hay, se usa un algoritmo de sustitución de páginas y se elige un marco víctima.

 Leer la página deseada y cargar en el marco recién liberado.


 Cambiar tablas de páginas y marcos.
 Reiniciar el proceso.
ALGORITMO DE SUSTITUCIÓN ÓPTIMA

 En este algoritmo se busca reemplazar la página que no va a ser usada por un periodo de tiempo más
largo.
 Se evalúa la cantidad de instrucciones que se debe esperar para utilizar dicha página.
 Si esa cantidad es mayor a otras, se quita de la memoria.

 En teoría, es una idea muy sencilla, pero en la práctica NO.


 Es necesario manejar mucha información concreta y cuantificable de las futuras necesidades del
sistema.
ALGORITMO DE SUSTITUCIÓN FIFO (FIRST IN, FIRST OUT)

 Se guardan las páginas en el orden en que fueron cargadas.


 Las páginas nuevas se van ubicando al final de la cola.
 En caso de necesitar efectuar alguna sustitución en memoria, se desalojan las páginas más antiguas.
 Es una idea simple, pero no funciona bien en todos los casos.
 Podría desalojarse una página que es muy utilizada, solo por ser la más antigua.

 En este caso, es posible encontrarse con la anomalía de Belady.


ANOMALÍA DE BELADY

 En base a la intuición, podríamos creer que contar con mayor cantidad de marcos de página nos
facilitaría un mejor rendimiento…
 Pero según la anomalía de Belady: mientras más marcos, más fallos de página.
 Belady, en sus estudios encontró casos en que contar con 3 marcos, se generaban menos fallos de
página que con 4.
L.R.U. (LEAST RECENTRLY USED / MENOS USADA RECIENTEMENTE)

 Como bien lo dice el nombre, se realiza la sustitución en base a la página que menos se ha usado
últimamente.
 Estadísticamente, tienen menos probabilidad de ser usadas otra vez.
 Esto quiere decir que asumimos que las páginas usadas recientemente, tienen posibilidades altas de
volver a ser usadas.
ALGORITMO DE SUSTITUCIÓN DE SEGUNDA OPORTUNIDAD

 También conocido como FIFO mejorado.


 Se realiza una pequeña mejora al algoritmo FIFO, agregando un bit de referencia.
 Al momento de seleccionar una página, se revisa el valor del bit de referencia.
 Si es 0, se sustituye la página.
 Si es 1, se le da una segunda oportunidad.
 Se pone el bit de referencia a 0 y se pone al final de la cola.
 Se reconfigura su llegada, como si hubiese accedido recién.
TAREA

Simulador de paginación en C – (primera aproximación)

 El usuario indicará el “tamaño” de un proceso (en cantidad de “palabras”).


 El usuario debe poder ingresar la cantidad de palabras que define el tamaño de un marco de páginas (cuantas celdas tiene un marco).
 El usuario debe poder ingresar la cantidad de palabras soportadas por la memoria principal.
 El usuario debe poder elegir si desea ingresar procesos:
 Al iniciar la ejecución, se debe ingresar tantos como se desee.
 Posteriormente, durante la ejecución se debe consultar si se desea ingresar un proceso nuevo al finalizar cada iteración.

 Cuando un proceso es creado (al inicio de la ejecución o durante) intentará ocupar la memoria ram inmediatamente.
 Cuando un proceso es demasiado grande como para ser cargado en memoria ram, se pone en “espera” (disco duro).
 El programa permitirá al usuario ir eliminando procesos.
 El contenido de cada pagina será generado de forma ordenada, es decir, el primer proceso tendrá en su primera página el contenido: A11, A12,
A13; en caso de ser páginas de tamaño 3.
 La segunda página de dicho proceso tendrá el contenido: A21, A22, A23. Con lo que indicamos que el proceso A en su página 2 tiene 3 datos de
contenido, correspondientes al dígito de la derecha.
 El programa debe permitir también calcular la posición física efectuando las operaciones matemáticas vistas en clases.
FIN

You might also like