Appleの最新バージョンMac OS Xをめぐる最大の混乱点の一つは、これが本当に64ビットOSなのか、それとも32ビットOSなのかという点です。AppleはSnow Leopardが最初から最後まで64ビットをサポートすると謳っていますが、業界関係者の中には真の64ビットOSではないと指摘する声もあります。一体何が原因なのでしょうか?
64 ビットって何でそんなに話題になるの?
AppleとMicrosoftは共に、64ビットコンピューティングを聖杯のように追い求めてきました。そしてある意味では、それは事実です。64ビットコンピューティングは、ハードウェアとソフトウェアの開発に多くの可能性を開きます。

64ビットプロセッサは32ビットプロセッサの2倍のレジスタ数を備えているため、クロックサイクルあたり2倍の情報を処理できます。これは明らかに、パフォーマンスが大幅に向上することを意味します。
64ビットコンピューティングのもう一つの大きな利点は、メモリのアドレス指定です。従来、アプリケーションは32ビット処理で利用可能なメモリ空間(最大4GB)をアドレス指定するように記述されてきました。システムのRAM容量が4GBを超える場合、32ビット処理向けに設計されたアプリケーションは4GBを超えるメモリを扱えなくなります。
対照的に、64ビット動作向けに開発されたアプリケーションは、最大16エクサバイト(160億GB)のRAMにデータをアクセスし、保存できます。複雑でデータ集約的なタスク(ハイエンドグラフィックス、ビデオ、科学計算ツールなど)を実行するメモリを大量に消費するアプリケーションの場合、プロセッサが備えるレジスタの数に関わらず、これだけでもパフォーマンスに大きな違いが生じます。
実際、64ビットコンピューティングでは、プロセッサとのやり取りに使用されるルーチンが32ビットコンピューティングよりも安全であるため、セキュリティがさらに強化されています。さらに、システムヒープ(アプリケーションが利用可能な共有メモリ)は、ハードプロテクションと強力なチェックサムアルゴリズムの両方を備えており、オペレーティングシステムとアプリケーションが使用するアドレス指定可能なメモリを破壊しようとする攻撃から保護します。
Snow Leopard は 64 ビットですか?
64ビットコンピューティングはパフォーマンス、メモリ使用量、セキュリティにおいて優れているため、AppleがSnow Leopardの64ビット機能をOSのセールスポイントとして宣伝しているのも当然と言えるでしょう。しかし、ここ数週間、OSNews、Gizmodo、Ars Technicaなどのブロガーが、Snow Leopardのプレリリース版では、OSの中核機能を提供するカーネルが、インストールされたほぼすべてのMacシステムで32ビットプロセスとして動作していることを指摘しています。
これは事実です。Snow Leopardのカーネルは、ほとんどのMacシステムでデフォルトで32ビット動作でロードされるように設計されています。しかし、一般的に64ビット動作の恩恵を受けない非常に低レベルの機能を実現するカーネルに焦点を当てることは、Snow Leopardにおける64ビットコンピューティングの真の意義を見失うことになります。
64ビットプロセッサ搭載のMacでSnow Leopardを使っている方なら、システムプロファイラユーティリティ(ユーティリティ内、またはAppleメニューの「このMacについて」ダイアログからアクセス可能)を開けばわかるように、Snow Leopardのアプリケーション、カーネル拡張、アプリケーションフレームワークの大部分は64ビットで動作します。つまり、Snow Leopardに同梱されているコアアプリケーションのほぼすべて(Finder、Spotlight、ディレクトリサービス、Dockなど)が64ビットモードで動作しているということです。
これらのアプリケーション フレームワークはすべて 64 ビット処理をサポートしています。64 ビット処理が可能な Mac では、32 ビット モードで読み込まれるフレームワーク、アプリケーション、カーネル拡張機能はごくわずかです。
これはまた、アプリケーション開発者が利用する必要があるOSのあらゆる部分(主にフレームワーク)をAppleが準備し、あらゆる64ビットアプリケーションに対応できるようにしたことを意味します。言い換えれば、Appleは開発者がパフォーマンス、速度、信頼性の面でより優れた新しいMacソフトウェアを開発するための道を切り開いているのです。
64ビットと32ビットの並置
Snow Leopard の最大の成果の一つは、64 ビットアプリケーションと 32 ビットアプリケーションを、ユーザーによる操作や中断なしに並行して実行できることです。32 ビットアプリケーションを起動すれば問題なく動作し、同時に 64 ビットアプリケーションを起動すれば問題なく動作します。ユーザーはアプリケーションが 32 ビットか 64 ビットかを気にする必要はありません。64 ビットアプリケーションの方が動作が速く、多少安定性が高いことに気づくでしょう。
IntelベースのMac(Snow Leopardを実行できる唯一のMac)はすべて64ビットマシンではないことに注意してください。2006年初頭から中頃に発売された最初のIntel Macは、64ビットのCore 2 DuoおよびXeonプロセッサではなく、Intelの32ビットCore DuoおよびCore Soloプロセッサを搭載していました。32ビットプロセッサを搭載しているのはごく少数のモデル(最初のIntel iMac、MacBook Pro、MacBook、Mac mini)のみでしたが、Snow Leopardとその上で動作するアプリケーションは、32ビットまたは64ビットのいずれかで動作するように設計する必要がありました。
Appleは自社のアプリケーションやその他のシステムコンポーネントでこれを実施しており、Snow Leopard向けに提供されている開発ツールにより、サードパーティの開発者は64ビット版と32ビット版のどちらのMacでも動作する製品を容易に開発できます。ユーザーのMacが32ビットマシンの場合、Snow Leopardとすべてのアプリケーションは32ビットモードで動作します。
Snow Leopardの前身であるLeopardは、2年前にリリースされた時点では64ビットアプリケーションの実行が可能だったことも特筆に値します。しかし、当時はMac OS Xのコアアプリケーションの多くは64ビット動作に対応しておらず、サードパーティ製アプリケーションの多くも同様でした。
現在、私たちは32ビットコンピューティングと64ビットコンピューティングの中間地点にいます。AppleがSnow Leopardで実現したのは、オペレーティングシステムのほぼすべての部分が32ビットでも64ビットでも動作できるようにすることです。そして、デフォルトでは、コンポーネントの大部分が64ビットモードで動作するようになっています。
ライアン・ファース氏は、Macとマルチプラットフォームネットワーク問題を専門とするComputerworldの常連寄稿者です。彼の最新著書『iPhone for Work: Increasing Productivity for Busy Professionals』は、今秋Apressより発売予定です。