Virtual Control Program Interface

Software-Schnittstelle, die den gleichzeitigen Ablauf mehrerer DOS-Programme sowie die direkte Adressierung des Erweiterungsspeichers im geschützten Modus erlaubt. From Wikipedia, the free encyclopedia

Das Virtual Control Program Interface bzw. kurz VCPI ist ein Standard für DOS-Extender, der von Phar Lap Software und Quarterdeck Office Systems in einem joint development agreement[1] ab 1987 gemeinsam entwickelt wurde.[2][3] VCPI benötigt einen 80386-kompatiblen x86-Prozessor.[4] VCPI wurde von den meisten DOS-Extendern übernommen und im April 1989 als Industriestandard akzeptiert,[3] bevor es nach 1990 vom DOS Protected Mode Interface (DPMI) weitestgehend abgelöst wurde. Zur Wahrung der Kompatibilität mit bestehender DOS-Software unterstützen die meisten DOS-Extender weiterhin VCPI.

Die verbreitete DOS-Speicherverwaltung EMM386 stellt ab der in MS-DOS 5.0, Windows 3.1 und DR DOS 6.0 enthaltenen Version VCPI zur Verfügung.

Entwicklung

Quarterdeck nutzte für dessen grafischen Aufsatz für DOS, DESQview/386, den Speichermanager QEMM-386. Um auch in DESQview von den erweiterten Fähigkeiten des 80386 Gebrauch machen zu können, musste der DOS-Extender von Phar Lap fit für den Betrieb unter Multitasking-Bedingungen gemacht werden.[1]

Ab 1989 wurde daraus das Virtual Control Program Interface (VCPI), das auch von anderen DOS-Extendern als Industriestandard implementiert wurde. Per VCPI sind Protected-Mode-Programme untereinander kompatibel und können mit Speichermanagern wie 386Max und QEMM auch unter reinem DOS verwendet werden.[3]

Technik

Software-seitig besteht VCPI aus zwei Teilen:[5]

  1. einem Server, der immer ein Speichermanager für EMS 4.0 sein muss. Dieser regelt den gemeinsamen Zugriff auf den Expanded Memory (daher EMS), der auf einem 80386 im Extended Memory emuliert werden kann.
  2. mindestens einem Client, das ist jenes Programm, das per DOS-Extender im Protected Mode läuft und dabei die Funktionen des VCPI-Servers nutzt, damit mehrere Clients sich nicht gegenseitig stören.

Schwächen und Nachfolge

Einer der Nachteile von VCPI ist, dass es nicht im 16-Bit-Protected-Mode des 80286 verwendet werden kann. Daher sind DOS-Extender wie DOS/16M nicht VCPI-kompatibel. Es ist auch nicht voll Multitasking-fähig und daher inkompatibel zum „386 Erweiterten Modus“ von Windows 3.x und Windows 9x.[6] Obwohl viele DOS-Programme, die einen DOS-Extender nutzen, Kompatibilität mit VCPI herstellten, wurde es ausgerechnet von Microsoft nicht unterstützt.[3]

Gerade als an einer Erweiterung von VCPI gearbeitet wurde, einer zweiten Generation „Extended VCPI“ (XVCPI), stellte Microsoft die erste Testversion von Windows 3.0 mit inkludiertem DPMI vor. Um eine Fragmentierung des DOS-Extender-Marktes zu verhindern gab Microsoft die Spezifikation von DPMI frei, woraufhin die Unterstützer von XVCPI zu DPMI überwechselten.[7]

Implementierungen

Unter PC-kompatiblem DOS gibt es nur drei verbreitete EMS-Speichermanager, die als VCPI-Server fungieren:

  • 386MAX ab Version 4
  • EMM386, zumindest implementiert von:
    • Microsoft in MS-DOS/PC DOS ab Version 5.0
    • Microsoft in Windows 3.1 und neueren Windows-3.x-Versionen und Windows 9x
    • Digital Research in DR DOS ab Version 6.0
  • QEMM ab Version 5

Kompatible DOS-Extender fungieren als Clients, wenn ein Server verfügbar ist.

Einzelnachweise

Related Articles

Wikiwand AI