しかし、Mac OS Xのコアコンポーネントであるカーネルは、「MacBook」「iMac」などのコンシューマー向けマシンでは依然として、デフォルトで32ビットのソフトウェアとなっている。ただし、Appleはアプリケーションが4Gバイト以上のメモリを使えるようにカーネルを設計したので、カーネルはメモリをすべて管理できる。
Appleは、64ビットのパフォーマンスについての開発者向け文書で、次のように述べている。「通説:カーネルが64ビットのプロセッサ向けに完全に最適化されるためには64ビットである必要がある。事実:カーネルは一般的に、4Gバイト以上のRAMのアドレスを同時に指定する必要はない」
しかし、Appleの32ビットカーネルは、非常に大容量のメモリでは限界に直面する。「そのため、Snow Leopardから、大容量のメモリ構成をサポートするハードウェア(「Xserve」サーバ製品や「Mac Pro」ワークステーション)上ではカーネルを64ビットの実行ファイルに移行してゆく」とAppleは述べている。
カーネルの32ビットから64ビットへの移行において問題となる点は、ドライバも64ビットでなければならないということだ。OSは、ドライバソフトウェアを通じて、プリンタやビデオカード、ハードドライブなどのデバイスとやり取りする。ハードウェアデバイスがAppleの管理下にあればそれほど問題にはならないが、サードパーティー製のデバイスとそのドライバをすべて移行するのは難しい。
しかしAppleは、64ビットへの移行はそれほど難しくないと主張する。Appleはリファレンス文書で、「ドライバの開発者は、ドライバを64ビットバイナリにアップデートする必要がある。幸いなことに、多くのドライバはコンパイル設定を変更すれば『問題なく動作』する」と述べている。
これらすべては非常に低レベルの話に聞こえるかもしれないが、プログラマーからすると、Appleは実際のところ、これまでにないほど高レベルの取り組みをしている。並列プログラミングを採用しようという試みの多くは、ほとんどのプログラマーが対処しようと思わないほど、あるいは対処できないほど多くの要求を課していたので、Appleの取り組みは価値あるものになるかもしれない。
そして、プログラマーを引きつけることこそが重要だ。結局のところ、Grand Central DispatchやOpenCLといった、高度なテクノロジへのAppleの動きは、ほかの開発者にそれらを使用してもらえなければ、成功しない。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。原文へ
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス