Jump to content

VCPI

From EDM2
Revision as of 23:27, 21 March 2018 by Ak120 (talk | contribs)

The Virtual Control Program Interface (VCPI) is a specification that allows a DOS program to run in protected mode on 80386 and higher processors. It never gained any real popularity as it was not compatible with either OS/2 nor Microsoft Windows protected mode but is noticeable and something you can on occasion come across especially with development tools as vendors of more complex packages such as Ada compilers balked at the cost of getting systems re-verified with DPMI support that had already been verified with VCPI extenders. Development of the standard was done primarily by Phar Lap and Quarterdeck with input from companies such as A.I. Architects, Intel, Lotus Development Corporation, Quadram, Qualitas and Rational Systems.

VCPI is built on a client/server metaphor, where services are provided by a server, typically in the form of an expanded memory manager that allocates memory resources to a DOS client, its scope is however more limited than with most other protected mode DOS extenders as it only allows a protected mode DOS program to run if it started from DOS that is already running inside a virtual 8086 task, so it is not possible for the client DOS program to switch from real mode to protected mode without support from the server. Also VCPI runs programs in Ring 0 only which precludes some more advanced features offered by v86 and means it will not run on systems that take control of Ring0 such as OS/2, Windows NT and so on.

Extended VCPI (XVCPI)

An update to the specification proposed by Intel, Lotus, Digital Research and Interactive Systems that was supposed to address some of the shortcomings of the VCPI standard and in particular to allow programs to use the multitasking features of the 386 processor. It was used in operating systems like Interactive Unix, Concurrent DOS 386 and Multiuser DOS, but the standard was later merged with the DPMI standard effort.

Links and documentation