ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
NEC PC-9800シリーズにおけるMS-DOS環境にある壁。
利用できるメモリー範囲が640Kバイトに制限されてしまうこと。
正確にはキロではなくキビ、つまり「640Kiバイトの壁」と呼ぶべきだが、当時はまだKi(キビ)という単位がなく、このように「640Kバイトの壁」と呼ばれていた。
PC-9800シリーズはi8086および互換プロセッサーを搭載しているため、16ビット環境では最大1Miバイトまでアドレッシング可能である。
そしてこの範囲を、次のように割り当てていた。
このうち00000h〜9FFFFhをコンベンショナルメモリー、A0000h〜FFFFFhをUMBという。
結果として、利用できるメモリー領域はコンベンショナルメモリーの640Kiバイトの範囲に限られ、それ以上のメモリーを利用したければ拡張スロットにバンクメモリーを搭載する以外に方法がなかった。これが640Kバイトの壁である。
高解像度モードであるハイレゾリューションモードでは、アドレスマップが変更となり768Kiバイトまでコンベンショナルメモリーが利用できたが、従来とは互換性が低く、これは解決になっていなかった。
解決方法として、80286やi386以降のプロテクトモードを利用するDOSエクステンダーが開発されたが、あまり一般化しなかった。
16ビット環境のままでの解決方法は仮想86モードによるEMSが最も現実的な回答であったが、究極的な解決はMS-DOS環境であるうちは不可能で、Windows NTやWindows 95の登場を待たねばならなかった。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます