DOS Protected Mode Interface

DOS Protected Mode Interface (DPMI) は、マルチタスクオペレーティングシステム (OS)(または擬似マルチタスクOS)の仮想DOSマシ…

DOS Protected Mode Interface

DOS Protected Mode Interface (DPMI) は、マルチタスクオペレーティングシステム (OS)(または擬似マルチタスクOS)の仮想DOSマシンの環境下でプロテクトモードアプリケーション(主としてDOSエクステンダ)の実行環境を提供する規格である。

概要

DOSの次世代OSとなるマルチタスクOS(または擬似マルチタスクOS)の仮想DOSマシンの環境下で、メモリ保護等のマルチタスク環境で必須のシステム保護を行った上でプロテクトモードアプリケーションの実行環境を提供する規格がDPMIである。

マルチタスクOSの環境下では、メモリ上に複数のアプリケーションを同時に読み込むことが出来るが、そのためにはメモリ領域の棲み分けをする以外に、バグや悪意のあるアプリケーションがメモリ上に読み込まれたとしても、他のアプリケーションのためのメモリ領域等のシステムリソースを破壊しないようにOSレベルでのシステム保護が必要である。

DPMIはシステム保護という目的を達成するためにプロテクトモードアプリケーションを特権レベル1‐3で実行させる。DPMIアプリケーションは特権命令を直接利用することが出来ないので、DPMIサーバが全てのプロテクトモードに関する管理を引き受けるため、Virtual Control Program Interface (VCPI) と比べて多くのファンクションコールを提供する。結果としてDPMIはVCPIよりもかなり重い環境になった。

しかしながら、DPMIサーバが重くなった反面、DPMI専用クライアントはそれまでの一般的なDOSエクステンダより遥かに軽くなったというメリットもあった。

なお、DPMIはVCPIを拡張した規格であるという誤解が一部にあるが、DPMIは実際にはVCPIとの互換性は無く独立した規格である。Virtual Control Program Interface (VCPI) は文字通りi386仮想86モードを利用した規格であるため386以上のCPU (IA-32) 搭載が必須であるが、DPMIは一部の機能を除き80286上でも動作する規格である。

DPMIの問題点

DPMIの最大の問題点は、登場時期が遅すぎたことである。

DPMI0.9の最初の実装は、Windows 3.0である。

WindowsGUIばかりでは無く、プロテクトメモリへのアクセスもアプリケーションに提供した。DOS のメモリ不足の解消方法の選択肢にWindowsアプリケーションが加わったのである。このため、ユーザインタフェースのあるアプリケーションを新規に開発する場合には、わざわざDPMIアプリケーションとして開発するのではなく、Windowsアプリケーションとして開発する方がその将来性を考えて望ましい時期に入っていた。

ただし既存のDOSエクステンダや既存のプロテクトモードアプリケーションをDPMIに対応させることは、それらの製品寿命を延ばす意味があるので価値があった。またコンパイラやリンカー等のようにファイルしかアクセスしないアプリケーションを新規に開発することにも意味があった。

また、最初に公開された仕様のバージョンが0.9であるということも問題であった。DPMIの最初の仕様が1.0では無く0.9であった理由は、機能不足であったためである。事実、DPMI 0.9公開後、各DOSエクステンダのベンダは、自社のDOSエクステンダをDPMI 0.9に対応させたが、DPMI 0.9の機能不足を補うために、仮想デバイスドライバ (VxD) を同時に開発したところが少なくなかった。

例えば Phar Lap社の386|DOS-Extenderは、バージョン4.0からDPMIをサポートするようになったが、386|DOS-ExtenderをWindowsで動作させる時に起こる問題に対応するためにVxDドライバ PHARLAP.386が同時に開発された。

関連項目

参考文献

  • 『MS-DOSメモリ管理ソフト技法-メモリ常駐ソフト&拡張メモリ活用プログラミング』 (CQ出版、1990年), ISBN 978-4-7898-3484-1
  • 「インターフェース 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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.