2012年5月3日木曜日

WOW64 - Wikipedia


WOW64(ワウ64、Windows 32-bit On Windows 64-bit)とは、64ビット (x64およびIA-64) 版のMicrosoft Windows(Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008、Windows 7の一部)においてWin32アプリケーションを実行する、エミュレーションレイヤー・サブシステムである。

64ビット版のWindowsは基本的に、完全に64ビット化されたNTカーネルで動作する。x64やIA-64対応のオペレーティングシステムでは、x86の32ビットABIに対応するかどうかの選択を迫られることとなった。64ビットのWindowsでは、64ビットABIと32ビットABIの両方に対応し、Win32APIをWin64APIに呼び変えるエミュレーション層が実装されている。これがWOW64である。これにより、32ビットアプリケーションはそのまま64ビットのWindowsでも動作する。


セットを手の平OTオッズは何ですか

WOW64は、WOW64ホストプロセスによって予約された4GBの仮想空間に32ビットABIのコードを読み込み、そこで発生したWin64 APIに変換可能なAPI呼び出しを変換して、Win64サブシステムに伝達する。構造体の変換は自動的に行われ、Win32側では現在動作しているOSが32ビットシステムか、64ビットシステムかを意識する必要は全くない。またユーザーモードで動作するコンポーネント群は32ビット版と64ビット版が用意され、例えばOLEなどは32ビットで閉じた範囲で動作できる。64ビット版で提供されるコードは単一のソースから、32ビット版と64ビット版両方をそれぞれコンパイルして作られているため、機能的には32ビットシステムと64ビットシステムの間に差異は無い。


クールなゲームを作る方法

あなたは忘却で構築することができる最高の文字

<
p
>
W
i
n
d
o
w
s

��64ビットABIは、そのままWin32の32ビットABIを64ビットに拡張した物である。従って、64ビットABIのアプリケーションは8TBのアドレス空間を独占的に使える様になっている。ここに一つの問題点がある。32ビットABIのコードを格納可能な仮想空間下位4GBが64ビットABIに独占されてしまった事である。この為、32ビットABIを格納する場所が無く、32ビットアプリケーションはもとより、DLLやOCXをロードして呼び出すことも不可能となってしまった。そのため、マイクロソフトは、32ビットABIのコードと64ビットABIのコードとの相互な呼び出しを禁止している(COMインターフェースを経由すれば相互乗り入れは可能であるが、x64アーキテクチャで本来可能であった32ビットコードと64ビットコードのシームレス な相互呼び出し機能は全く生かされていない)。この顕著な例として、Internet Explorerの振舞があげられる。32ビットのActiveXコンポーネントを検出すると、64ビット版Internet Explorerは処理を中断して32ビット版Internet Explorerに処理を引き継ぐ。32ビットアプリケーションと64ビットアプリケーションの間には、実行ファイル以外のコンポーネント群を互いに利用することができない深い溝がある。


[編集] プログラミング

16ビット時代から32ビットへの過渡期に用意されたサンク (thunk) メカニズムはWOW64では提供されず、32ビットプログラムと64ビットプログラムは1つのプロセスに共存できない。32ビットのプロセスと64ビットのプロセスとの通信は、アウトプロセスCOMをはじめとして、各種のプロセス間通信が使用可能である[1]

2010年現在、Windowsアプリケーションやミドルウエアの殆どはx64には移行していない。よってこれらのソフトウエア資源を継承しつつ、x64に対応したアプリケーションを開発するには、WOW64の機能を使って32ビットソフトウエア資源へのアクセスを確保し、64ビットアプリケーションに対してCOMインターフェースの形で提供することで、異なるABIが混在する過渡期を乗り越えることができる。またCOMインターフェースの形をとることにより、.NET Frameworkへのアクセスも用意できる。


[編集] システムフォルダとレジストリ

2010年現在の 64Bit Windows では、Windows システムフォルダ (%systemroot%\System32) には、64 ビットのバイナリが置かれ、32 ビット プログラムは、その中にあるファイルには直接アクセスすることができない。32 ビット プログラムによる System32 フォルダへのアクセスは自動的に %systemroot%\SysWOW64 へとリダイレクトされる動作となる。プログラムから見ると、System32 フォルダにアクセスしているように見える。SysWOW64 フォルダには 32 ビットのバイナリが用意されている。

Windows レジストリへ 32ビット アプリケーションがアクセスする場合は、一部リダイレクトされる。HKLM\SOFTWARE と HKCR\ 下のレジストリ キーへのアクセスは、それぞれ Wow6432Node と呼ばれるキーの中にアクセスしている。



These are our most popular posts:

World of Warcraftの – WOWでゴールドの作り方

... を得るために、マウントを取得するには、学ぶために"お金"のコスト ... read more

どのように霊王の怒りに間に合うようにワウ金を得るために – あなたの ...

2011年6月6日 ... どのように霊王の怒りに間に合うようにワウ金を得るために – あなたのキャラバンは、 14000ゴールドをマウント取得 ... に開かれたアウトランズへの扉の直前にIllidanの Stormrageで – 非常に威嚇するような方法で – 私たちは、World of ... read more

便利機能紹介 WoWの迷宮

WoWの便利な機能紹介. 知らなきゃ ... これから取得するスキルについては、ガードに 場所を聞きましょう。 Bank(銀行 ... 乗り物(マウント). Lv20から種族専用の乗り物に 乗ることができるようになります。 Riding Trainerから乗り方を教えてもらいます。 乗り物は ... read more

WOW64 - Wikipedia

WOW64(ワウ64、Windows 32-bit On Windows 64-bit)とは、64ビット (x64およびIA- 64) 版のMicrosoft Windows(Windows XP、Windows Server 2003、Windows Vista 、Windows Server 2008、Windows 7の一部)においてWin32アプリケーションを実行 ... read more

0 件のコメント:

コメントを投稿