メモリは2つの部分に分けられます
1)OSシステムプロセス用に予約されたメモリ部分
2)ユーザープロセス用の残りのメモリ。
32ビットOSは、OSプロセスに4GBのメモリを割り当てます。このように、64ビットOSに割り当てられるメモリスペースの数(システムプロセス、つまりOSプロセス専用のメモリスペース)。この質問はインタビューで私に尋ねられました
3 に答える
この質問がWindowsにどれほど具体的であるかは私にはわかりません。一般的な観点から、232は約40億、つまり4GBを提供します。したがって、264は16エクサバイトになります(!)
詳細については、こちらをご覧ください。
64ビットレジスタは、264(18千億以上)の異なる値を格納できます。したがって、64ビットのメモリアドレスを持つプロセッサは、264バイト(= 16エクスビバイト)のバイトアドレス可能なメモリに直接アクセスできます。
但し書きに注意してください。外部バス。CPUレジスタが64ビット幅であるからといって、必ずしも外部バスが同じ幅になるとは限りません。その結果、CPUとマシンアーキテクチャが一緒になって実際の制限を決定します。実用的なプロセッサの制限とマークされたセクションに注意してください。
最大メモリ アドレス空間は、使用している OS のバージョンによって異なります。
物理メモリの制限を参照してください: Windows 7
これについては、「Windows の限界に挑む: 物理メモリ」および「Windows の限界に挑む: プロセスとスレッド」を参照してください。
結局のところ、そうではありません。
Windows には、複数のカーネルまたはバリエーションが付属しています。
たとえば、PAEをサポートするカーネルを備えたWindows OSが市場に出回っていますが、これはあなたの声明が真実ではないことを証明するのに十分です.
また、Windows の 32 ビット デスクトップ バージョンは 4Gb のアドレス可能なメモリを提供できず、最大 3.5 までしか提供できません。
詳細については、このリンクを 参照してください。