Articulo de referencia

Extensor DOS

Banner de inicio de DOS/4GW de Tenberry Software Un extensor DOS es un programa de software de computadora que se ejecuta bajo DOS y que permite que el software se ejecute en un...

Banner de inicio de DOS/4GW de Tenberry Software

Un extensor DOS es un programa de software de computadora que se ejecuta bajo DOS y que permite que el software se ejecute en un entorno de modo protegido aunque el sistema operativo host solo sea capaz de operar en modo real .

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

Funcionamiento del extensor DOS

Un extensor de DOS es un programa que "extiende" DOS de modo que los programas que se ejecutan en modo protegido puedan interactuar de forma transparente con la API de DOS subyacente . Esto era necesario porque muchas de las funciones proporcionadas por DOS requieren direcciones de segmento y desplazamiento de 16 bits que apunten a ubicaciones de memoria dentro de los primeros 640 kilobytes de memoria . Sin embargo, el modo protegido utiliza un método de direccionamiento incompatible donde los registros de segmento (ahora llamados selectores) se utilizan para apuntar a 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 cambios costosos 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 va a ejecutar, el extensor DOS también proporciona (entre otras cosas) una capa de traducción que mantiene los buffers asignados por debajo de la barrera de memoria de modo real de 1 MB. Estos buffers se utilizan para transferir datos entre el sistema operativo de modo real subyacente y el programa de 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 cambios duplicando la funcionalidad de muchas operaciones de modo real dentro de su propio entorno de modo protegido. Como DOS utiliza interrupciones ampliamente para la comunicación entre el sistema operativo y el software de nivel de usuario, los extensores DOS interceptan muchas de las interrupciones comunes de hardware (por ejemplo, el reloj de tiempo real y el controlador del teclado) y de software (por ejemplo, el propio DOS y la API del mouse). Algunos extensores también manejan otras funciones de interrupción comunes, como las rutinas de BIOS de video.

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

Historial de desarrollo

Logotipo del producto DOS/4G de Tenberry Software

Se podría decir que el extensor DOS fue inventado por Phar Lap , pero fue el extensor DOS/4GW 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 las aplicaciones y juegos para PC, como el exitoso Doom de id Software .

Si bien en un principio fueron las aplicaciones empresariales que consumían mucha memoria las que impulsaron el desarrollo de los extensores DOS, fueron los juegos para PC los que realmente los pusieron en el centro de atención. Como resultado del desarrollo de los extensores DOS, se crearon dos nuevas interfaces de software para ocuparse de los numerosos conflictos potenciales que podrían surgir de los diversos métodos de gestión de memoria que ya existían, así como para proporcionar una interfaz uniforme para los programas cliente.

La primera de estas interfaces fue la Interfaz de Programa de Control Virtual (VCPI), pero rápidamente fue eclipsada por la especificación de Interfaz de Modo Protegido DOS (DPMI), que surgió a partir del desarrollo de Windows 3.0. [1] Proporcionaban una API a través de la cual un programa extendido podía interactuar con software de modo real, asignar memoria y manejar servicios de interrupción. También proporcionaban un método fácil para que el extensor configurara el interruptor al modo protegido y permitían que varios programas en modo protegido coexistieran pacíficamente.

