回答:
32ビットプログラムを正常に実行できます。16ビットプログラムは実行できません。
XPモードはちょっとした保険です。特定のソフトウェアが7で動作しない場合(32または64ビット-XPモードは、プロフェッショナル版とその両方で利用できます)、XPモードで実行できます。これはまだ私には起こっていませんが、おそらく「死にゆく手からXPを奪うことができる」観客のためでしょう。
ほとんどの場合、互換モードはこれを行います
私はこれが非互換性にいくつかの光を投げかけることを望みます:
マイクロソフトは、64ビットバージョンのカーネルを強化することを決定しました。デバイスドライバーは、カーネルと同じレベルのハードウェアへのアクセス権を持っているため、セキュリティの名前で64ビットバージョンで変更された特定の事項は次のとおりです。
マイクロソフトはまた、新しいビデオディスプレイドライバーモデル(LDDM)に切り替えましたが、古いモデル(XDDM)を維持しました。古いモデルのXDDMはAeroをサポートしていません。
一部のプログラムは、タスクを実行するためにカスタマイズされたデバイスドライバーをオンザフライでロードします。これらはVista / 7では完全に機能しません。
MicrosoftはVista / 7でかなりの数のコンポーネントを更新しました。これは、これらのコンポーネントの文書化されていない動作の変更を意味する可能性があります。これらのコンポーネント内のバグに依存するプログラム、またはドキュメントに記載されていないDLL関数にも問題があります。
32ビットのプログラムは、64ビットのWindowsでも問題なく実行できます。
XPモードは、いずれかのフレーバーのWindows VistaおよびWindows 7と互換性のないプログラム用です。
詳細については、このArs Technicaの記事を参照してください。
この問題は、Windows Vistaのリリースで本当に頭に浮かびました。VistaとXPの互換性は非常に良好でしたが、完全ではありませんでした。Microsoftは、Vistaを攻撃に対して強化するために多くの作業を行いました(もちろん、UACだけでなく、サービスによるユーザー操作の禁止など)。これらの変更と改善に加えて、バージョン番号の更新などのより平凡なものも一緒に行いましたWindowsには、古いソフトウェアを壊すために共謀しています。