Vous êtes sur la page 1sur 2

GESTION DE MEMORIA EN LOS SISTEMAS OPERATIVOS La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con

mucho cuidado. Aunque actualmente la mayora de los sistemas de cmputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen tambin altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario. La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estn utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando stos la necesiten y liberndola cuando terminen, as como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella. Para optimizar el uso del CPU y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administracin tanto del procesador como de la memoria. La seleccin de uno de ellos depende principalmente del diseo del hardware para el sistema. MEMORIA REAL La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la informacin contenida en ella es de ms rpido acceso. Solo la memoria cache es ms rpida que la principal, pero su costo es a su vez mayor. SIN INTERCAMBIO Monoprogramacin sin paginacin Cuando solo se tiene un proceso que ocupe la memoria a la vez, el esquema de la administracin de la memoria es el ms sencillo que hay. Sin embargo, ste mtodo ya no tiene aplicacin en la actualidad, ya que era visto en las computadoras con sistemas operativos de un solo usuario y una sola tarea. El usuario introduca su disco a la computadora (por lo general, la mquina no contaba con disco duro) y ejecutaba su aplicacin, la cual acaparaba toda la mquina. CON INTERCAMBIO Multiprogramacin con particiones variables Este esquema fue originalmente usado por el sistema operativo IBM OS/360, el cual ya no est en uso. El sistema operativo lleva una tabla indicando cules partes de la memoria estn disponibles y cules estn ocupadas. Inicialmente, toda la memoria est disponible para los procesos de usuario y es considerado como un gran bloque o hueco nico de memoria. Cuando llega un proceso que necesita memoria, buscamos un hueco lo suficientemente grande para el proceso. Si encontramos uno, se asigna nicamente el espacio requerido, manteniendo el resto disponible para futuros procesos. MEMORIA VIRTUAL PAGINACIN Los mtodos que hemos visto de la administracin de la memoria principal, nos han dejado con un problema: fragmentacin, (huecos en la memoria que no pueden usarse debido a lo pequeo de su espacio) lo que nos provoca un desperdicio de memoria principal. Una posible solucin para la fragmentacin externa es permitir que espacio de direcciones lgicas lleve a cabo un proceso en direcciones no contiguas, as permitiendo al proceso ubicarse en cualquier espacio de memoria fsica que est disponible, aunque est dividida. Una forma de implementar esta solucin es a travs del uso de un esquema de paginacin. La paginacin evita el considerable problema de ajustar los pedazos de memoria de tamaos variables que han sufrido los esquemas de manejo de memoria anteriores. Dado a sus ventajas sobre los mtodos previos, la paginacin, en sus diversas formas, es usada en muchos sistemas operativos. Al utilizar la memoria virtual, las direcciones no pasan en forma directa al bus de memoria, sino que van a una unidad administradora de la memoria (MMU Memory Management Unit). Estas direcciones generadas por los programas se

llaman direcciones virtuales y conforman el hueco de direcciones virtuales. Este hueco se divide en unidades llamadas pginas. Las unidades correspondientes en la memoria fsica se llaman marcos para pgina o frames. Las pginas y los frames tienen siempre el mismo tamao. SEGMENTACIN Otra opcin para el manejo de la memoria es usar una forma de liberar al programador de la tarea del control de las tablas en expansin y contraccin, de la misma forma que la memoria virtual elimina la preocupacin por organizar el programa en una serie de proyectos. Esto se puede lograr dotando a la mquina de varios espacios independientes de direcciones llamados segmentos. Cada segmento tiene una serie lineal de direcciones, desde 0 hasta cierto mximo. La longitud de cada segmento puede variar de 0 hasta un mximo permitido. Los distintos segmentos pueden tener y de hecho tienen por lo general, longitudes distintas. Adems, la longitud de un segmento puede variar durante la ejecucin. La longitud de un segmento de la pila puede crecer si algo entra a la pila y decrecer si algo sale de ella. Puesto que cada segmento constituye un espacio independiente de direcciones, los distintos segmentos pueden crecer o reducirse en forma independiente sin afectar a los dems. Sistema operativo Linux como gestiona la memoria Memoria virtual El tamao combinado del programa, datos y pila puede exceder la cantidad de memoria fsica disponible El sistema operativo guarda aquellas partes del programa concurrentemente en memoria central y el resto en disco. Cuando un programa espera que se le cargue en memoria central de disco otra parte del mismo, la CPU se puede asignar a otro proceso. El sistema operativo gestiona niveles de memoria principal y memoria secundaria: Transferencia de bloques entre ambos niveles (basada en paginacin) De memoria secundaria a principal: por demanda De memoria principal a secundaria: por expulsin Esto conlleva unos beneficios: aumenta el grado de multiprogramacin, permite ejecutar programas que no quepan en memoria principal. Paginacin El espacio virtual de direcciones se divide en unidades llamadas pginas, todas del mismo tamao. La memoria principal se divide en marcos de pginas (page frames) del mismo tamao que las pginas virtuales, y son compartidas por los distintos procesos del sistema. Sistema operativo Windows como gestiona la memoria Memoria en Win32 Cuando un proceso se ejecuta, el sistema establece un espacio de direcciones virtuales propio de 32 bits, que permite habilitar un espacio de hasta 4 gigabytes de memoria. ste est formado por la suma de la memoria RAM instalada, ms la memoria virtual asignada. Windows es un sistema multiproceso, ya que permite la ejecucin de varios procesos a la vez. Por norma general, no todos los procesos caben en memoria a la vez, ya sea porque existan muchos procesos, como que el tamao de stos sea demasiado grande. Cuando esto sucede, Windows alterna la permanencia de stos en memoria sacando unos y poniendo otros para que todos puedan ejecutarse. Utiliza la memoria virtual asignada a cada proceso para guardar los datos cada vez que se saca de la memoria. A ste cambio entre memoria fsica y memoria virtual se le conoce como Swapping. Para aumentar la velocidad, el cambio no se realiza byte a byte, sino pgina a pgina. cuyo tamao en Windows es de 4 KB. De ah que toda la memoria virtual y fsica est paginada. Memoria Virtual en forma de pginas, y memoria fsica en forma de marcos de pgina. Espacios de direcciones virtuales Una direccin virtual no es una direccin fsica que apunte a una posicin de la memoria principal, sino una direccin utilizada por el sistema para acceder a una determinada pgina de la tabla de pginas de un proceso. Utilizando posteriormente diferentes algoritmos para traducir esa direccin virtual, el sistema puede acceder a la memoria fsica donde est contenida la informacin del proceso. Esto permite que no podamos acceder a las posiciones de otros procesos porque no es posible hacer referencia a dichas posiciones.

Vous aimerez peut-être aussi