コンテンツにスキップ

Virtual Control Program Interface

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Niboshi (会話 | 投稿記録) による 2007年6月22日 (金) 17:29個人設定で未設定ならUTC)時点の版 (fix cat)であり、現在の版とは大きく異なる場合があります。

VCPI (Virtual Control Program Interface) はIA32仮想86モードを使用してソフトウェア的に実現したEMSマネージャーとプロテクトモードアプリケーション(主としてDOSエクステンダ)を共存させるための規格である。

概要

MS-DOSでは、アクセス可能なメモリ空間(コンベンショナルメモリ)は、最大でも640KB(IBM PC互換機およびPC-9800シリーズ等)から768KB(PC-H98等)であった。 やがてメモリ容量が不足してくると、ハードウェアによるバンク切替え機能を持つ専用メモリカードを利用してEMS等のメモリ拡張方法が利用され始めた。 一方、80286上位互換のCPUではプロテクトメモリが利用できるために、メモリ不足を補う方法としてソフトウェアエミュレーション技術を使用したEMS(ソフトウェアEMS)やDOSエクステンダが登場した。

ところが、IA32仮想86モードを使用したソフトウェアEMSの環境下では、次のような問題が発生したためにDOSエクステンダーを動作することが出来なかった。

そこでこれらの問題を解決して、仮想86モードを使用したEMSマネージャーとDOSエクステンダを共存させるための規格が、EMSマネージャーのメーカである Quarterdeck Office Systems とDOSエクステンダのメーカーである Phar Lap Software, Inc. の間で策定された。

これが VCPI である。

VCPIはLIM-EMS 4.0 規格の int67h ファンクションコールを拡張する形でEMSマネージャーにVCPI サーバーが実装され、VCPIサーバーのファンクションコールをDOSエクステンダが呼び出すことにより、DOSエクステンダはプロテクトメモリの獲得、割り込みコントローラーの設定、仮想86モードプロテクトモード間のモード遷移を行う。

VCPIは極めて簡素であるために EMSマネージャー、DOSエクステンダーの両者共に最小限の修正で実現が可能だった。しかしながら、VCPI はプロテクトモードアプリケーションを特権レベル0で動作をさせてしまうために、マルチタスクOSの仮想DOSマシンでサポートする規格としてはセキュリティー等の問題があるために不適だった。

関連項目

参考文献

  • 『MS-DOSメモリ管理ソフト技法-メモリ常駐ソフト&拡張メモリ活用プログラミング』(CQ出版、1990年), ISBN 978-4789834841
  • 「インターフェース 1990年9月号」(CQ出版)
  • 「インターフェース 1993年10月号」(CQ出版)
  • Duncan, Ray (1992). Extending-DOS:A Programmer's Guide to Protected-Mode DOS(Addison-Wesley), ISBN 0-201-56798-9

外部リンク