En informática, la Interfaz de programa de control virtual ( VCPI ) es una especificación publicada en 1989 por Phar Lap Software que permite que un programa DOS se ejecute en modo protegido , otorgando acceso a muchas características del procesador que no están disponibles en modo real . Fue suplantado 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 .
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 Los extensores DOS en modo protegido 80386 coexistirán con los emuladores de memoria expandida 80386 EMS. Fue eclipsado por DPMI, sobre todo porque no era compatible con programas 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 frustró el propósito de la protección x86. Tampoco funcionó 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] Modo estándar (modo 286) Windows 3.1 (pero no 3.0) era compatible con VCPI (era un cliente VCPI). [5] Anteriormente, Windows/386 2.1 no era compatible con extensores de DOS en absoluto. La caja DOS de Windows NT tampoco era compatible con VCPI. [6]
VCPI también tenía un alcance comparativamente limitado en el sentido de que permitía que un programa DOS en modo protegido se ejecutara solo cuando el programa se iniciaba desde DOS que ya se estaba ejecutando dentro de una tarea en modo virtual 8086 . (Esto generalmente se lograba a través de un administrador de memoria que operaba 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 al modo protegido sin algún soporte de el programa de control.
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 empresas, incluido el Software Focus Group de Intel . [7] [9] [10] Lotus , [7] Digital Research , [7] Interactive Systems , Viewport International y otros para abordar algunas de las deficiencias de VCPI y explotar mejor la gestión de memoria y las capacidades multitarea del procesador 386. [10] Fue utilizado por una pequeña cantidad de productos, incluidos sistemas operativos como Interactive Unix y Concurrent DOS 386 . [nb 1] Desde febrero de 1990 [7] estos esfuerzos finalmente sucumbieron al desarrollo (paralelo) y la publicación de la especificación DPMI en mayo de 1990, que abordó problemas similares, pero era compatible con la implementación de Microsoft Windows 3.0 que se lanzaría el 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]
INT 67h, AH=DEh
AX=DE40h; INT 67h;
AX=DE43h; INT 67h;
Muchas aplicaciones basadas en MS-DOS utilizan la especificación de interfaz de programa de control virtual (VCPI) […] Estos programas no funcionan con Microsoft Windows versión 3.0 en modo 386 mejorado. Funcionan en Windows en modo real y pueden funcionar en modo estándar.[ enlace muerto ]
Estos programas utilizan VCPI […] para acceder a la memoria extendida que entra en conflicto con Windows en modo protegido (estándar y mejorado).
[…] una aplicación basada en MS-DOS que utiliza memoria extendida probablemente no podrá ejecutarse en el cuadro de MS-DOS en modo estándar.
Es posible ejecutar algunas aplicaciones VCPI en modo estándar.
El modo estándar Windows 3.1 es compatible con VCPI; El modo estándar de Windows 3.0 no lo es.
VCPI […] no es compatible con Windows NT.
[…] Los creadores del 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 de prueba de
Windows 3.0
y su
DPMI.
. Durante unos meses pareció que el incipiente mercado
de extensores de DOS
se fragmentaría en dos direcciones mutuamente excluyentes […] Microsoft entregó el control de la especificación DPMI a un comité industrial con membresía abierta, y los partidarios del esfuerzo XVCPI decidieron unir fuerzas detrás el DPMI. […] Microsoft acordó eliminar las partes del DPMI que cruzaron al territorio del extensor de DOS, específicamente, el soporte directo de las interrupciones del
BIOS de DOS y ROM
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 sólo las funciones básicas o de bajo nivel […] Naturalmente, el nivel superior o interfaz extensora de DOS de Windows 3.0 todavía existe, pero ha retrocedido a la zona oscura de la funcionalidad no documentada. Indocumentados, pero difícilmente inutilizables […]
El prototipo DPMI inicial fue desarrollado por Microsoft para Windows versión 3.0, con aportes de Lotus Corporation y Rational Systems, como parte de un esfuerzo general para mejorar el rendimiento de Windows permitiendo que el kernel de Windows se ejecute 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 funciones de protección y virtualización del 80386. En febrero de 1990, las partes involucradas en las actividades anteriores acordaron formar el Comité DPMI y formular un estándar para toda la industria para aplicaciones DOS en modo protegido. El Comité publicó la primera Especificación DPMI pública, Versión 0.9 en mayo de 1990.
[…] En 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 a VCPI que se habría llamado XVCPI (X para Extendido) cuando Microsoft lanzó copias beta de
Windows 3.0
[…] Incluido en Windows 3 está DPMI, o
Interfaz de Modo Protegido de DOS
, una solución más general para ejecutar aplicaciones en modo protegido, extendido para DOS y en modo real simultáneamente. Al principio, DPMI parecía un competidor de XVCPI y había amenazas de demandas y caos en el campo de los extensores de DOS. Cuando Microsoft entregó el control de DPMI a un comité industrial con membresía abierta, los partidarios del XVCPI se unieron al comité, convirtiendo a DPMI en un estándar industrial de facto. […] DPMI versión 0.9 apareció en Windows 3.0 […]