ホーム http://cml.s10.xrea.com/

近頃は 64 ビット対応 CPU と大容量メモリが入手し易くなった為に、 少しずつ 64 ビット OS への移行が進んでいるようです。
そのために、64 ビット Windows 、32 ビットでの /PAE 、プログラミングなどに関するリンクを 集めてみました。
勿論、OS の買い替えなどは自己責任でお願い致します。
環境によっては BIOS のサポート、ドライバーの有無の影響で、メモリを生かし切れない事も あるようです。

 

64ビット

Microsoft.com の x64 バージョンの Windows への移行
人に売る前にまず自社サーバーを 64 ビット化したそうです。

Memory Limits for Windows Releases(英語)
Windows Vista の 32 ビット版と 64 ビット版の違いの説明
Windows XP および Windows Server 2003 における 32 ビット版と 64 ビット版のメモリ構造の比較

64ビットWindowsでは、32ビットアプリケーションをそのまま実行できます。 但し、同じプロセスで64ビットと32ビットを混ぜる事はできません (64ビットのEXEから32ビットDLLを呼び出して実行するなど)。 また、互換モードでの実行が必要かもしれません。 32ビットのドライバと16ビットプログラムも使用できません。
64 ビット版の Windows Server 2003 と Windows XP での 32 ビット プログラムの互換性について
32 ビット アプリケーションの実行 (WOW64)


Windows 7 , システム要件
Windows Vista , システム要件
Windows XP Professional x64 Edition

表.Windows 7 での物理メモリ制限(上記 Memory Limits 参照)
32ビット版でのアクセス制限64ビット版でのアクセス制限
Windows 7 Ultimate 4 GB192 GB
Windows 7 Enterprise 4 GB192 GB
Windows 7 Professional4 GB192 GB
Windows 7 Home Premium4 GB 16 GB
Windows 7 Home Basic 4 GB 8 GB
Windows 7 Starter 2 GB 2 GB


***** ***** ***** ***** ***** ***** ***** ***** ***** *****
64bit Windows には、32bit アプリケーションをそのまま実行できる様にするエミュレーターが搭載されている。(WOW64)
( 32 ビット アプリケーションの実行 )

64bit Windows では、%windir%\System32 ディレクトリは、64bit アプリケーション用に予約されている。 よって、32bit アプリケーションが %windir%\System32 ディレクトリにアクセスしようとすると、 アクセスが %windir%\SysWOW64 という新しいディレクトリにリダイレクトされる。 また、関数を用いて WOW64 のファイル システム リダイレクタを制御できる。 Windows Vista 以降では 32bit アプリケーションは、%windir%\System32 ディレクトリの代わりに %windir%\Sysnative ディレクトリを指定する事もできる。
( ファイル システム リダイレクタ )

64bit Windows のレジストリは、32bit キーと 64bit キーの個別の論理ビューに分かれている。 32bit キーの場所は HKEY_LOCAL_MACHINE\Software\WOW6432Node 。
64bit のキーを表示または編集する場合は、64bit バージョンのレジストリ エディタ (Regedit.exe) を使用する必要がある。32bit のキーおよび値だけを表示または編集する場合は、32bit バージョンのレジストリ エディタ (%systemroot%\syswow64\regedit.exe) を使用する事もできる。
( 64 ビット バージョンの Windows でシステム レジストリを表示する方法 )

64bit Windows のレジストリが 32bit キーと 64bit キーに分かれている為に、 WOW64 では一部のレジストリ キーが "リダイレクト" される。
( WOW64 の影響を受けるレジストリ キー )

WOW64 の為にレジストリの特定の部分に対する個別の論理ビューが提供されても、 一部のレジストリ キーの値は 32bit と 64bit の両方のビューで同一である必要があったり 両方で共有すると便利な場合があるので、 "レジストリ リフレクション" または "レジストリのミラーリング"と 呼ばれる物が行われる(reflection 反映)。但し、上記リンクの該当するキーのみに適用される。 反映されたキーは、RegCloseKey 関数を呼び出してキーが閉じられたときにコピーされる。 また、関数を用いてレジストリ リフレクションの有効、無効を制御できる。
( レジストリ リフレクション )

