En informática, la Interfaz de Programación de Control Virtual ( VCPI ) es una especificación publicada en 1989 por Phar Lap Software que permite que un programa de DOS se ejecute en modo protegido , otorgando acceso a muchas funciones del procesador que no están disponibles en modo real . Fue reemplazada por la Interfaz de Modo Protegido de DOS (DPMI) poco después de su introducción, debido en gran parte a la incapacidad de VCPI para funcionar en el modo protegido de Windows 3.0 .
Descripción general
Desarrollado desde 1987 en cooperación con Quarterdeck Office Systems y con el apoyo de AI Architects , Lotus Development Corp. , Quadram , Qualitas y Rational Systems , VCPI es proporcionado por un administrador de memoria expandida en DOS (por ejemplo, CEMM , QEMM , más tarde EMM386 ) y permite que los extensores de DOS en modo protegido 80386 coexistan con los emuladores de memoria expandida EMS 80386. Fue eclipsado por DPMI, principalmente porque no era compatible con programas de DOS ejecutados en el modo protegido nativo de Windows 3.0 (llamado modo mejorado 386 ) y porque VCPI ejecuta programas en Ring 0, lo que anulaba el propósito de la protección x86 . Tampoco funcionaba con OS/2 2.0 y posteriores. VCPI solo era compatible con el modo real de Windows 3.0, [ 1 ] algunos programas podían ejecutarse en el modo estándar de Windows 3.x. [ 2 ] [ 3 ] [ 4 ] El modo estándar (modo 286) de Windows 3.1 (pero no el 3.0) era compatible con VCPI (era un cliente VCPI). [ 5 ] Las versiones anteriores de Windows/386 2.1 no eran compatibles con los extensores de DOS. El cuadro de DOS de Windows NT tampoco era compatible con VCPI. [ 6 ]
VCPI también tenía un alcance relativamente limitado, ya que permitía que un programa DOS en modo protegido se ejecutara únicamente cuando se iniciaba desde DOS que ya se ejecutaba dentro de una tarea en modo virtual 8086. (Esto se lograba normalmente mediante un administrador de memoria que funcionaba como un programa de control de modo virtual para el procesador). Debido a que el modo virtual 8086 aísla los programas del hardware, no es posible que un programa cambie a modo protegido sin algún tipo de soporte del programa de control.
VCPI extendido
Entre 1989 y febrero de 1990 [ 7 ] se propuso una especificación alternativa bajo el nombre Extended VCPI [ 8 ] [ 9 ] [ 10 ] ( XVCPI [ 8 ] [ 9 ] [ 11 ] ) por varias compañías, incluyendo Intel's Software Focus Group , [ 7 ] [ 9 ] [ 10 ] Lotus , [ 7 ] Digital Research , [ 7 ] Interactive Systems , Viewport International y otras para abordar algunas de las deficiencias de VCPI y explotar mejor la administración de memoria y las capacidades de multitarea del procesador 386. [ 10 ] Fue utilizada por una pequeña cantidad de productos, incluyendo sistemas operativos como Interactive Unix y Concurrent DOS 386 . [ nb 1 ] Desde febrero de 1990, [ 7 ] estos esfuerzos finalmente sucumbieron al desarrollo y publicación (paralelos) de la especificación DPMI en mayo de 1990, que abordaba problemas similares, pero era compatible con la implementación de Microsoft Windows 3.0 que se lanzaría ese mismo año. En febrero de 1991, la Federación Multiusuario de DOS (MDOS), una iniciativa formada en julio de 1990, [ 12 ] emitió una declaración sobre su apoyo a DPMI. [ 7 ]
Véase también
Notas
- ↑ Nota: Al igual que VCPI, la API XVCPI se basa en, pero tiene un conjunto diferente de números de función. Verificación de instalación de XVCPI:
INT67h,AH=DEh- Aporte
AX=DE40h;INT67h;- Devolver
- AH =00h (instalado); BH =versión principal, BL =subversión.
- Aporte
AX=DE43h;INT67h;- Devolver
- DX = número de páginas gratuitas de 4 KB.
Referencias
- ↑ "KB81493: Uso de programas VCPI con Windows" . Microsoft Corporation .
Muchas aplicaciones basadas en MS-DOS utilizan la especificación de la Interfaz de Programación de Control Virtual (VCPI) [...]. Estos programas no funcionan con Microsoft Windows versión 3.0 en modo mejorado 386. Funcionan en Windows en modo real y pueden funcionar en modo estándar.
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ "KB64478: Mathematica 387 y Mathlab 386 con Windows 3.0" . Microsoft Corporation . Archivado del original el 26/10/2012.
Estos programas utilizan VCPI [...] para acceder a memoria extendida, lo que genera conflictos con Windows en modo protegido (estándar y mejorado).
- ↑ "KB82298: Modo estándar de Windows 3.1 y VCPI" . Microsoft Corporation . Archivado del original el 9 de marzo de 2013.
[...] una aplicación basada en MS-DOS que utiliza memoria extendida probablemente no se ejecutará en el modo estándar de MS-DOS.
- ↑ "KB86018: Windows 3.1 tiene soporte limitado para VCPI" . Microsoft Corporation . Archivado del original el 26/10/2012.
Es posible ejecutar algunas aplicaciones VCPI en modo estándar.
- ↑ "KB81476: Clientes de MS-DOS que desean Windows 3.1 EMM386.EXE" . Microsoft Corporation . Archivado del original el 26/10/2012.
El modo estándar de Windows 3.1 cumple con VCPI; el modo estándar de Windows 3.0 no.
- ↑ "KB101780: VCPI no es compatible con Windows NT" . Microsoft Corporation . Archivado del original el 26/10/2012.
VCPI […] no es compatible con Windows NT.
- 1 2 3 4 5 6 Wurthmann, Gerold; Wopperer, Bernhard; Wiesböck, Johann (1991). "Die DPMI-Spezifikation – Eine Einführung" [ Introducción a la especificación DPMI ] . Vorträge und Begleittexte zum 2. Entwicklerforum der Design & Elektronik zum Thema: PC-Architektur, 17 de septiembre de 1991, Múnich [ Presentaciones y material complementario para el segundo foro de desarrolladores sobre arquitectura de PC el 17 de septiembre de 1991, Múnich ] (libro) (en alemán) (1 ed.). Múnich, Alemania: Markt & Technik Verlag Aktiengesellschaft . pag. 223. (Nota: El foro fue organizado por la revista alemana Design & Elektronik e Intel ).
- 1 2 Duncan, Ray (1991-02-12). "Power Programming - An Introduction to the DOS Protected Mode Interface" . PC Magazine . 10 (3): 367– 371, 369. Recuperado el 2016-05-21 .
[…] Los creadores de VCPI eran muy conscientes de sus limitaciones y ya estaban trabajando arduamente en una especificación de segunda generación llamada
Extended VCPI
(XVCPI), cuando
Microsoft
irrumpió en escena con las versiones beta-test de
Windows 3.0
y su
DPMI
. Durante algunos meses pareció que el incipiente mercado
de extensores de DOS
se fragmentaría en dos direcciones mutuamente excluyentes […] Microsoft cedió el control de la especificación DPMI a un comité de la industria con membresía abierta, y los patrocinadores del esfuerzo XVCPI decidieron unir fuerzas detrás de DPMI. […] Microsoft acordó eliminar las partes de DPMI que cruzaban al territorio de los extensores de DOS, específicamente, el soporte directo de las
interrupciones de DOS y
ROM BIOS en
modo protegido
. En consecuencia, DPMI, versión 0.9, la primera versión pública, publicada por el Comité DPMI en mayo de 1990, define únicamente las funciones de bajo nivel o bloques de construcción […] Naturalmente, la interfaz de nivel superior o de extensión de DOS de Windows 3.0 aún existe, pero ha quedado relegada a la zona gris de la funcionalidad no documentada. No documentada, pero difícilmente inutilizable […]
- 1 2 3 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 (2.ª ed.). Addison-Wesley Publishing Company, Inc. ISBN 0-201-56798-9.
- 1 2 3 El Comité DPMI (1991-03-12). Especificación de la interfaz de modo protegido de DOS (DPMI) - Versión 1.0 - Interfaz de programación de aplicaciones (API) para aplicaciones DOS de modo protegido (PDF) . 1.0. Intel . págs. 4–5 . Código de pedido de Intel 240977-001. Archivado del original (PDF) el 31-05-2013 . Recuperado el 24-05-2013 .
El prototipo inicial de DPMI fue desarrollado por Microsoft para Windows versión 3.0, con aportaciones de Lotus Corporation y Rational Systems, como parte de un esfuerzo general para mejorar el rendimiento de Windows al permitir que el núcleo de Windows se ejecutara en memoria extendida. Paralelamente, Intel estaba trabajando con fabricantes de entornos multitarea, emuladores EMS y extensores de DOS para garantizar que una especificación VCPI extendida pudiera utilizar plenamente las características de virtualización y protección del 80386. En febrero de 1990, las partes involucradas en las actividades mencionadas acordaron formar el Comité DPMI y formular un estándar industrial para aplicaciones DOS en modo protegido. El Comité publicó la primera especificación DPMI pública, la versión 0.9, en mayo de 1990.
- ↑ Brothers, Hardin (noviembre de 1992). "Rompiendo la barrera de 1M/640K: acceso y uso de memoria extendida desde aplicaciones DOS" (PDF) . ComputerCraft . 2 (11): 16–21 , 20. 0-74820-08559-11 . Recuperado el 21 de mayo de 2016. […] Para 1990 ,
el estándar VCPI había sido adoptado por prácticamente todos los programas basados en DOS que eran específicos de las CPU 386 y 486, excepto los programas de
Microsoft
. El comité VCPI estaba trabajando en una actualización de VCPI que se habría llamado XVCPI (X de Extended) cuando Microsoft lanzó copias beta de
Windows 3.0
[…] En Windows 3 se incluye DPMI, o
Interfaz de Modo Protegido de DOS
, una solución más general para ejecutar simultáneamente aplicaciones en modo protegido, DOS extendido y modo real. Al principio, DPMI parecía un competidor de XVCPI, y existían amenazas de demandas y caos en el campo de los extensores de DOS. Cuando Microsoft cedió el control de DPMI a un comité de la industria con membresía abierta, los partidarios de XVCPI se unieron al comité, convirtiendo a DPMI en un estándar de facto de la industria. […] La versión 0.9 de DPMI apareció en Windows 3.0 […]
- ↑ "NetWorld 90 - NetWorld: Respuestas de múltiples proveedores" . Communications News . Nelson Publishing / Gale, Cengage Learning. 1 de noviembre de 1990. Archivado del original el 20 de agosto de 2018. Consultado el 10 de septiembre de 2014 .
Lecturas adicionales
- Interfaz de programa de control virtual: Versión 1.0 . 1.0. Phar Lap Software , Quarterdeck Office Systems . 12 de junio de 1989. Consultado el 21 de mayo de 2016 .
- Tecnología DOS
- Gestión de memoria de DOS
- extensores de DOS