| 開発者 | コンパック |
|---|---|
| 初回リリース | 1986年9月 |
| オペレーティング·システム | コンパックDOS |
| プラットフォーム | インテル 80386 |
| タイプ | 拡張メモリマネージャ |
CEMM (Compaq Expanded Memory Manager)は、Intel 80386 CPU 用の最初のいわゆる PC「メモリ マネージャ」であり、 CPU の 仮想メモリ機能と仮想 8086 モードを使用して拡張メモリ(EMS) エミュレーションを提供できます。
これはCompaq DOS 3.10に搭載されており、1986年9月にCompaq Deskpro 386に同梱されていました。[1] [2]
概要
1986 年、Compaq は 386 CPU を搭載した PC 互換コンピュータである Deskpro 386 を出荷した最初のベンダーであり、同社が新しいハードウェアの特定の機能を活用し、既存の EMS 互換 DOS プログラムがすべてのメモリにアクセスできるようにするソリューションを開発するのは自然な流れでした。
この実装には欠点がないわけではありませんでした。CEMM は「拡張メモリ マネージャ」と呼ばれていましたが、実際には、保護モードの小さなシングル タスク オペレーティング システム カーネルであり、仮想マシン モニタ(VMM) とも呼ばれていました。すべての割り込みと例外をキャッチし、それらを DOS が実行される仮想マシンに反映する必要がありました。これにより、マシンの速度が少し低下し、割り込みの待ち時間が増加し、無効なマシン命令を実行しようとする DOS プログラムの動作が変わりました。VMM を実装することは CEMM の存在理由ではありませんでしたが、EMS エミュレーションにはページングが必要であり、ページングには保護モードが必要でした。したがって、既存のリアル モード DOS および BIOS コードを実行する唯一の方法は、VMM を使用することでした。
CEMM は CPU を保護モードにするため、他のプログラム ( DOS エクステンダー) は独自にこれを実行できなくなりました。DOS エクステンダー プログラムを実行できるようにするには、特別な API であるVCPIを開発する必要がありました。VCPI と互換性のある最初の CEMM は 4.0 で、Compaq DOS 4.01 に付属していました。
Compaq は 1987 年にこの技術の特許を申請しました。特許は 1990 年に付与され、おそらく 2007 年に失効しました。Compaq はこの技術の考案者であり、これを使用した最初の企業です。しかし、時が経つにつれて、QEMMと386 MAX が標準パッケージになりました。Windows /386以降のリリースには、Windows セッション中に使用でき、それ以外の場合は複数のDOS 仮想マシンを実行するために使用される組み込みの拡張メモリ マネージャー ( EMM386 ) が含まれていました。MS -DOS 4.01 (1989 年) とDR-DOS 5.0 (1990 年) は、Windows コンテキスト以外でこの技術を普及させました。Microsoft の EMM386 実装は CEMM に基づいていました。
参照
- クエム
- EM386 について
- リアルモード
- アンリアルモード
- 保護モード
- 仮想8086モード
- 従来のメモリ
- 拡張メモリ(XMS)
- 拡張メモリ(EMS)
- ハイメモリ領域(HMA)
- 上位メモリ領域(UMA)
参考文献
- ^ 「リダイレクト中…」。
- ^ 「オリジナル CEMM 発掘 | OS/2 ミュージアム」。
外部リンク
- 米国特許 4,926,322 -仮想 DOS モニターとページ メモリ管理を使用したバンク スイッチ メモリのソフトウェア エミュレーション
