32ビットOSの32ビットとは、「一度に扱える整数データのビット数が32ビットである」という説明がされることもありますが、整数データというよりは、「32ビットの数でアドレスを指し示すことができる」と理解したほうがよいでしょう。32ビットOSは、232バイトのメモリ空間を利用でき、16ビットOSは216バイトのメモリ空間を利用できるということです。 Windows 3.1のような16ビットOSでは、個々のアプリケーションに用意されている「ローカル・メモリ」は最大64キロ・バイト(216バイト)です。64キロ・バイトのメモリ空間を切り替えて使うことで、OS全体として扱うメモリ領域は仮想記憶サイズの限界までになりますが、個々のアプリケーションにとっては厳しい制限になります。 Windows 95/98では、アプリケーションが使えるローカル・メモリは最大2ギガ・バイトと、32ビットのアドレス空間を活用しています(232=4ギガ・バイトだが、残りの2ギガ・バイトはシステムが使用する)。ただし、Windows 3.1との互換性を重視しているので、OSを構成するモジュールの一部が16ビットのプログラムになっており、OSの資源の中には64キロ・バイトのメモリ空間という制限を受けるものもあります。Windows NT/2000は、基本的にOSのすべてが32ビットのプログラムで書かれており、このような制限はありません。