Está en la página 1de 2

MEMORIA VIRTUAL: Segmentac in y paginacin

Por: marcos Ruiz 1 DAM

La memoria virtual es una tcnica de gestin de la memoria que permite que el sistema operativo disponga, tanto para el software de usuario como para s mismo, de mayor cantidad de memoria que la disponible fsicamente. La mayora de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria cach (tanto dentro como fuera del CPU), la memoria RAM y el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor velocidad. Muchas aplicaciones requieren acceso a ms informacin (cdigo y datos) que la que se puede mantener en memoria fsica. Esto es as sobre todo cuando el sistema operativo permite mltiples procesos y aplicaciones ejecutndose simultneamente. Una solucin al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su informacin en disco, movindola a la memoria principal cuando sea necesario. Hay varias formas de hacer esto. Una opcin es que la aplicacin misma sea responsable de decidir qu informacin ser guardada en cada sitio (segmentacin), y de traerla y llevarla. La desventaja de esto, adems de la dificultad en el diseo e implementacin del programa, es que es muy probable que los intereses sobre la memoria de dos o varios programas generen conflictos entre s: cada programador podra realizar su diseo teniendo en cuenta que es el nico programa ejecutndose en el sistema. La alternativa es usar memoria virtual, donde la combinacin entre hardware especial y el sistema operativo hace uso de la memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha ms memoria principal (RAM) que la que realmente posee. Este mtodo es invisible a los procesos. La cantidad de memoria mxima que se puede hacer ver que hay tiene que ver con las caractersticas del procesador. 32 Por ejemplo, en un sistema de 32 bits, el mximo es 2 , lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de aplicaciones mucho ms fcil, al poder ignorar completamente la necesidad de mover datos entre los distintos espacios de memoria. Aunque la memoria virtual podra estar implementada por el software del sistema operativo, en la prctica casi siempre se usa una combinacin de hardware y software, dado el esfuerzo extra que implicara para el procesador. En sistemas operativos de computadoras, los sistemas de paginacin de memoria dividen los programas en pequeas partes o pginas. Del mismo modo, la memoria es dividida en trozos del mismo tamao que las pginas llamados marcos de pgina. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza la fragmentacin interna y evita la externa. En un momento cualquiera, la memoria se encuentra ocupada con pginas de diferentes procesos, mientras que algunos marcos estn disponibles para su uso. El sistema operativo mantiene una lista de estos ltimos marcos, y una tabla por cada proceso, donde consta en qu marco se encuentra cada pgina del proceso. De esta forma, las pginas de un proceso pueden no estar contiguamente ubicadas en memoria, y pueden intercalarse con las pginas de otros procesos.

También podría gustarte