Windows Vista まではレジストリ リフレクションが行われていたが、 Windows 7 / Windows Server 2008 R2 では削除されて、それらのキーがマージされて 共有されるようになった。
( Windows のレジストリ リフレクションの削除 )

***** ***** ***** ***** ***** ***** ***** ***** ***** *****

Registry changes in x64-based versions of Windows Server 2003 and in Windows XP Professional x64 Edition(英語)

アプリケーション開発者向け Microsoft Windows 7 対応アプリケーションの互換性
-- 一般的な互換性問題 (64 ビット)
-- リソースの管理 (Windows 7 でのフォルダー構造など)
-- ユーザー アカウント制御 (UAC: User Account Control)
(マニフェストの requestedExecutionLevel ( Windows 7 , Windows Vista ) などによる VirtualStore へのリダイレクト)


ページ下部の「その他」も見て下さい。

Windows の限界に挑む: 物理メモリ
Windows の限界に挑む: 仮想メモリ
Windows の限界に挑む: ページ プールと非ページ プール
Windows の限界に挑む: プロセスとスレッド
RAM, Virtual Memory, Pagefile and all that stuff(英語))

あなたホントに64ビットを説明できますか? (1/2) , (2/2) ( ITmedia エンタープライズ )

64bit CPU について
AMD64の特徴と機械語コーディング ( CodeZine、詳しくない方には前半部分だけ )
x64の3つの動作モードを知る (1/2) , (2/2) ( ITmedia エンタープライズ )
#「レガシーモード」は 32bit OS、「互換モード」は 64bit OS の WOW64、「64ビットモード」は 64bit OS で 64bit アプリ

 

PAE(物理アドレス拡張)

Microsoft サポート オンライン で確認しておかないと、/PAE などの動作に不具合がある場合も あります。気を付けて下さい。)

Windows Server 2003 および Windows 2000 では大容量メモリのサポートが使用できる

Physical Address Extension - PAE の設計

PAE (英語)
PAE X86 Technical Reference (英語)
4GT Technical Reference(英語)

The /maxmem switch in the Windows Boot.ini file(英語)

32ビット Windows では、各ユーザープロセスは 2ギガバイトまでアクセス可能。 マシンのメモリが 16ギガバイトまでなら /3GB も使用可能。 それ以上では Address Windowing Extensions (AWE)(英語)を使って プログラムする。
VC++ リンカ オプション , 4GT RAM チューニングのアプリケーションでの利用について

上記の Windows の限界に挑む: 仮想メモリ Windows の限界に挑む: ページ プールと非ページ プール によれば、64ビット Windows では 32ビットアプリケーションがそのままで 3.4ギガバイトまでアクセス可能だとか。

Windows XP Service Pack 2、Windows XP Tablet PC Edition 2005、および Windows Server 2003 のデータ実行防止 (DEP) 機能の詳細

SQL Server の説明ですが、4GT RAM チューニング (/3GB スイッチ) と AWE の概要説明が日本語でありました。 技術的には全く同じです。
プロセス アドレス空間
AWE の使用

最近は Wiki があるので、そちらを読んだ方が良いかもしれません。
物理アドレス拡張( ウィキペディア )
4-Gigabyte Tuning( ウィキペディア )

32bit Windows では 4GB 全部を認識する事ができない。
4 GB の RAM が搭載されている場合、Windows Vista の [システム情報] ダイアログ ボックスで報告されるシステム メモリが予想より小さい

 

プログラミング

64 ビット Windows プログラミング ガイド , 新しいデータ型 , ポインタの使用規則

64 ビット アプリケーション , Visual C++ の 64 ビットへの移行に関する一般的な問題
x64 呼び出し規約の概要
32 ビット マネージ コードを 64 ビットに移行する

