Más Memoria para programas de ELS

Como se publicó en Enlaces anteriores, se sigue trabajando en que los programas de SISINF puedan tener más instrucciones, archivos, áreas de terminal,... es decir que sean más grandes y que no generen el error de compilación No hay memoria. Lo anterior es importante ya que cuando se necesitan nuevas funciones en un programa, estos tienden a usar más instrucciones y archivos y cuando se genera el error de memoria muchas veces partir el programa no es fácil.

Una explicación técnica del manejo de la memoria en SISINF es la siguiente:

Hay un bloque de memoria base que no puede exceder los primeros 32k de la memoria total de ELS, y bloques de memoria extendida que pueden estar en cualquier parte de los 72k que forma la memoria total actual de ELS.

Los datos, instrucciones, archivos permanentes y temporales están en la memoria base y como ya se especificó, no puede exceder los 32k.

Los vectores, datos de áreas de terminal, definiciones de áreas de terminal, matriz (80x24) con la información de la terminal y los buffers para las nuevas instrucciones de impresión, están cada uno en su bloque de memoria extendida, mismos que no pueden exceder los 32k.

Un programa, por ejemplo, puede ocupar los primeros 20k para la memoria base y los siguientes 20k para un bloque de memoria extendida de vectores.

El módulo CLS calcula el porcentaje de uso de memoria de acuerdo a cuanto se utiliza de los 32k de memoria base, cuanto se utiliza de los 32k de cada bloque de memoria extendida y cuanto se utiliza de los 72k de la memoria total.

El trabajo actual consiste en modificar el módulo CLS y el módulo ELS para que los temporales ahora usen un bloque de memoria extendida y por lo tanto se tenga más memoria para aquellos que tienen por límite la memoria base.

Una condición es que los programas actuales, sin necesidad de compilarlos sigan trabajando igual.

En futuras publicaciones de Enlace se especificará para qué plataformas está hecho el cambio.