32ビットオペレーティングシステムの2 GBの制限は、各プロセスがアクセスできるのは2 GBのメモリのみであることを意味しますか、それともすべてのプロセスが合計で2 GBの物理メモリしか使用できないことを意味しますか?
では、カーネル用に予約されている2GBは、すべてのプロセスが一緒に使用できる合計量を制限していますか?
32ビットオペレーティングシステムの2 GBの制限は、各プロセスがアクセスできるのは2 GBのメモリのみであることを意味しますか、それともすべてのプロセスが合計で2 GBの物理メモリしか使用できないことを意味しますか?
では、カーネル用に予約されている2GBは、すべてのプロセスが一緒に使用できる合計量を制限していますか?
回答:
32ビットWindows OSのメモリ制限については多くの誤解があります。
まず第一に、私がRAMと言うとき、これにはあらゆる種類のRAMが含まれます。通常のだけでなく、ビデオRAMもそうです。
32ビットOSのプロセスごとに使用可能なRAMの最大量は2 GBです。64ビットOSの場合、32ビットプロセスで最大4 GBを割り当てることができます。
さらに、64ビットOSは8 TBを割り当てることができますが、OS全体はすべてのプロセスを組み合わせて4 GBしかアドレスできません。
また、この制限がページプールに追加されることも興味深い点です。つまり、32ビットOSは合計2 GBを超えることはできません。つまり、仮想メモリを含むすべてのアプリケーションで6 GBを使用できます。もちろん、これはRAMとは関係ありません。残りの2 GBはページングファイルに格納され、ハードドライブの速度に制限されるためです。
詳細については、「Windowsリリースのメモリ制限」を参照してください。
注:これはアプリケーション専用です。32ビットのWindows OSは合計で最大4 GBを割り当てることができますが、このうち2 GBはシステムでの使用にのみ割り当てられ、アプリケーションで使用できるのは2 GBのみです。特定のケース(特に新しいOS)では、これはアプリケーション用に3 GB、カーネル用に1 GBに分割されます。
Windowsについてのみ説明しました。それは、質問が意図されていたコンテキストだからです。他のOSの制限に慣れていません。