stringtranslate.com

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 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 cambio al modo protegido y permitían que varios programas en modo protegido coexistieran pacíficamente.

Extensores DOS

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". Diario 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: A Developer's Guide (Dos 5: guía para desarrolladores ). Redwood City, California, EE. UU.: 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 .

Enlaces externos