Cuando gestionar la memoria RAM era todo un reto Cuando gestionar la memoria RAM era todo un reto
En la actualidad hablamos de la memoria RAM como algo inherente para el usuario o para el informático, ya que el único problema que... Cuando gestionar la memoria RAM era todo un reto

En la actualidad hablamos de la memoria RAM como algo inherente para el usuario o para el informático, ya que el único problema que podemos tener con la RAM tiene que ver, sencillamente, con la cantidad que podamos disponer de ella.

Actualmente hablamos de 4, 8, o 16 gigabytes como capacidades habituales, pero hace algo más de veinte años el estándar de memoria RAM era 2 megabytes, es decir, una capacidad quinientas veces menor a la actual.

Las memorias volátiles como la RAM o la caché son imprescindibles para los ordenadores, porque sobre esas memorias se basa una parte importante de la velocidad global del equipo. Pero independientemente de la cantidad de memoria RAM existente antes del año 1995, en el mundo «PC» el sistema operativo más común era el MS-DOS, y ese sistema operativo utilizaba una gestión en «modo real» de la memoria.

La gestión en «modo real» de la memoria implicaba que el sistema operativo no podía direccionar más de un megabyte de memoria dividida en dos partes: la «memoria convencional» que era usada para las aplicaciones y ocupaban los primeros 640 kilobytes, y la «memoria expandida» o «EMM» que eran los siguientes 384 kilobytes hasta completar el megabyte que era posible direccionar, y ésta última estaba destinada para almacenar los «drivers» necesarios para todos los dispositivos del ordenador.

A finales de los años ochenta era muy extraño ver un ordenador personal con más de 640 kilobytes de memoria, por lo tanto el software se desarrollaba para esa cantidad de memoria. En la década de los años noventa los ordenadores empiezan a contar con mayor memoria RAM, primero un megabyte, después dos megabytes, y finalmente en el año 1995 era normal ver equipos con cuatro megabytes de memoria. Pero… ¿cómo se podía utilizar esa memoria si el sistema operativo únicamente direccionaba un megabyte? Pues utilizando la «memoria extendida» o «XMS», que era un tercer nivel de memoria que únicamente podía almacenar datos.

Por lo tanto en la década de los años noventa la memoria se gestionaba en «modo real», y estaba dividida en tres tipos diferentes, lo cuales tenían que ser gestionados por el propio usuario del ordenador al configurar su sistema operativo.

El sistema operativo MS-DOS no contaba con entorno gráfico, solo intérprete de línea de comandos, y la configuración se tenía que hacer mediante ejecución de instrucciones y la modificación de determinados archivos. Los dos ficheros más importantes del arranque el sistema operativo MS-DOS eran el «autoexec.bat» y el «config.sys», donde era necesario configurar «drivers» y aplicaciones a ejecutar en arranque.

La memoria no fue un problema hasta que, por el hecho de superar el primer megabyte, los desarrollos de software requerían mayor cantidad de ella ya que la evolución del hardware permitía evolucionar el software más rápido todavia. Debido a ello se desarrollaba software con mayor capacidad gráfica —principalmente— y por inercia mayor necesidad de memoria.

Los primeros 640 kilobytes se convirtieron en vitales, ya que era dónde se podía almacenar el código fuente a ejecutar, y entonces nació el problema. Muchos desarrollos necesitaban al menos 620 kilobytes libres en la «memoria convencional» para poder ser ejecutados, pero muchos otros programas del sistema se ejecutaban allí.

Para solucionar aquello era necesario retocar manualmente los ficheros «autoexec.bat» y «config.sys» para intentar liberar la mayor cantidad de «memoria convencional» posible. Para ello, utilizando el comando «MEM», se podía conocer el estado de toda la memoria RAM, y con la información obtenida se cargaban los controladores «EMM386.EXE» y «HIMEM.SYS» para activar las dos memorias altas. Mediante el «DOS=HIGH» se trasladaban las rutinas del sistema operativo a la memoria alta, y mediante el comando «DEVICEHIGH» se podía hacer lo mismo con los «drivers». Pero no todo era de color de rosa.

Lograr una optimización de la memoria RAM requería conocimiento importante del sistema y de la memoria, y realizar varios cambios para ir probando la cantidad de memoria liberada, porque no todo era susceptible de ser ejecutado en la memoria alta. Los usuarios e informáticos más hábiles eran los que lograban una memoria convencional con 620 kilobytes, o más, totalmente libre.

Configurar la distribución de la memoria RAM en el MS-DOS era todo un espectáculo de conocimientos y habilidad y, normalmente, lo gurús en esa materia, solían ser los que configuraban la memoria en los ordenadores de las personas de su entorno. No era fácil.

Con el lanzamiento del MS-DOS 6.0 por parte de Microsoft se incluyó la herramienta «MEMMAKER» que precisamente lo que hacía era ejecutar de forma automática los cambios necesarios en la configuración del sistema para optimizar la memoria RAM. Todo un invento para los que no sabían cómo hacerlo. Pero aun así la optimización automática del «MEMMAKER» seguía unos criterios y unos patrones que no siempre eran los más acertados en función al software que iba a correr en el equipo. Los que conocíamos la estructura y funcionamiento de la memoria RAM, y sabíamos como optimizarla, utilizábamos el «MEMMAKER» para evitar hacer el trabajo más pesado de carga de «drivers» y activaciones de controladores, para después modificar a mano partes concretas de la configuración para mejorar el resultado.

Con la llegada del sistema operativo Windows 95 la memoria se comienza a gestionar en «modo protegido», con lo que se termina la división en niveles, y toda la RAM pasa a ser completamente lineal… ya no hace falta gestión alguna por parte del usuario. Además, los sistemas operativos de 32 bits aumentan el límite máximo de memoria RAM a direccionar hasta llegar a los 4 gigabytes, que en la década de los noventa era una utopía llegar algún día a tener tanta capacidad de memoria. Pues no se tardó mucho, en la actualidad el límite de memoria marcado para los sistemas de 32 bits ya se ha superado, pero ahora tenemos sistemas operativos de 64 bits con un límite máximo de direccionamiento de 16 exabytes… un límite demasiado lejano —casi imposible—– para los sistemas actuales.

Manuel Director

Analista informático, desarrolla su labor profesional para importantes clientes en una empresa de Ingeniería de Software. Entre sus logros se encuentra haber ganado un premio internacional, y otro premio a nivel nacional, además de otras dos importantes menciones, todo ello relacionado con el mundo de Internet y la informática. Además es el creador de varios desarrollos de software freeware de gran éxito en varios países. En su tiempo libre fuera de su labor profesional es Director de ParcelaDigital.

Artículos antiguos…