ここ のメモを見ると、SDKを入れればVisual Studio 2010 Expressで64ビット開発可能なようです。
Visual C++ 2008 Express Edition レジストリ変更用の記述(外国人のブログ、英語)

64 ビット ドライバに関するガイドライン

64ビットになると何が変わる?――64ビットプログラミングのデータモデル( ITmedia エンタープライズ)

Visual Studio は 32bit だけれど 64bit をデバッグできる
方法 : 64 ビット アプリケーションをデバッグする
64 ビット プラットフォームでのデバッグ

 

その他

64ビット・仮想化技術 対応CPU
intel の CPU は、 ここ からプロセッサーを選んでクリックして行き、そのページの「概要」か「技術情報」か「仕様」の中に インテル 64 とインテル VT 対応の記述が あります。 あるいは、 インテル プロセッサー識別ユーティリティー SSPEC/QDF Reference(英語)か Processor Spec Finder(英語)を 使って下さい。 インテル VT 対応リスト(英語)も あります。
AMD の CPU は、 ここ の右側にある「プロセッサーの比較」をクリックして開き、ファミリー名などを選択して行き 対象を絞って下さい。そのあと "View Detail" をクリックするとその CPU の詳細が出ます。 Virtualization を Yes にセットしても 表示が絞れます。 Athlon X2 5000+ あたりから前の CPU は、名前が一緒でも新旧混じっているので CPU 名だけでは 仮想化に対応しているかどうかは 分かりません。ご注意下さい。

Microsoft Hardware-Assisted Virtualization Detection Tool
Windows 7の「Windows XP Mode」が利用可能かをチェック「VirtualChecker」 ( 窓の杜 , OpenLibSys.org )

仮想化技術
インテル バーチャライゼーション・テクノロジー(インテル VT) ( intel )
AMD Virtualization (AMD-V)(英語)( AMD )

64ビット版インストール 情報
( 旧情報 64 ビット版の一般向け Windows Vista のインストールの選択 )

64ビット版の Internet Explorer は 64ビット版の Windows に入っています。

Java SE ダウンロード ( 英語、Oracle )
64 ビット Windows オペレーティングシステムで Java を使用する場合、どのバージョンをダウンロードすればよいですか ? ( Oracle )
# 32ビット版と64ビット版の各ブラウザで こちら へアクセスすればランタイム (JRE) が入ります。

Firefox Nightly Builds ( テスト用ビルド )
( Firefox for Windows x64 build(英語), Mozilla for Windows x64 platform(英語)( Mozilla x86-64 ) )

64-bit Support ( 英語、 The Chromium Projects , chromium )
# Google Chrome にはまだ 64ビット版は無いようです。
( The Chromium Projects(英語), Native Client in Chrome on 64-bit Windows(英語))

Adobe Flash Player は、64ビット正式版も出ています ( Adobe )

Microsoft Silverlight も、64ビット正式版が出ました。

Windows 7 情報
Windows 7 ホーム , Windows 7 ヘルプと使い方
Windows 7 対応製品情報
Windows 7 の技術情報サイト

Windows 7 Upgrade Advisor
ステップ バイ ステップ: Windows 7 へのアップグレードと移行

Windows 7新時代 ( @IT )
Windows 7ウォッチ ( 日経BP ITpro )

Windows 7は最後の32ビットWindowsか (1/2) (2/2) ( ITmedia AnchorDesk )
Windows 7 でメールを快適に使おう

ページング ファイルのサイズ 決定方法
64 ビット版の Windows Server 2003 または Windows XP の適切なページング ファイル サイズを決定する方法
Windows XP で最適化と回復のためにページ ファイルを構成する方法( 32 ビット )
Windows XP のパフォーマンス オプションの設定方法( 32 ビット )

必要メモリ・サイズを見極める( @IT )
最適なページ・ファイル・サイズを知るには( @IT )