Extensores DOS

  • DOS/4G y DOS/4GW y DOS/16M de Tenberry Software, Inc.
  • 286|DOS Extender y 386|DOS Extender de Phar Lap . Más tarde reemplazado por el TNT Dos Extender.
  • PROT de Al Williams, un extensor DOS de 32 bits publicado en el Dr. Dobb's Journal [2] [3] y en dos libros. [4] [5] Este extensor tenía la virtud de ejecutar llamadas DOS y BIOS en modo emulado en lugar de volver al modo real.
  • CauseWay era un extensor propietario que competía con DOS4G. A partir de 2000 se lanzó como código abierto. Algunos juegos poco comunes, como Daggerfall, lo utilizan.
  • DOS/32 como alternativa a DOS/4G por Narech K.
  • Extensores OS/286 y OS/386 de Ergo (anteriormente Eclipse, anteriormente AI Architects) y servidores DPM16 y DPM32
  • 386Power 32-bit DOS Extender es un extensor para aplicaciones de ensamblaje de 32 bits . Incluye código fuente .
  • Todas las versiones de Microsoft Windows desde 1990, excepto la rama NT , incluyen un servidor DPMI y un extensor DOS. [6]
  • HX DOS Extender ofrece compatibilidad limitada con Win32 para permitir que la consola de Windows (como Far Manager ) y algunas aplicaciones GUI de Win32 se ejecuten en DOS. Contiene servidores DPMI de 16 y 32 bits (HDPMI16/HDPMI32) para usar con programas DOS en modo protegido [7]
  • DosWin32 ofrece soporte limitado para Win32
  • WDosX fue una implementación temprana del soporte limitado de Win32, utilizado por el compilador TMT Pascal.
  • Borland Power Pack era un extensor incluido con algunas de sus suites de desarrollo que podía acceder a una parte limitada de la API de Win32.
  • TASM , también de Borland, incluyó 32RTM con DPMI32VM y RTM con DPMI16BI, dos hosts DPMI.
  • CWSDPMI de Charles W. Sandmann, un servidor DPMI para utilizar con programas DJGPP DOS en modo protegido de 32 bits .
  • QDPMI de Quarterdeck Office Systems , era un host DPMI incluido con QEMM .
  • GO32, utilizado en versiones anteriores (pre-v2) de DJGPP y Free Pascal
  • D3X es un servidor DPMI escrito íntegramente en lenguaje ensamblador . Aún se encuentra en fase alfa, pero se discontinuó antes de su finalización.
  • DPMIONE es otro servidor DPMI. Originalmente desarrollado para programas de 32 bits generados por Borland C++ y Delphi.
  • DBOS de Salford Software, un extensor DOS de modo protegido de 32 bits utilizado principalmente por su compilador Fortran FTN77 [8]
  • X32 y X32VM de FlashTek y compatibles como objetivo con los compiladores de Digital Mars
  • BLINKER de Blink Inc. La versión 3 y posteriores ofrecían un extensor DOS 286 para varios compiladores DOS de 16 bits, incluidos CA-Clipper, Microsoft C/C++, PASCAL, FORTRAN y Borland C/C++. Se admitían ejecutables únicos de "modo dual" capaces de ejecutarse en modo real o protegido según el entorno de ejecución.
  • EMX
  • PMODE/W, un extensor DOS protegido de 32 bits para el compilador C/C++ de Watcom, recientemente convertido en código abierto desde julio de 2023. [9]

Aplicaciones extendidas de DOS notables

Referencias

  1. ^ Duncan, Ray; Petzold, Charles ; Schulman, Andrew; Baker, M. Steven; Nelson, Ross P.; Davis, Stephen R.; Moote, Robert (1992). Extending DOS: A Programmer's Guide to Protected-Mode DOS (2.ª ed.). Addison-Wesley Publishing Company, Inc., págs. 433–462. ISBN 0-201-56798-9.
  2. ^ Williams, Al (octubre de 1990). "Desarrolle su propio extensor DOS: Parte I". Revista del Dr. Dobb . 15 (10). CMP Technology : 16–18, 20, 24. ISSN  1044-789X.
  3. ^ Williams, Al (noviembre de 1990). "Desarrolle su propio extensor DOS: Parte II". Revista del Dr. Dobb . 15 (11). CMP Technology : 74, 76, 80, 81–83, 85, 122–128, 130. ISSN  1044-789X.
  4. ^ Williams, Al (1991). DOS 5: Guía del desarrollador . Redwood City, California, Estados Unidos: Markt&Technik . ISBN 1-55851-177-6.
  5. ^ Williams, Al (1993). DOS 6: Guía del desarrollador . Mercado y Technik. ISBN 1-55851-309-4.
  6. ^ Williams, Al (1993). Modo protegido de DOS y Windows: Programación con extensores de DOS en C. Addison -Wesley . pág. 30. ISBN. 0-201-63218-7.
  7. ^ "Extensor HX DOS".
  8. ^ Compilador Fortran FTN77
  9. ^ Charles Scheffold, Tomasz Pytel. "PMODE/W" . Consultado el 13 de diciembre de 2023 .
  • "DOS Extender en la wiki de FreeDOS". Archivado desde el original el 2 de marzo de 2009. Consultado el 12 de agosto de 2009 .{{cite web}}: CS1 maint: unfit URL (link)
  • HX-DOS
  • Lista de extensores DOS de The Free Country
Retrieved from "https://en.wikipedia.org/w/index.php?title=DOS_extender&oldid=1247422414"