You are on page 1of 4

Linux soporta las caractersticas de Memoria Virtual (virtual memory).

Esto significa usar un disco como una extensin de la memoria RAM, de forma tal que el tamao efectivo de memoria utilizable crezca considerablemente. El kernel se encarga de escribir el contenido de un bloque de memoria que no est siendo utilizado al disco rgido de forma que esta porcin de memoria quede disponible para otro propsito. Cuando los bloques originales vuelven a ser requeridos, son ledos y colocados nuevamente en memoria. Todo esto es realizado en forma completamente transparente para el usuario. Los programas ejecutados bajo Linux solo ven una gran cantidad de memoria disponible y no saben que parte de ellos reside en el disco en un momento dado. Por supuesto que leer y escribir en el disco es mucho ms lento que utilizar la memoria real (en el orden de 1000 veces ms lento), Por lo que los programas se tornan mucho ms lento tambin. La parte del disco que es usado como memoria virtual se llama rea de swap (swap space). Linux puede utilizar tanto un archivo normal en el sistema de archivos como una particin separada del disco como rea de swap. Una particin swap es mucho ms rpida, pero es mucho ms fcil cambiar el tamao del rea de swap si este es un archivo (y no hay necesidad de particionar el disco rgido entero, y posiblemente instalar todo desde cero). Cuando se conoce la cantidad de espacio swap que se necesita, es ms indicado optar por una particin swap. Pero si no se est seguro de la cantidad de espacio que se necesita, se puede crear primero un archivo swap, probar el sistema hasta que se est seguro del tamao necesario, y luego construir una particin con dicho tamao. Cabe sealar que Linux permite tambin usar una o varias particiones de swap y/o archivos de swap al mismo tiempo. Esto significa que si ocasionalmente se necesita una cantidad adicional de espacio swap, se puede crear un archivo de swap extra para ese momento especial, en lugar de mantener una particin con todo ese espacio necesario en forma permanente. El Sistema Operativo Ubuntu es una distribucin GNU/Linux que consiste en una recopilacin de aplicaciones y herramientas junto al ncleo Linux que se encuentran empaquetadas de una determinada manera y con utilidades extras para facilitar la configuracin del sistema; es fcil de utilizar y est orientada tanto al usuario de escritorio como al servidor. Se mantiene por una comunidad de desarrolladores que reciben el soporte de la empresa Canonical, la cual vende servicios relacionados con la distribucin. Su filosofa est basado en el Manifiesto Ubuntu, el cual promueve que el software debe estar disponible sin coste alguno y con la posibilidad de adaptarlo a las necesidades de cada usuario. 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. A continuacin se observarn los puntos correspondientes a la administracin de la memoria. * 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. Slo la memoria cache es ms rpida que la principal, pero su costo es a su vez mayor. * Memoria virtual: El termino memoria virtual se asocia a dos conceptos que normalmente aparecen unidos: El uso de almacenamiento secundario para ofrecer al conjunto de las aplicaciones la ilusin de tener ms memoria RAM de la que realmente hay en el sistema. Esta ilusin existe tanto a nivel del sistema, es decir, teniendo en ejecucin ms aplicaciones de las que realmente caben en la memoria principal, sin que por ello cada aplicacin individual pueda usar ms memoria de la que realmente hay o incluso de forma ms general, ofreciendo a cada aplicacin ms memoria de la que existe fsicamente en la mquina. Ofrecer a las aplicaciones la ilusin de que estn solas en el sistema, y que por lo tanto, pueden usar el espacio de direcciones completo. Esta tcnica facilita enormemente la generacin de cdigo, puesto que el compilador no tiene por qu preocuparse sobre dnde residir la aplicacin cuando se ejecute. * Espacio de direcciones: Los espacios de direcciones involucrados en el manejo de la memoria son de tres tipos: a) Direcciones fsicas: Son aquellas que referencian alguna posicin en la memoria fsica.; b) Direcciones lgicas: Son las direcciones utilizadas por los procesos. Sufren una serie de transformaciones, realizadas por el procesador (la MMU), antes de convertirse en direcciones fsicas; y c) Direcciones lineales: Direcciones lineales se obtienen a partir de direcciones lgicas tras haber aplicado una transformacin dependiente de la arquitectura. * Unidad de manejo de memoria: La unidad de manejo de memoria (MMU) es parte del procesador. Sus funciones son: 1) Convertir las direcciones lgicas

