Lionの公開からほぼ1年、Macintoshプラットフォーム向けの新OS「OS X Mountain Lion」がリリースされた。比較的短期間でのバージョンアップであることから、その変化の幅を気にかけていたユーザも少なくないはず。iOSとの融合は進展したのか、UIは改良されたのか、OSの基盤は強化されたのか……それら気がかりな点を一歩踏み込む形でチェックしてみよう。

64ビット対応が完了

インストールを終えMountain Lionを起動すると、デスクトップピクチャやDock領域の透明感が変わったことに気付くが、本稿ではそのような事柄を特に取り上げない。まずはTerminalを起動し、システムの基底部分を覗くことから始めてみよう。

最初にチェックするのは、カーネルの動作モード。「getconf LONG_BIT」を実行し、戻り値が「64」であれば64ビット、「32」であれば32ビットカーネルで動作していることがわかるからだ。今回テストに利用したのはMac mini(Mid 2011)、搭載されるCPUはCore i5 2.3GHz、Lionの時点から64ビットモードで動作していたこともあり、やはり「64」と表示された。

次に実行したコマンドは「file」、これでカーネルイメージ(/mach_kernel)に32ビットコードが含まれるかどうかをチェックする。結果は「Mach-O 64-bit executable x86_64」、これでMountain Lionは64ビットモード以外では動作しないことが確定された。

Mountain Lionのカーネルには64ビットコードしか含まれない

ドライバ類は64ビット対応完了、ライブラリは引き続き32ビットをサポート

カーネルが64ビットモードでしか動作しないということは、KEXTなどドライバ類も同じく64ビット対応を終えていなければならない。KEXTは数が多いため、今度は「システム情報」を使ってチェックしてみよう。

画面左の領域でソフトウェア→機能拡張の順に選択すると、現在システムで有効なKEXTを一覧できる。この画面でKEXTが対応するCPUアーキテクチャの情報をチェックすれば、KEXTからも32ビットコードが取り除かれたかどうかを確認できる。

結果は、そのほとんどが64ビットオンリーに変更されていた。Lionまでのシステムにあった「i386」は、IO80211Family.kextやSandbox.kextなど一部例外を除き取り除かれ、64ビット環境への完全移行を終えていた。

Lionの「IOHDIFamily」。アーキテクチャ欄を見れば、32/64ビット両方のコードが収録されていることがわかる

Mountain Lionの「IOHDIFamily」。ピュア64ビット環境への移行プロセスを終えたことにより、多くのKEXTから32ビットコードが取り除かれた

一方、アプリケーションレベルで見ると、主要なライブラリ/フレームワークは32ビットコードを残しているため、引き続き32ビットアプリケーションを利用できる。ただし、かつてのIntel/PowerPCという区別はFinderレベルでは行われなくなり、結果として「ユニバーサルアプリケーション」の表記を目にする機会は大幅に減った。

実際、アプリケーションに含まれるPowerPCコードの存在は無視される。Lionまでは、PowerPC/Intel(i386)両対応のアプリケーションは、Finderの情報ウインドウに「Universal」と表示されていたが、PowerPC非対応が前提のMountain Lionでは表記が「32ビット」に改められた。もちろん、これは"(Intelの)32ビット"という意味だ。

Intel/32ビットコードを持つアプリケーションの情報ウインドウ。Lion(左)では「Intel」と認識されているが、Mountain Lionへのアップデート後は「32ビット」に変わった

PowerPC/Intel 32ビットコードを持つアプリケーションの情報ウインドウ。Lion(左)では「Universal」と認識されているが、Mountain Lionへのアップデート後は「32ビット」に変わった