Algoritmo Óptimo

Este algoritmo 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 A. 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.

El siguiente vídeo muestra un ejemplo de cómo funciona el Algoritmo Óptimo, calculando el número de fallos de pagina, dada la secuencia 1 2 3 3 5 1 2 2 6 2 2 6 2 1 5 7 6 3, utilizando 4 marcos.

Has click aquí:  Algoritmo OPTIMO

Algoritmo FIFO

En este método, el sistema operativo sólo tiene que guardar en orden las páginas que 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. Aunque las colas FIFO son simples e intuitivas, no se comportan de manera aceptable en la aplicación práctica, por lo que es raro su uso en su forma simple.

El siguiente enlace es una animación que soluciona el siguiente ejercicio:

– Calcular mediante Algoritmo FIFO, el número de fallos de página, dada la siguiente secuencia: 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0. Utilizando 3 marcos.

Has click aquí:   Animación Algoritmo FIFO

El número de fallos de página son 12, que corresponden a los números que quedan por fuera de los marcos, incluyendo los 3 marcos iniciales (que aún tienen espacio).