|
VCPI (Virtual Control Program Interface) はIA-32の仮想86モードを使用してソフトウェア的に実現したEMSマネージャーとプロテクトモードアプリケーション(主としてDOSエクステンダ)を共存させるための規格である。 ==概要== MS-DOSでは、アクセス可能なアドレス空間(コンベンショナルメモリ)は、最大でも640KB (IBM PC互換機およびPC-9800シリーズ等) から768KB (PC-H98等) であった。やがてメモリ容量が不足してくると、ハードウェアによるバンク切り換え機能を持つ専用メモリカードを利用してEMS等のメモリ拡張方法が利用され始めた。一方、80286上位互換のCPUではプロテクトメモリが利用できるために、メモリ不足を補う方法としてソフトウェアエミュレーション技術を使用したEMS (ソフトウェアEMS) やDOSエクステンダが登場した。 ところが、IA-32の仮想86モードを使用したソフトウェアEMSの環境下では、次のような問題が発生したためにDOSエクステンダを動作することが出来なかった。 *MS-DOSが仮想86モードで動作しているために、リアルモードからプロテクトモードへの切替えを想定されて開発されたDOSエクステンダは、特権命令を使用できないためプロテクトモードへ切替える方法が無かった。 *ソフトウェアEMSが全てのプロテクトメモリを獲得してしまうためにDOSエクステンダが利用可能なプロテクトメモリが存在しなかった。 *プロテクトモード環境下では、割り込みコントローラーはリアルモードと異なる設定をしなくてはならないが、標準的な管理方法が無かった。 そこでこれらの問題を解決して、仮想86モードを使用したEMSマネージャーとDOSエクステンダを共存させるための規格が、EMSマネージャーのメーカである Quarterdeck Office Systems とDOSエクステンダのメーカーである Phar Lap Software, Inc. の間で策定された。 これが VCPI である。 VCPIはLIM-EMS 4.0 規格の int 67h ファンクションコールを拡張する形でEMSマネージャーにVCPI サーバが実装され、VCPIサーバのファンクションコールをDOSエクステンダが呼び出すことにより、DOSエクステンダはプロテクトメモリの獲得、割り込みコントローラーの設定、仮想86モードとプロテクトモード間のモード遷移を行う。 VCPIは極めて簡素であるために EMSマネージャー、DOSエクステンダの両者共に最小限の修正で実現が可能だった。しかしながら、VCPI はプロテクトモードアプリケーションを特権レベル0で動作をさせてしまうために、マルチタスクOSの仮想DOSマシンでサポートする規格としてはセキュリティー等の問題があるために不適だった。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「VCPI」の詳細全文を読む スポンサード リンク
|