★なぜMac OS Xの64bit移行はスムーズなのか?(アスキー)
今度こそカーネルやデバイスドライバから64bit化を果たし真なる64bitOSになるMac OS X v10.6 Snow Leopard。以前に
★Mac OS X 10.5 (Leopard) は真の64bit OSではない?(2008年04月10日 (木曜日))
★Mac OS X v10.6 Snow Leopardで今度こそ、完全64bit化?(2008年10月31日 (金曜日))
なんて事を書きました。てっきり4GB以上ものメモリが普通に扱え普通にCocoaでも64bitアプリが動かせるようになり完全に64bit化したかと思いきや、カーネルやデバイスドライバは32bitに据え置き互換性を確保していました(というかFinderのCocoa化も10.5で済んだものと思うておりました)。
しかし今度のSnow Leopardではカーネルから何から何まで大半が64bit化します。しかしインテルCPU搭載機に限るとはいえ64bitをサポートしていないCore Duoとかだとどうするんだろうと思っていたら32bitカーネル等もうまく使用しユーザーには32ビット、64ビットを意識せずにOSが導入出来るようになるみたいですね。
ユニバーサルバイナリで様々なCPUに応じたバイナリを扱えるわけで今までは対応アプリによっては32bit/64bitのPowerPCのバイナリ、32bit/64bitのIntel x86 CPUのバイナリと多数のバイナリを収録していたのでしょうが今回はPowerPCのサポートはなくなりましたんでIntelの32bitと64bitのバイナリをサポートすればOKと。
両方のCPUをサポートしていたら4つのバイナリを詰め込まなければならないので削って置いてそういう意味でも正解ですかね。PowerPCマシンのユーザーをぶった切ったわけですが。
>Intel64による64bit(x86_64)と、これまでの32bit(i386)のどちらもに
>対応するのだろう。すなわちユーザーのMacによって、利用するカーネルを
>自動的に変えるということだ
>32bitのみ対応する「Core Duo」を備えたものや、64bit対応の
>「Core 2 Duo」を搭載していても64bit化による恩恵をあまり
>受けられないチップセットを採用するMacでは32bitのカーネル
>を利用する。一方で、最新の iMacやMacBook Pro、Mac Pro
>のように64bitを活かせる機種では、64bitのカーネルを起動
>32bitか64bitのどちらのカーネルで起動するかは、ユーザによっての選択ができるだろう。
>例えば64bitに完全対応したMacでも、デバイスドライバの都合で
>32bitカーネルが必要ならば、32bitカーネルで起動する
このやり方はうまいわな。アップル純正環境で現在売っているMacであれば64bitで何も問題ないだろうし位置的には微妙な位置で64bitはサポートしているCPUなものの周辺機器のドライバでまだ32bit環境が必要な部分では32bitカーネルで起動すると。そうすれば64bitの真の能力は生かせないまでも10.5と同様64bitアプリは実行出来るし。
32bitのみのCPUで64bitカーネルは動かせませんからまあその逆は出来ませんけど64bitCPUで64bitカーネル動かしていても32bitのアプリも動作出来ますから問題なし。
この移行の仕方はうまい、目の付け所がシャープですな。
関連
★ユーザーがほとんど意識する事なく真なる64bitOSに移行出来るMac OS X v10.6 Snow Leopard その2(2009年06月16日 (火曜日))
★PowerPCのサポートを終了し容量が半減しほぼ完全64bit化したMac OS X 10.6 Snow Leopardを9月発売!