Superposición (superposición): superposición, un método de programación que le permite crear programas que requieren menos RAM. El método consiste en dividir el programa en bloques ejecutables, que se escriben secuencialmente en un área de memoria encima de las anteriores, realizan sus funciones y son sobrescritos por las siguientes. Las computadoras integradas a menudo usan superposiciones, ya que el sistema en un chip generalmente contiene poca memoria y no es compatible con la memoria virtual .
El método consiste en dividir el programa en fragmentos llamados superposiciones ( overlays ). El tamaño de cada superposición está limitado según la memoria disponible. El lugar en la memoria donde se cargará la superposición se denomina región ( región , región de destino ). Si bien los programas a menudo usan solo un bloque de memoria para cargar diferentes superposiciones, es posible definir múltiples regiones de diferentes tamaños. El administrador de superposición, a veces parte del sistema operativo , carga la superposición solicitada desde la memoria externa ( HDD , memoria flash, Ppzu // Diccionario enciclopédico científico y técnico ) a la región. Algunos enlazadores (compositores) admiten superposiciones. [una]
La programación con superposiciones requiere que el programador tenga cuidado con el tamaño de cada parte del programa. Debido a esto, a menudo se usan lenguajes de bajo nivel y ensambladores, que le permiten limitar el tamaño del programa y las superposiciones. La programación con superposiciones es más compleja que la programación con memoria virtual.
En los días de DOS, las superposiciones eran populares porque los sistemas operativos y la mayoría de las computadoras no proporcionaban memoria virtual. La PC IBM original ni siquiera usaba un disco duro , por lo que el único dispositivo de almacenamiento secundario era un disquete de 5-1/4" .
Las primeras PC de IBM tenían muy poca memoria RAM según los estándares actuales. Mientras que los disquetes de 5-1/4" podían almacenar 360 kilobytes, la memoria RAM de las computadoras de 1981-1985 era generalmente aún más pequeña (64, 128 o 256 kilobytes, a veces 384 kb). Los primeros modelos de PC IBM tenían desde 16 a 64 kb La mayor cantidad de memoria que se podía instalar en un sistema sin tecnologías especiales estaba limitada a 640 K. Para grandes volúmenes, era necesario utilizar los estándares EMS (memoria expandida) y XMS (memoria extendida) e instalar memoria adicional en Tarjetas ISA Un método controvertido para DBMS pesados, que requiere inversiones adicionales, tanto financieras como intelectuales.
La salida ha sido encontrada. Parte del código permaneció en la RAM (el programa principal, las bibliotecas de uso común, la parte superpuesta), y el resto fue sobrecargado por la parte superpuesta: unidades de procesamiento y procedimientos de carga y funciones en la RAM, según fuera necesario, que era el procesamiento superpuesto. programa lo hizo. La logística de diseñar superposiciones requería una comprensión de qué, dónde y dónde dejar, ya que aplicar un procedimiento de otra superposición provocó un cambio en la superposición, pérdida de variables y otros errores, especialmente considerando la limitación de RAM.
Por lo tanto, las superposiciones tenían que usarse para programas grandes. [2] En DOS, los archivos binarios que contenían superposiciones a menudo tenían una extensión .OVL