Mi octavo libro dedicado a recuperar al auténtico primer videojuego español, a la venta con precio muy popular en versión papel, o versión ebook económica.
Hace más de tres décadas la memoria RAM era un elemento fundamental para poder realizar muchas tareas. Era vital gestionar con habilidad el reparto de memoria RAM para poder ejecutar la mayor parte de las aplicaciones. Era la época cuando una gestión de memoria en modo real en el sistema operativo MS-DOS creaba importantes barreras.
En la actualidad hablamos de la memoria RAM (Random Access Memory) 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; al igual que el disco duro. 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.
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.
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; el tipo de memoria que había en aquellos años.
Lo que más abundaba en aquellos años eran los ordenadores de sobremesa -el mundo portátil todavía era algo por explorar-, y 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 diferentes tipos de memoria: 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.
En los ochenta el software se creaba para una cantidad estándar de 640 Kilobytes de RAM.
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 el PC estándar todavía no se hablaba de módulos 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. Existían ya otros tipos de memoria RAM. 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.
...se desarrollaba software con mayor capacidad gráfica -principalmente- y por inercia mayor necesidad de memoria...
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 todavía. 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í.
...se desarrollaba software con mayor capacidad gráfica -principalmente- y por inercia mayor necesidad de memoria...
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.
Microsoft incluyó en la versión MS-DOS 6.0 una herramienta llamada MEMMAKER...
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, por lo tanto lo que se hacía con el MEMMAKER era de forma temporal. 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.
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.