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 funciones del procesador que no están disponibles en modo real . Fue reemplazado 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 trabajar en el modo protegido de Windows 3.0 .
Estado | Publicado |
---|---|
Año iniciado | 1989 |
Organización | Phar Lap Software , Quarterdeck Office Systems , AI Architects, Lotus Development Corp. , Quadram, Qualitas, Rational Systems |
Dominio | Interfaces de programación de aplicaciones |
Abreviatura | VCPI |
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 expandido en DOS (por ejemplo , CEMM , QEMM , más tarde EMM386 ). Fue eclipsado por DPMI, sobre todo porque no era compatible con programas de DOS que se ejecutaban 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 funcionó con OS / 2 2.0 y posteriores. VCPI solo se admitía en 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) en sí mismo era compatible con VCPI (era un cliente de VCPI). [5] Las versiones anteriores de Windows / 386 2.1 no eran compatibles con los extensores de DOS. 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 de DOS en modo protegido se ejecutara solo cuando el programa se iniciaba desde DOS que ya se estaba ejecutando dentro de una tarea de modo 8086 virtual . (Esto se lograba típicamente 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 8086 virtual aísla los programas del hardware, no es posible que un programa cambie al modo protegido sin algún apoyo de el programa de control.
VCPI extendido
Entre 1989 y febrero de 1990 [7] se propuso una especificación alternativa con 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 y otros para abordar algunas de las deficiencias de VCPI y aprovechar 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 fue compatible con la implementación de Microsoft Windows 3.0 para ser lanzado al mismo año. En febrero de 1991, la Multiuser DOS Federation (MDOS), una iniciativa formada en julio de 1990, [12] emitió una declaración sobre su apoyo a DPMI. [7]
Ver también
- Interfaz de modo protegido de DOS (DPMI)
- Servicios de modo protegido de DOS (DPMS)
Notas
- ^ NB. Al igual que VCPI, la API XVCPI se encuentra en la parte superior, pero tiene un conjunto diferente de números de función. Comprobación de instalación de XVCPI:
INT 67h, AH=DEh
- Aporte
AX=DE40h; INT 67h;
- Regreso
- AH = 00h (instalado); BH = versión principal, BL = subversión.
- Aporte
AX=DE43h; INT 67h;
- Regreso
- 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 Interfaz de programa de control virtual (VCPI) […] Estos programas no funcionan con Microsoft Windows versión 3.0 en el modo 386 mejorado. Funcionan en Windows en modo real y pueden funcionar en modo estándar.
- ^ "KB64478: Mathematica 387 y Mathlab 386 con Windows 3.0" . Microsoft Corporation . Archivado desde el original el 26 de octubre de 2012.
Estos programas usan el VCPI […] para acceder a la memoria extendida que entra en conflicto con Windows en modo protegido (estándar y mejorado).
- ^ "KB82298: Modo estándar de Windows 3.1 y VCPI" . Microsoft Corporation . Archivado desde el original el 9 de marzo de 2013.
[…] Una aplicación basada en MS-DOS que usa memoria extendida probablemente no se ejecutará en la caja de MS-DOS en modo estándar.
- ^ "KB86018: Windows 3.1 tiene soporte limitado para VCPI" . Microsoft Corporation . Archivado desde el original el 26 de octubre de 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 desde el original el 26 de octubre de 2012.
El modo estándar Windows 3.1 es compatible con VCPI; el modo estándar Windows 3.0 no lo es.
- ^ "KB101780: VCPI no compatible con Windows NT" . Microsoft Corporation . Archivado desde el original el 26 de octubre de 2012.
VCPI […] no es compatible con Windows NT.
- ^ a b c d e f 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ünchen [ Presentaciones y material complementario para el segundo foro de desarrolladores sobre arquitectura de PC el 17 de septiembre de 1991, Munich ] (libro) (en alemán ) (1 ed.). Múnich, Alemania: Markt & Technik Verlag Aktiengesellschaft . pag. 223.(NB. El foro fue organizado por la revista alemana Design & Elektronik e Intel ).
- ^ a b Duncan, Ray (12 de febrero de 1991). "Programación de energía: una introducción a la interfaz de modo protegido de DOS" . Revista de PC . 10 (3): 367–371, 369 . Consultado el 21 de mayo de 2016 .
[…] 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 de prueba beta 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é de la industria con membresía abierta, y los patrocinadores del esfuerzo XVCPI decidieron unir fuerzas para respaldar el DPMI. […] Microsoft acordó eliminar las partes de la DPMI que cruzaron al territorio del extensor de DOS, específicamente, el soporte directo de las interrupciones de BIOS de DOS y ROM en modo protegido . En consecuencia, DPMI, Versión 0.9, la primera versión pública, lanzada por el Comité DPMI en mayo de 1990, define solo las funciones de bajo nivel o de bloque de construcción […] Naturalmente, el nivel superior o la interfaz de extensión DOS de Windows 3.0 todavía existe, pero ha retrocedido a la zona de penumbra de la funcionalidad indocumentada. Indocumentado, pero difícilmente inutilizable […]
- ^ a b c Duncan, Ray; Petzold, Charles ; Schulman, Andrew; Baker, M. Steven; Nelson, Ross P .; Davis, Stephen R .; Moote, Robert (1992). Ampliación de DOS: Guía del programador para DOS en modo protegido . 2 (2 ed.). Addison-Wesley Publishing Company, Inc. ISBN 0-201-56798-9.
- ^ a b c El Comité DPMI (1991-03-12). Especificación de la interfaz de modo protegido de DOS (DPMI) - Versión 1.0 - Interfaz de programa de aplicación (API) para aplicaciones de DOS en modo protegido (PDF) . 1.0. Intel . págs. 4-5. Código de pedido de Intel 240977-001. Archivado desde el original (PDF) el 31 de mayo de 2013 . Consultado el 24 de mayo de 2013 .
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 DOS para garantizar que una especificación VCPI extendida pudiera utilizar completamente las funciones 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 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.
- ^ 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 . Consultado 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é de 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á el DPMI, o Interfaz de modo protegido de DOS , una solución más general para ejecutar aplicaciones en modo protegido, extendidas por 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é de la industria con membresía abierta, los partidarios de XVCPI se unieron al comité, lo que convirtió a DPMI en un estándar industrial de facto. […] La versión 0.9 de DPMI apareció en Windows 3.0 […]
- ^ "NetWorld 90 - NetWorld: respuestas de múltiples proveedores" . Noticias de comunicaciones . Nelson Publishing / Gale, Cengage Learning. 1990-11-01. Archivado desde el original el 20 de agosto de 2018 . Consultado el 10 de septiembre de 2014 .
Otras lecturas
- Interfaz del programa de control virtual: Versión 1.0 . 1.0. Phar Lap Software , Quarterdeck Office Systems . 1989-06-12 . Consultado el 21 de mayo de 2016 .