「Snow Leopard」が持つ技術--マルチコアの真価を引き出すために - (page 4)

文:Stephen Shankland(CNET News) 翻訳校正:川村インターナショナル2009年09月03日 07時30分

32ビットカーネル

 しかし、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の記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]