Extensor de DOS


Un extensor de DOS es un programa de software de computadora que se ejecuta bajo DOS que permite que el software se ejecute en un entorno de modo protegido, aunque el sistema operativo host solo puede funcionar en modo real .

Los extensores de DOS se desarrollaron inicialmente en la década de 1980 después de la introducción del procesador Intel 80286 (y luego se expandieron con Intel 80386 ), para hacer frente a las limitaciones de memoria de DOS .

Un extensor de DOS es un programa que "extiende" DOS para que los programas que se ejecutan en modo protegido puedan interactuar de manera transparente con la API de DOS subyacente . Esto era necesario porque muchas de las funciones proporcionadas por DOS requieren segmentos de 16 bits y direcciones de desplazamiento que apuntan a ubicaciones de memoria dentro de los primeros 640 kilobytes de memoria . Sin embargo, el modo protegido utiliza un método de direccionamiento incompatible en el que los registros de segmento (ahora denominados selectores) se utilizan para señalar una entrada en la Tabla de descriptores globales que describe las características del segmento. Los dos métodos de direccionamiento son mutuamente excluyentes, y el procesador tiene que realizar costosos cambios al modo real (o V86 ) para atender las solicitudes del modo no protegido.

Además de configurar el entorno y cargar el programa real que se ejecutará, el extensor de DOS también proporciona (entre otras cosas) una capa de traducción que mantiene los búferes asignados por debajo de la barrera de memoria de modo real de 1 MB. Estos búferes se utilizan para transferir datos entre el sistema operativo en modo real subyacente y el programa en modo protegido. Dado que cambiar entre el modo real / V86 y el modo protegido es una operación que consume relativamente tiempo, el extensor intenta minimizar el número de conmutadores duplicando la funcionalidad de muchas operaciones en modo real dentro de su propio entorno de modo protegido. Dado que DOS utiliza ampliamente las interrupciones para la comunicación entre el sistema operativo y el software de nivel de usuario, los extensores de DOS interceptan muchos de los hardware comunes (por ejemplo, elreloj en tiempo real y controlador de teclado) y software (por ejemplo, DOS y la API del mouse). Algunos extensores también manejan otras funciones de interrupción comunes, como rutinas de BIOS de video.

Básicamente, un extensor de DOS es como un sistema operativo en miniatura, que maneja gran parte de la funcionalidad del propio sistema operativo subyacente.

Podría decirse que el extensor DOS fue inventado por Phar Lap , pero fue el extensor DOS / 4GW 386 de Tenberry Software (anteriormente Rational Systems) el que llevó los programas DOS en modo protegido al mercado masivo. Incluido con los compiladores C, C ++ y Fortran de Watcom para procesadores de clase 386, pronto se convirtió en un pilar omnipresente de aplicaciones y juegos para PC como el exitoso Doom de id Software .


Banner de inicio DOS / 4GW de Tenberry Software
Logotipo del producto DOS / 4G de Tenberry Software