一般的なWindowsとはx86系CPU対応のWindowsのことを示す。かなり割り切った説明をしてしまっているが、いわゆるIntel CPUやAMD CPUで動くWindowsがスタンダードであり、かつてのWindows NTではx86版、Alpha版、MIPS版、PowerPC版などが存在したのだが、淘汰されて一時期はx86系CPU対応のWindows(x86/x64版)のみになってしまったのだ。
Windows上で動作するプログラムも、基本的にはx86/x64版Windowsを動作前提としている(下画像は一般的なx64版Windowsのバージョン情報、x64ベースに着目)。
構造的に言えばARM CPU(Snapdragonなど)ではx86向けに書かれたプログラムはそのまま動かない。これはそもそもCPUアーキテクチャが異なるので「動かないのが当たり前」なのだ(まだ結論ではない、最後まで読んでほしい、下画像はARM版Windowsのバージョン情報、ARMベースプロセッサに着目)。
実際に、Windows 8とほぼ同時期にリリースされたOSに「Windows RT」というARM向けCPU用のWindowsがあるが(当時はARM32)、このWindows RTはOSでありながらARM用Officeのプログラムを同梱しており、ストア以外からのプログラムインストールは一切受け付けないという割り切った仕様だった。
つまり、x86/x64版Windowsを前提として作られたプログラムは一切動作しなかったである(下画像はWindows RTを搭載したSurface RTのシステムと世にも珍しいOffice RT)。
Windows RTには「マルウェア対策においてほぼ鉄壁(サンドボックスのみであったストアアプリ以外のプログラムは導入できないので、システムを侵されようがない)」という優れた利点があったのだが、結局市場から消えてしまった(連載でも述べているが、筆者は比較的お気に入りPCだった)。
そして時は流れ、再びARM版として登場してきたのが「ARM版Windows 10」である。こちらはARM版でありながらプログラムのインストールが可能であり、「x86用に作られた32ビットアプリ(Win32アプリともいう)」が動作可能という特徴を持っていた(ここはあくまでも登場時の話だ、下画面はARM版Windows 10を搭載したSurface Pro X)。
・・・と、いうことで、リリース当初の「ARM版Windows 10」はARM CPUであるにもかかわらず、「x86用に作られた32ビットアプリ」が動作可能ではあるという点に優れていたが、「x64用に作られた64ビットアプリ」を動作させられなかったのである。
長くなったので今回はここまでにするが、現在のARM版Windows 11(SnapdragonやMicrosoft SQ搭載機)は「x64用に作られた64ビットアプリ」も動作するようになった。しかし、ARM版Windows 11におけるアプリの互換性はどうか? 実用上問題はないか? 快適か? という話は次回以降に解説する。