Memoria convencional

La memoria DOS, a veces denominada memoria convencional, se refiere al esquema de dirección de memoria utilizado en las computadoras IBM originales y compatibles. Estos vinieron con un solo sistema operativo, Disk Operating System, y este sistema operativo tuvo que estar diseñado para funcionar con el microprocesador de la PC, el Intel 8088. Debido a las limitaciones de ingeniería del 8088, las direcciones de almacenamiento o memoria se limitaron a un máximo de un megabyte. (Más tarde, por supuesto, las PC venían con 2, 4, 8 y los actuales 16 y 32 megabytes de RAM). En ese momento, sin embargo, un megabyte se consideraba una cantidad bastante grande de memoria para poder acceder.

Una cierta cantidad de la memoria de acceso aleatorio se reservó como un lugar para cargar en el sistema básico de entrada / salida o en el programa de inicialización, se reservó otro espacio para áreas de búfer para mostrar datos y otro espacio para datos de interrupción, etc. Los restantes 640 kilobytes de memoria podrían ser utilizados por el sistema operativo DOS (que era relativamente pequeño) y los programas de aplicación.

La razón por la que todo esto no es académico es que, a medida que se han desarrollado nuevos microprocesadores y sistemas operativos, muchos programas antiguos escritos con las limitaciones de direccionamiento de la memoria original deben continuar ejecutándose en los sistemas más nuevos. Esto significa que los sistemas más nuevos han tenido que adaptarse a los programas más antiguos para que puedan ejecutarse en el rango de direcciones contiguas limitado original de 640 kilobytes. Un programa que se ejecuta con esta restricción se describe como que se ejecuta en modo protegido. (Los programas que se ejecutan sin esta restricción se describen como que se ejecutan en modo protegido).

Con los sucesores del 8088, los microprocesadores 80286 y 80386, la memoria disponible aumentó considerablemente, con hasta 15 megabytes posibles en un 286 y hasta casi 4 gigabytes de RAM posibles en un 386. Esta memoria extra por encima del megabyte original que DOS fue diseñado para abordar se llama memoria extendida . Ser capaz de abordar la memoria extendida significa ejecutar en modo protegido.

En general, las aplicaciones de DOS solo pueden ejecutarse en modo real, ya que el propio DOS requiere la restricción de memoria. Sin embargo, se han desarrollado algunos programas denominados Extensores DOS que se pueden compilar con la aplicación y proporcionan una capacidad de gestión de memoria incorporada. Para que varios programas de DOS con extensores de memoria se ejecutaran al mismo tiempo, se requería un enfoque común para que los programas pudieran compartir la memoria extendida de manera efectiva. Varios estándares desarrollados para administrar este uso compartido: XMS (Especificación de memoria extendida), VCPI (Interfaz de programa de control virtual) e Interfaz de modo protegido de DOS (interfaz de modo protegido de DOS).