emitidas por los procesos en direcciones fsicas; 2) Comprobar que la conversin se puede realizar. La direccin lgica podra no tener una direccin fsica asociada. Por ejemplo, la pgina correspondiente a una direccin se puede haber trasladado a una zona de almacenamiento secundario temporalmente; y 3) Comprobar que el proceso que intenta acceder a una cierta direccin de memoria tiene permisos para ello. La fragmentacin es la memoria que queda desperdiciada al usar los mtodos de gestin de memoria que se vieron en los mtodos anteriores. Tanto el primer ajuste, como el mejor y el peor producen fragmentacin externa. La fragmentacin es generada cuando durante el reemplazo de procesos quedan huecos entre dos o ms procesos de manera no contigua y cada hueco no es capaz de soportar ningn proceso de la lista de espera. La fragmentacin puede ser: * Fragmentacin Externa: Existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua. * Fragmentacin Interna: La memoria asignada puede ser ligeramente mayor que la requerida; esta referencia es interna a la particin, pero no se utiliza. La fragmentacin externa se puede reducir mediante la compactacin para colocar toda la memoria libre en un solo gran bloque, pero esta slo es posible si la relocalizacin es dinmica y se hace en tiempo de ejecucin. La paginacin es una tcnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones fsicas de igual tamao, denominadas marcos de pgina. Los programas se dividen en unidades lgicas, denominadas pginas, que tienen el mismo tamao que los marcos de pginas. De esta forma, se puede cargar una pgina de informacin en cualquier marco de pgina. Las pginas sirven como unidad de almacenamiento de informacin y de transferencia entre memoria principal y memoria auxiliar o secundaria. Cada marco se identifica por la direccin de marco, que est en la posicin fsica de la primera palabra en el marco de pgina. Las pginas de un programa necesitan estar contiguamente en memoria, aunque el programador lo observe de esta forma. Los mecanismos de paginacin permiten la correspondencia correcta entre las direcciones virtuales (dadas por los programas) y las direcciones reales de la memoria que se reverencien.

DESVENTAJAS DE LA PAGINACIN. * El costo de hardware y software se incrementa, por la nueva informacin que debe manejarse y el mecanismo de traduccin de direcciones necesario. Se consumen muchos ms recursos de memoria, tiempo en el CPU para su implantacin. * Se deben reservar reas de memoria para las PMT de los procesos. Al no ser fijo el tamao de estas, se crea un problema semejante al de los programas (cmo asignar un tamao ptimo sin desperdicio de memoria, u ovearhead del procesador). * Aparece el problema de fragmentacin interna. As, si se requieren 5K para un programa, pero las pginas son de 4K, debern asignrseles 2 pginas (8k), con lo que pero no podr ser utilizado. Debe asignarse un tamao promedio a las pginas, evitando que si son muy pequeas, se necesiten tablas BMT y PMT muy grandes, y si son muy grandes, se incremente el grado de fragmentacin interna. Quedan 3K sin utilizar. La suma de los espacios libres dejados de esta forma puede ser mayor que el de varias pginas. * Al permitir que los segmentos varen de tamao, pueden ser necesarios planes de reubicacin a nivel de los discos, si los segmentos son devueltos a dicho dispositivo, lo que conlleva a nuevos costos. * No se puede garantizar que al salir un segmento de la memoria, este pueda ser trado fcilmente de nuevo, ya que ser necesario encontrar nuevamente un rea de memoria libre ajustada a su tamao. * La comparticin de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales da hardware y software.

You might also like