Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Operativos
Trabajo
Estrategias de Administracin de Memoria Virtual M. en C. Carlos Ignacio Rivas Palacio Acosta Zarco Mauro Dasaev Cruz Meja lvaro Lpez Morales Jos Luis Torres Garca Cesar Vzquez Rivera Ana Lucia
Profesor Alumnos
ndice
Memoria Virtual .................................................................................................................................. 2 Administracin de Memoria ................................................................................................................ 2 Estrategias de Remplazo de pagina .................................................................................................... 3 Remplazo FIFO................................................................................................................................. 4 Remplazo Optimo............................................................................................................................ 5 Remplazo Menos Recientemente Usado o LRU (Least Recently Used) .......................................... 5 Aproximaciones a LRU..................................................................................................................... 7 Algoritmos de bits Adicionales de Referencia................................................................................. 7 El algoritmo de la Segunda Oportunidad ........................................................................................ 7 El Algoritmo del Reloj ...................................................................................................................... 8 Algoritmo LFU (Last Frequently Used)............................................................................................. 9 El algoritmo MFU (Most Frequently Used) ...................................................................................... 9 Algoritmo de pginas de uso no reciente o NRU (Not Recently Used) ........................................... 9
Sistemas Operativos
Pgina 1
Memoria Virtual
La memoria virtual es una tcnica que permite ejecutar procesos que no caben totalmente en memoria RAM (memoria fsica). Esto propicia la creacin de programas que sean ms grandes que la memoria fsica. Adems, la memoria virtual ayuda a crear un esquema de abstraccin de la memoria que la separa de la zona lgica que el usuario ve, esto facilita enormemente la tarea a los programadores puesto que no se han de preocupar por limitaciones de memoria. Los procedimientos de implementacin de la memoria virtual se basan en que cuando se ejecuta un programa, ste est parcialmente en memoria, es decir, slo hay cargada aquella zona de cdigo y datos que se necesitan en ese instante de tiempo, y no el programa completo. La memoria virtual es la separacin entre la memoria lgica disponible para el usuario y la memoria RAM, se implementa generalmente con el mtodo de paginacin por demanda aunque tambin se puede implementar en un sistema con segmentacin. En el momento en que en el sistema empieza a escasear la memoria, se crea un fichero SWAP (intercambio) en el disco que sirve como ampliacin auxiliar de memoria. En el caso de Windows, cuando tenemos muchas aplicaciones en funcionamiento y la memoria RAM se agota, el sistema se apoya en el fichero SWAP para realizar movimientos desde el disco duro a la RAM y viceversa. De ese modo crean espacios en memoria fsica para ir ejecutando las rdenes. Esto, evidentemente, hace que el sistema vaya ms lento. Todo ello permite simular la existencia de 4GB de RAM en el equipo, a pesar de que nadie dispone de 4GB en su ordenador (a excepcin de algunos sistemas en empresas y universidades), y dar capacidad de ejecucin a mltiples aplicaciones por grandes que sean.
Administracin de Memoria
Es un mtodo mediante el cual, un sistema operativo simula tener ms memoria principal que la que existe fsicamente. Para implementar la memoria virtual se utiliza un medio de almacenamiento secundario de alta velocidad de acceso, generalmente en disco duro de la maquina. Un sistema de memoria virtual se implementa utilizando paginacin como mtodo de administracin de memoria bsica y algn mecanismo de intercambio (para descargar paginas de la memoria principal hacia el disco duro y para cargar esas paginas de nuevo a la memoria).
Sistemas Operativos
Pgina 2
Sistemas Operativos
Pgina 3
ENLACE A LA ANIMACIN FIFO El algoritmo FIFO es fcil de comprender y programar, pero su rendimiento no siempre es bueno. La pgina remplazada puede ser un mdulo de asignacin de valores iniciales que se utiliz hace mucho tiempo y que ya no se necesita. Pero tambin puede contener una variable cuyo valor inicial se asign hace tiempo pero que se utiliza constantemente. Adems, este algoritmo presenta una irregularidad denominada anomala de Belady. Para ilustrarlo suponga que ahora tenemos la siguiente serie de referencias 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5. La figura 7.5 muestra la curva de fallos de pginas frente al nmero de marcos disponibles. Sorprendentemente el nmero de fallos para cuatro marcos (diez) es mayor que para tres marcos (nueve). Esto significa que con el algoritmo FIFO la tasa de fallos pueden aumentar al incrementar el nmero de marcos asignados.
Sistemas Operativos
Pgina 4
ENLACE A LA ANIMACIN OPTIMO Una consecuencia del descubrimiento de la anomala de Belady fue la bsqueda de un algoritmo de remplazo de pginas ptimo. El algoritmo de remplazo de pginas ptimo sera aquel que eligiera la pgina de la memoria que vaya a ser referenciada ms tarde (con el ejemplo anterior vemos que se producen tan slo 9 fallos de pgina). Si se elige otra, se producir una falta de pgina antes, con lo que baja el rendimiento del sistema. Por desgracia, este algoritmo es irrealizable, pues no hay forma de predecir qu pginas referenciar un proceso en el futuro. Como resultado de esto, el algoritmo ptimo se utiliza sobre todo para estudios comparativos. Puede ser til para saber que un nuevo algoritmo est dentro de 12.3% de lo ptimo en el peor de los casos y dentro del 4.7% en promedio. Remplazo Menos Recientemente Usado o LRU (Least Recently Used) La principal diferencia entre los algoritmos FIFO y OPT es que el primero utiliza el instante en que entr una pgina en memoria, y el segundo, utiliza el tiempo en el que se usar la pgina. Una buena aproximacin al algoritmo ptimo se basa en el principio de localidad de referencia de los programas. Las pginas de uso frecuente en las ltimas instrucciones se utilizan con cierta probabilidad en las siguientes instrucciones. De manera recproca, es probable que las pginas que no hayan sido utilizadas durante mucho tiempo permanezcan sin ser utilizadas durante cierto tiempo. Es decir, estamos utilizando el pasado reciente como aproximacin de lo que suceder en el futuro. El algoritmo LRU explota esta idea: al ocurrir un fallo de pgina se utiliza la pgina que no haya sido utilizada hace ms tiempo. El resultado de aplicar este algoritmo a nuestro ejemplo produce 12 fallos.
Sistemas Operativos
Pgina 5
Sistemas Operativos
Pgina 6
Supongamos que ocurre un fallo de pgina. La pgina ms antigua es A, si A tiene el bit R a cero, se saca de la memoria. Por contra, si R vale 1, A se coloca al final de la lista, ponindose a cero el bit R. La bsqueda de una pgina adecuada prosigue con B. Lo que hace el algoritmo de la segunda oportunidad es buscar una pgina antigua sin referencias, si todas las pginas tienen alguna referencia deviene en un simple FIFO. En efecto, supongamos que todas las pginas de la figura 7.7 (a) tienen R a 1. Una a una, el sistema operativo traslada las pginas al final de la lista y pone su bit R a cero. Al final, se vuelve a la pgina A, la cual tiene R a cero. En este momento, A se retira de la memoria. Por lo tanto, el algoritmo siempre termina. El Algoritmo del Reloj Aunque la segunda oportunidad es un algoritmo razonable, es ineficiente e innecesario, puesto que desplaza las pginas en una lista. Un mejor diseo consiste en mantener las pginas en una lista circular, con la forma de un reloj, como se muestra en la figura 7.8. Una manecilla apunta hacia la pgina ms antigua.
Sistemas Operativos
Pgina 8
Al ocurrir un fallo de pgina, se inspecciona la pgina a la que apunta la manecilla. Si su bit R vale 0, la pgina se retira de la memoria, se inserta la nueva pgina en su lugar en el reloj, y la manecilla avanza una posicin. Si R vale 1, este bit se pone a 0 y la manecilla avanza a la pgina siguiente. Este proceso contina hasta encontrar una pgina con R a cero. Este algoritmo slo difiere del anterior en su implementacin. Algoritmo LFU (Last Frequently Used) Un algoritmo de remplazo de pgina menos frecuentemente usada (Least Frequently Used) mantiene un contador del nmero de referencias que se han hecho para cada pgina. Se remplaza la pgina con el menor recuento. La razn para esta seleccin es que una pgina que se usa activamente debe tener un alto nmero de referencias. Este algoritmo tiene problemas cuando una pgina se usa mucho en la fase inicial de un proceso, pero despus ya no se utiliza. Como se us bastantes veces, tiene un recuento alto y permanece en memoria aunque ya no se necesite. Una solucin consiste en desplazar los recuentos un bit a la derecha a intervalos regulares, formando un recuento promedio de utilizacin que disminuye exponencialmente. El algoritmo MFU (Most Frequently Used) Otro algoritmo de remplazo de pginas es el remplazo ms frecuentemente usado, que se basa en el argumento de que la pgina con el menor recuento probablemente acaba de llegar y an tiene que usarse. Como se podra esperar, no es comn ni el remplazo MFU ni el LFU porque son costosos y se alejan mucho del remplazo OPT. Algoritmo de pginas de uso no reciente o NRU (Not Recently Used) La mayora de los ordenadores presentan los bits R (de referencia) y M (de modificacin) en las entradas de la tabla de pginas, siendo estos bits actualizados va hardware. Si el hardware no proporciona dichos bits, stos pueden ser simulados mediante el software.
Sistemas Operativos
Pgina 9
Sistemas Operativos
Pgina 10