プロセス アドレス空間

すべての 32 ビット アプリケーションには、4 GB のプロセス アドレス空間があります (32 ビット アドレスでは、最大 4 GB のメモリをマップできます)。Microsoft Windows オペレーティング システムでは、アプリケーションから 2 GB のプロセス アドレス空間にアクセスできます。このアドレス空間は、特別に、ユーザー モード仮想アドレス空間と呼ばれます。アプリケーションによって所有されるすべてのスレッドでは、同じユーザー モード仮想アドレス空間が共有されます。残りの 2 GB は、オペレーティング システム用に予約されます (カーネル モード アドレス空間とも呼ばれます)。Windows Server 2003 を含む、Windows 2000 Server 以降のオペレーティング システムの全エディションには、アプリケーションから 3 GB のプロセス アドレス空間にアクセスできる boot.ini スイッチが用意されています。このスイッチを使用すると、カーネル モード アドレス空間は 1 GB に制限されます。

AWE によるプロセスのアドレス空間へのアクセス

この機能は、Microsoft SQL Server の次のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。

AWE (Address Windowing Extensions) により、オペレーティング システムでサポートされるのと同量の物理メモリにアクセスできるようになるので、32 ビット アプリケーションの機能が拡張されます。AWE では、最大 64 GB のサブセットをユーザー アドレス空間にマップすることでこれが実現されます。アプリケーション バッファー プールと AWE マップ メモリ間のマッピングは、Windows 仮想メモリ テーブルの操作によって処理されます。

3 GB のユーザー モード プロセス空間のサポートを有効にするには、/3gb パラメーターを boot.ini ファイルに追加してコンピューターを再起動する必要があります。これにより、/3gb パラメーターが有効になります。このパラメーターを設定すると、ユーザー アプリケーションのスレッドから 3 GB のプロセス アドレス空間に対処できるようになります。残りの 1 GB のプロセス アドレス空間はオペレーティング システム用に予約されます。

注意

コンピューターで 16 GB を超える物理メモリを使用できる場合、オペレーティング システムでは、システム用に 2 GB のプロセス アドレス空間が必要になるので、サポートできるのは 2 GB のユーザー モード アドレス空間のみになります。AWE で 16 GB を超えるメモリ範囲が使用されるようにするには、boot.ini ファイルから /3gb パラメーターを削除する必要があります。このパラメーターが存在すると、オペレーティング システムでは 16 GB を超えるメモリに対処できません。