32ビットシステムでの4 GBのRAM制限は、スワップ領域にも影響しますか?


11

32ビットシステムでは、RAMの最大量として4 GBしか処理できないことがよく知られています。

Linuxでは、この制限はスワップパーティションにも適用されますか?RAM +スワップが4 GBを超える場合、それは完全に使用されますか?

答えが「いいえ、それはスワップには適用されません」である場合、なぜですか?


3
この物理メモリ制限ステートメントは、すべてのプラットフォームに当てはまるわけではありません...「物理アドレス拡張(PAE)は、32ビットx86中央処理装置(CPU)が物理アドレス空間(ランダムアクセスメモリやメモリマップを含む)にアクセスできるようにする機能です。デバイス)4ギガバイトより大きい。」en.wikipedia.org/wiki/Physical_Address_Extension
f1assistance 2013年

1
@packetsもう混乱しないでください。彼は実際に行って、まず仮想アドレス指定やページングなどの基本的な概念について学ぶ必要があります。
David Marshall

1
問題ありません、私は学ぶことを恐れていません。
セケムティ2013年

回答:


12

いいえ、RAMはデスクのようなもので、スワップスペース/仮想メモリはファイリングキャビネットのようなものです。多くの情報をファイリングキャビネットに入れることができますが、アクセスするのは困難です。使いたい書類は、引き出して机の上に置く必要があります。問題は、デスクが一度にたくさんの書類しか持てないことです。

32ビットマシンは、4GB(2 ^ 32、つまり約40億バイト)の大きさのデスクしか持つことができませんが、ファイリングキャビネットはほぼ無制限です。机がいっぱいになり、ファイリングキャビネットにある別のページを見る必要があるときに、書類を「交換」する必要があります。


スワップに適用されない理由は、RAMのコンテンツへのアクセスまたはRAMからのコードの実行が、処理できる数値のサイズに制限されているためです。机の上には40億の単語しか持てないので、それは数えるほど高く、単語を直接操作する必要があると考えてください。「単語3,547のスペルが間違っています。単語3,452,780を「Hello」に変更してください。単語6を削除してください。」

現在、各ページには4,000語が含まれている場合があります。問題は、スワップスペースを参照しているときに、ワード単位ではなくページ単位で参照することです。したがって、まだ40億までしか数えることができませんが、40億ページまで数えることができます。40億ページには、実際には16 ワードが含まれています。

64ビットマシンは数が多いので、十分な大きさのデスクがあれば、すべてのページを一度にデスクに配置できます。32ビットマシンに超大型のデスクを置いても、40億までしか数えられないため、デスク上の余分な単語をすべて参照する方法はありません。


では、スワップスペースがRAMメモリのインデックスとして機能することを教えてください。そして、その結果、1 GBのスワップは、1 GBのRAMよりもはるかに多くのメモリを表しますか?とにかく、なぜシステムが4GBを超えるRAMを管理できないのか、私はまだ理解できませんが、代わりにスワップを使用できます。では、なぜRAMではなくスワップを使用しないのでしょうか。
Sekhemty、2013年

1
スワップスペースは「アンロードされた」メモリのようなものであり、はるかに大きなチャンクで参照されます。1 GBのRAMは1 GBのスワップですが、RAMはバイトごとにアドレス指定され、スワップはチャンクごとにアドレス指定されます。別の例としては、ピーナッツの梱包について考えることがあります。手に持つことができる梱包用ピーナッツはいくつですか?もっと拾おうとする前に100だと、指の間で飛び出してしまう人がいるかもしれません。さて、箱に入れれば、いくつの梱包用ピーナッツを手に入れることができますか?何千?スワップはボックスのようなものです。より大きなチャンクでデータを管理できますが、データ自体にはアクセスできません。
ダースAndroid

1
@Sekhemty:なぜ常にswapを使用しているのかについての2番目の質問-スワップファイルはハードディスク上に存在し、コンピュータがハードディスク上のデータにアクセスできる速度は、ディスクのアクセス速度に依存します(そしてその後いくつか)。ただし、最速のハードディスクであっても、物理RAMよりもはるかに低速です。スピードの問題です。また、現在のx86アーキテクチャではこれを許可していません(RAMはなく、スワップのみ)。スワップファイルは、システムが認識していないOSの概念です。
bobbyalex 2013年

10

物理メモリと仮想メモリが混同しています。

RAMは物理メモリです。スワップ空間には、4GBの仮想アドレス空間を多数含めることができます。

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