32ビットソフトウェアを実行するために1-64 C ++のメモリ管理システムは、より多くのメモリを取るだろうか?

 

  大容量メモリになるルーチンコンピュータプラットフォーム構成、あなたは、システム内のこの8ギガバイトまたはコンテンツのも、16ギガバイトたい場合は、自分のマシン上で使用するメモリ容量仕様の8ギガバイト、あるいは16ギガバイトを選択する多くのユーザーを設定するアセンブリマシンと支持体として使用する場合、それらをフルに活用することができ、あなたは、64ビットプラットフォーム・オペレーティング・システムを使用する必要があります。

  しかし、それはものの64ビットシステムは、近年の主流となっているが、コンピュータはまだ興味深い問題を提起する32ビット版を、使用している際に、ソフトウェアまたはソフトウェアの多く多くのユーザーが実行していることは注目に値します。あなたは、32ビットアプリケーションは、64ビットバージョンのWindowsを実行できるように、より多くのまたはより少ないメモリを必要とするか、そして32ビットを実行しているシステムに比べてメモリを消費する32ビットアプリケーションを実行している64ビットシステムでは」という噂があります32ビットアプリケーションは、需要よりも1.5倍高いこと。」

  システムは、トピックが本当に確立された場合に高いことが32ビットアプリケーションを実行している32ビットシステムに比べてメモリを消費して、64ビット、32ビットアプリケーションで実行されていることを確認するためにテストすることにより、このような状況の最近の外国メディアの応答。

  最初は、私たちがどの互換性のサポート支援を使用しないときは内部64ビットシステムで実行を達成するために32ビットプログラムを任せることはできない?それを実装する方法である64ビットシステム上で32ビットプログラムを見ている、すべての後に、32個のプログラムが64ビットプログラムを比較しますシステムポインタデータ・タイプシステムコール命令が異なっています。

  したがって、我々は最初の32ビットプログラムは、64ビットシステム上のプロセスにおける役割を果たしているかを知る必要があります。

  

 

   注:64ビットオペレーティングシステムでは、WindowsはWOW64サブシステムを使用していますがそれが効果的に32ビット版のWindowsとx64ベースのシステムシミュレータのItanium(IA64)システム・シミュレータを実装します

  プロセッサシステムと異なるメモリ・ページ・サイズによってIA64命令(x86およびx64は、4K、8KのIA64である)組成物、以降のx64プロセッサは、全ての命令とx86プロセッサが同じメモリページサイズを使用しています。両方の場合で、はWoW64 のWindowsカーネルの64NTDLL.DLLの32ビットバージョンとの間の通信インタフェースそれらはネイティブの64ビットWindowsカーネル関数処理によって提供することができるように、。

  (NTDLLオペレーティングシステムはWindowNTプロトタイプライブラリである(すなわち、WOW64サブシステムによって64は、加工プログラム32のための対応するエンジニアリングシステムを提供することができます

  X64と実装要件のためのIA64システム3つのDLLファイル、それぞれwow64cpu.dll、wow64win.dll、およびwow64.dl Lそれらの機能は、中のWin32k.sysで提供することであり、Windowsのセクションでは、機能や含まれているカーネルの実装、メモリ管理、プロセススケジューラとオペレーティングシステムの他のコア要素を

  サンクは、サブプログラム、共通システムのサブルーチンまたは関数の実行を可能にするプログラムです。この場合には、スタック32からパラメータを抽出するシステムコールようにそれらの対応64及び64に変換して、プログラムを呼び出します呼び出しからの戻りでは、64ビットの結果は、変換器32に戻され、呼び出し元のプログラムを使用して、コールスタックにプッシュ

  

 また、我々は他のいくつかの重要な違いに注意してください

  IA64システムは、2つの追加ファイルを使用しています:IA32exec.binは、x86ソフトウェアシミュレータであるWowia32x.dllははWoW64とソフトウェアシミュレータとの間のインタフェースを提供します

  32ビットプログラムは、ファイルをロードするプロセスとの両方においてNTDLL.DLLの64ビットバージョンは、別のDLLにロードすることができ、apisetschema.dll、およびそれ以降のWindows 7のバージョンと32ビットプロセスで、どのこれは、ユニークな64ビットバイナリのすべてのプロセスにロードされます。

  場合32ビットのプログラムが開始されると、それはNTDLL.DLL 32ビットバージョンと%SYSTEMROOT%\ SYSWOW64必要な32ビットのDLLをロードするwow64.dll順序をロードします。これらのファイルのほとんどは、32ビットシステムで同じバイナリファイルですが、いくつかは、WOW64修正書き直されました

  仮想マシンによるテスト・ランはそれぞれ2つのWindows 7の究極のバージョンは、64ビットおよび32ビットのシステム完全にインストールおよびパッチシステム同じそれぞれを用いて、各システム・メモリは、2ギガバイトを割り当てられましたより良い画像メモリを取得するために無効にスワップファイルの両方のメモリは、ディスクの使用状況にページアウトすることができないことを確認してください。

  Sysinternalsのプロセスで来る探検収集システムのコレクションが動作している、使用WindowSystemのこれらの作業グループの数字プログラムによって使用されるメモリの量を反映しますそれは、彼らはまた、共有ライブラリが使用するメモリの量を反映している別のプロセスによってロードされていても、より複雑です。テストsoffice.exe、実行時にすべてのプログラムをすべての3つのプロセスの効果的なメモリ使用量を見つけるsoffice.bin必要にプログラムを監視LibreOfficeの。電卓、メモリーの.xlsファイルの3,7MBと.PPTXファイル3.9メガバイトを開くには、使用によって占められたときにテストモードがオンになっています

 

 

   比較のシリーズの比較された後にRAMの観点より9.9%の差32ビットおよび64ビットシステムではない、同じタイプといくつかのテストでも、同様の結果を得用いて32 64ビットシステムであっても、最終的な比少ないメモリビットシステムそのため、より多くのRAMがはい、一般的には?彼らの32ビットよりも実行されている32ビットアプリケーションを実行する際には、Windowsの64ビットバージョンが必要です。しかし、あなたはあなたのメモリをアップグレードする必要がありますか?おそらくない、しかし需要が使用されている1.5倍の差が実行されていません。

 

 

endl;

おすすめ

転載: www.cnblogs.com/icmzn/p/11816243.html