Windows(64bit版)でも2GBを越えるプログラムが書けないことについて

PGI fortran の技術情報のページのひとつ:
PGI compiler TIPS
64ビットLinux 環境 2GB 以上の生成オプション
http://www.softek.co.jp/SPG/Pgi/TIPS/opt_64.html によると

Windows x64上、並びに Apple Mac OS X 64-bit上では、「2GB以上の単一オブジェクト」を扱うことができる -mcmodel=medium オプションと等価な機能を提供しておりません。これは、Microsoft(R) Win64 プログラミング・モデルが、まだ 2GB を超える静的な単一データオブジェクトのハンドリングをサポートしていないためです。従って、2GB を超える静的配列を扱うようなプログラムでは、制約があります。例え Windows 64ビット版であっても、2GBを超える単一配列オブジェクトがプログラム上に存在する場合、静的な配列宣言はできず、動的な配列宣言(Allocatable 配列宣言)を行う必要があります。これは、PGI コンパイラの制約ではなく、Win64 プログラムモデルの問題です。Apple Mac OS 上においても、同様な理由で、2GB を超える静的な単一データオブジェクトを使用できません。従って、2GB以上のデータオブジェクトを扱うプログラムをコンパイルする場合は、現在のところ、このような制約がない Linux版の方が適しています。
…とある。ビスタ64ビットマシン製作し、8Gbyteメインメモリを載せ... - Yahoo!知恵袋経由でMSDNのページを見るとDownload Visual Studio 2005 Retired documentation from Official Microsoft Download Center
実行可能イメージの形式は、PE32+ です。実行可能イメージ (DLL、EXE の両方) は、最大 2 GB までに制限されるため、静的イメージ データをアドレス指定するには 32 ビットの変位による相対アドレス指定を使用できます。このデータには、インポート アドレス テーブル、文字列定数、静的なグローバル データなどが含まれます。
…とある。うーむ。学生相手のOSとしてはWindowsがベターなんだけど。

追記 2012.8.12


上記の問題は、プログラム中で最初に宣言文を用いて静的にメモリをアロケートする場合の話であって、fortran なら allocate 文、C なら malloc 関数などを用いて、ヒープ領域に動的にメモリをアロケートする場合には、この限りではない。