UMB

読み:ユーエムビー
外語:UMB: Upper Memory Block
品詞:名詞

80x86環境で、A0000h〜FFFFFhまでのメモリアドレスのこと。XMSで定義される領域の一つ。

この範囲は、PC/AT互換機PC-9801シリーズでは、VRAMを割り当てたり拡張スロット用の領域を割り振ったり、BIOS ROMを割り付けたり等のシステム予約としていた。

MS-DOS開発当初は00000h〜9FFFFhまでの領域、つまりコンベンショナルメモリの640Kiバイトでも充分な容量だったが、やがてアプリケーションの高機能化と肥大化に伴い、メモリ領域が不足するようになる。

そこで、この領域(UMB)を何とか有功に使えないか、として考え出されたのがXMSという技術である。

32ビットCPUでメモリが大量に使えるとは言っても、MS-DOSからではプロテクトメモリを自由に扱うことはできない。しかしメモリは困窮しており、1バイトでも多くを使いたい実情があった。

そこで作られたXMSには、大きく三種類のメモリ領域がある。

このうち、EMM386.EXE等で使えるようになったEMB1Mバイトの壁の外の領域のため、16ビットOSのMS-DOSでは直接使うことはできない。この領域は、MS-DOSからは仮想EMSとしてデータ記録に使うくらいが関の山であった。

またHMAはDOSのシステムを載せるのに使うとあり、結局、このUMBに相当する領域にi386の仮想86モードの機能を利用してEMB領域のメモリを割りつけて利用するようになった。

この機能を実現するのがHIMEM.SYSというソフトウェアである。