コンベンショナルメモリー
読み:コンベンショナルメモリー
外語:conventional memory
MS-DOSが、伝統的(conventional;コンベンショナル)に用いていたメモリー領域のこと。
概要
具体的には、MS-DOSが元来用いていたプロセッサー8086が処理できるメモリー領域のことで、そのうちRAMがある00000h〜9FFFFhの640Kiバイトのアドレス領域をいう。
機種によっても異なるが、A0000h〜FFFFFhの384Kiバイトは、VRAMやBIOS ROM、拡張スロット用のROMおよびI/O領域などがマッピングされており、通常は利用できない。
特徴
MS-DOS
MS-DOSでは、基本的にこの640Kiバイトの容量を全てのソフトウェアが使う。FEP(今で言うIME相当)や、各種の常駐ソフトも同様である。
MS-DOSは、シングルタスクオペレーティングシステムだが、常駐できるという優れた機能があった。これは、OSの機能(システムコール)としてメモリー管理が行なわれていたためである。正しくメモリーを使っていれば、同じアドレスを衝突して使うことはない。
- AH = 48h (メモリーの割り当て)
- AH = 49h (割り当てられたメモリーの開放)
- AH = 4Ah (割り当てられたメモリーブロックの変更)
しかし、640Kiバイトではやはり少ないので、様々な技術でコンベンショナルメモリーの消費量を減らす努力が行なわれた。
i386以降では仮想86モードが利用可能になったため、これが利用された。コンベンショナルメモリーは必要最小限に留め、それ以外は次のような拡張された領域に置く技術などが使われた。
Windows
プロセッサーが32ビット化されても、16ビットOSを利用しているうちは互換性のためにコンベンショナルメモリーは足かせとして存在しつづけた。
Windows 95、Windows 98、Windows MeなどのWindows 9x系OSでは、ヒープなどの制限として存在する。
この問題の完全な解決は、完全な32ビット環境となるWindows NTやWindows 2000以降である。
再検索