32ビットオペレーティングシステムでは2GBの制限


8

32ビットオペレーティングシステムの2 GBの制限は、プロセスがアクセスできるのは2 GBのメモリのみであることを意味しますか、それともすべてのプロセスが合計で2 GBの物理メモリしか使用できないことを意味しますか?

では、カーネル用に予約されている2GBは、すべてのプロセスが一緒に使用できる合計量を制限していますか?


Fabianはページングファイルではなく、物理メモリのみを参照していることに注意してください。
Arda Xi

彼はまた、一般にオペレーティングシステムではなく、Windowsのみに言及しています。
Arda Xi

彼はそれについて尋ねるかもしれませんが、そのような関係はありません。各プロセスは2 GBの仮想にアクセスできます。この一部はRAM(「常駐」)にあります。Windows 32ビットクライアントバージョンでは、すべてのプロセスの常駐メモリとOSの常駐メモリの合計が4 GBを超えることはできません。物理メモリ割り当てに2 GBの分割はありません。
ジェイミーハンラハン2015

この記事では受け入れ答えは本格的情報を提供します- stackoverflow.com/questions/490520/...
RBT

回答:


4

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の制限に慣れていません。


2
この回答は完全ではありません-ビデオメモリが含まれているという以上の「アドレススペース」の概念は含まれていません。また、32ビットオペレーティングシステムのアドレススペースは実際には2GBではなく4GBに制限されています( XPの32ビットコピーに3GBのRAMでブートするように指示することもできます)
lunixbochs

1
問題は、アドレス空間とは何かに関するものではありませんでした。メモリのアドレス方法と32ビット整数の制限について説明することで、皆さんを退屈させることができましたが、それはこの質問についての話ではないため、不必要に複雑に思われます。はい、/ 3GBスイッチを使用できます。この質問にはそれは含まれていません。
Arda Xi

1
4GBのメモリ制限は、標準の32ビットx86アーキテクチャ上の物理メモリにのみ適用されます。仮想メモリは異なり、32ビットOSは、ページファイルまたはスワップパーティションを使用している場合、4GBをはるかに超えるメモリ(プロセスごとではなく合計)を使用できます。ハードドライブの速度は、ハードドライブにスペースがある場合、ページングまたはスワップできるよりも、使用可能なページファイルサイズまたはスワップスペースに影響を与えません。ページング/スワップのパフォーマンスにのみ影響します。

1
メインRAMを共有する統合されたビデオRAMでない限り、ビデオRAMは要素ではありませんが、使用可能な物理RAMから差し引かれます。使用可能な仮想メモリには影響しません。専用ビデオカードには、システムで利用可能なメモリに影響を与えない独自のプロセッサとメモリがあります。

@Spooky完全に真実ではありません。私のリンクを見ると、ページプールがカーネルモードの仮想アドレススペース(2 GB)によって制限されていることがわかります。これは、合計で約6 GBを意味します。
Arda Xi

0

OPがWindows OSを指している場合、すべての32ビットOSは、PAE(Physical Address Extension)と呼ばれる概念を持つ2003サーバーデータセンターまたはエンタープライズを除いて、合計4GBに制限されます。これは最近のLinuxカーネルでも利用できます。もちろん、32ビットプロセッサは、モバイルスペース以外では珍しくなっています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.