メモリマネージャとは
(メモリマネージャ)
MS-DOSは8088を搭載したIBM PCとともに登場したため、MS-DOSカーネルの管理可能な範囲は1Mbytesの範囲に限られている。
さらに、IBM PCの標準的なアーキテクチャでは、セグメント0000h~9FFFhまでがRAM、A000H~BFFFHまでがビデオメモリやビデオBIOS、C000H~FFFFHまでが拡張BIOSなどの予約領域として設計されていた。
つまり、MS-DOSのアプリケーションが利用可能なメモリは、0000h~9FFFFhまでの640Kbytesのコンベンショナルメモリのうち、MS-DOSが利用していない残りの領域にすぎない。
8088(8086)が登場したころにはこれでも十分なメモリ領域であったが、その後、アプリケーション自体のサイズの増加や扱うデータが肥大化する中で、メモリ不足の問題が発生してきた。
こうした問題に対処するため、コンベンショナルメモリ以外にアプリケーションが利用可能なメモリ領域を増加させる方式が考えられてきた。
最初に登場したのがバンク切り替え方式のEMS、次に登場したのが1Mbytes以上のメモリ領域のアクセス方式を決めたXMSであり、これらの規格を実装したのがメモリマネージャである。
現在のMS-DOSには、エクスパンドメモリマネージャとしてEMM386.EXEが、エクステンドメモリマネージャとしてHIMEM.SYSが付属しているが、サードパーティからもこれらのメモリ管理規約をサポートし、さらに独自の拡張を施したメモリマネージャとして、QuarterdeckのQEMM386、QUALITASの386MAXなどが有名である。
これらのメモリマネージャでは、386以上のCPUで利用可能なページング機能を利用して、ビデオ領域やROM BIOSの領域もUMBとして利用できるようになる。
また、Netroom3というメモリマネージャでは、プロテクトモードで実行可能なBIOSやディスクキャッシュを組み込むことで、コンベンショナルメモリの領域を広げる方式を採用している。
用語解説出典
powered by. アスキーデジタル用語辞典