UMB
読み:ユーエムビー
外語:UMB: Upper Memory Block
x86環境で、A0000h〜FFFFFhまでのメモリーアドレスのこと。XMSで定義される領域の一つ。
概要
この範囲は、PC/AT互換機、PC-9800シリーズでは、VRAMを割り当てたり拡張スロット用の領域を割り振ったり、BIOS ROMを割り付けたり等のシステム予約としていた。
MS-DOS開発当初は00000h〜9FFFFhまでの領域、つまりコンベンショナルメモリーの640Kiバイトでも充分な容量だったが、やがてアプリケーションの高機能化と肥大化に伴い、メモリー領域が不足するようになる。
そこで、この領域(UMB)を何とか有功に使えないか、として考え出されたのがXMSという技術である。
特徴
32ビットCPUでメモリーが大量に使えるとは言っても、MS-DOSからではプロテクトメモリーを自由に扱うことはできない。しかしメモリーは困窮しており、1バイトでも多くを使いたい実情があった。
そこで作られたXMSには、大きく三種類のメモリー領域がある。
このうち、EMM386.EXE等で使えるようになったEMBは1Mバイトの壁の外の領域のため、16ビットOSのMS-DOSでは直接使うことはできない。この領域は、MS-DOSからは仮想EMSとしてデータ記録に使うくらいが関の山であった。
またHMAはDOSのシステムを載せるのに使うとあり、結局、このUMBに相当する領域にi386の仮想86モードの機能を利用してEMB領域のメモリーを割りつけて利用するようになった。
この機能を実現するのがHIMEM.SYSというソフトウェアである。
再検索