「64bit対応」の編集履歴(バックアップ)一覧はこちら
「64bit対応」(2009/10/16 (金) 20:20:50) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*■ OSXの64bit対応について
OSXでは4GB以上のメモリを使用でき、内部も一部64bit化がされている。しかしながら、完全に64bit化するのはOSX 10.6 Snow Leopardからで、10.5まではカーネル及びデバイスドライバも32bitのままである。
#image(http://www39.atwiki.jp/macmini/pub/64bit.gif,width=600,height=400,title=各OSの64bit対応度,http://www.appleinsider.com/articles/08/10/28/road_to_mac_os_x_snow_leopard_64_bit_to_the_kernel.html,blank)
#right(){[[参考資料:Road to Mac OS X 10.6 Snow Leopard: 64-Bits>>http://www.appleinsider.com/articles/08/08/26/road_to_mac_os_x_10_6_snow_leopard_64_bits.html]]}
Windows XPやVistaの例から32bit OSでは扱えるメモリは4GB(使用するチップセットによっては約3.3GB)までという認識が広まっているが、CPUがPAE(Physical Address Extension)、及びチップセット、OSが4GB以上のアクセスに対応していれば、32bit OSでも最大64GBまでのメモリを扱うことができる。
Windowsの例を挙げると32bit版Serverエディションの、Windows 2000 Advance Server以降、Windows 2003 Enterprise Server以降、Windows 2008 Enterprise Server以降が該当する。
OSXも同様の事を行っており、Mac mini Early 2006, Late 2006 に搭載された32bit CPUのCore Solo、Core Duoは、PAE機能によりメモリは36bitアクセス(64GB)が可能で、4GB以上のメモリを扱う事ができる。しかしながら、これらCPUと組み合わせられたチップセット945GMEの最大メモリ量は4GBまでの制限があり、更にMemory Recalim(Memory Remap)機能にも対応していない為、最大メモリ量は実質3.3GB止まりのままであった。
その後、Core 2 Duo以降の64bit CPUが採用された機種では、64bit CPU用に新たに用意された32bit互換モードでカーネル/デバイスドライバを動作させる一方で、I/OKitを64bit化させることにより、アプリケーションが扱えるメモリは64bit CPUで実装された48bit(256TB)アクセスを行い、4GB以上のメモリを扱えるようにした。
ただし、Core 2 Duoを採用したMid 2007モデルは、CPUは64bitに対応しているが、チップセットが更新されなかった為、メモリの上限は3.3GBのままである。
従って、OSX 10.4から10.5では、メモリを4GB以上搭載することもでき、周辺機器も64bit用ドライバを用意せずともそのまま使用できる。
しかしながら、Early 2009で採用したチップセットGeForce 9400Mは、最大メモリ量が8GB(DDR2使用時は16GB)になり、Memory Recalim機能にも対応している為、メモリ4GB搭載時に4GB全て使用できるようになった。
ただし、これには使用するOSに条件があり、&color(red){&bold(){OSの最大サポートメモリ量が物理メモリ(4GB)+メモリホール量(約700MB)の総計に対応}}している場合、つまり、0S自体が4GB越えに対応している必要があり、4GBまでしか扱えないWindows XP/Vista/7の32bitでは、4GB搭載しても3.3GBまでしか扱えない。
したがって、Mac mini (Early 2009)で4GB搭載時に全て使用できる (Appleがサポートしているのは太字のみ)のは以下である。
|BGCOLOR(skyblue):4GB以上扱えるOS|BGCOLOR(skyblue):Apple|BGCOLOR(skyblue):Microsoft|BGCOLOR(skyblue):その他|
|32bit|&bold(){Tiger 10.4, &br() Leopard 10.5 &br() Snow Leopard 10.6}| Windows 2000 Advance Server以降, Windows 2003 Enterprise Server以降,&br() Windows 2008 Enterprise Server以降| Linux (PAEカーネル/例:Ubuntu 9.10 &br() linux-generic-paeパッケージ追加) |
|64bit|&bold(){Snow Leopard 10.6}|Windows XP x64, &bold(){Windows Vista 64bit}, Windows 7 64bit,&br() Windows 2003 Server x64以降, Windows 2008 Server x64以降, Windows 2008 Server R2| Linux 64 |
#image(http://www39.atwiki.jp/macmini/pub/MemoryRemap.jpg,width=600,height=500,title=Memory Remap 機能,http://www39.atwiki.jp/macmini/pub/MemoryRemap.jpg,blank,left)
**■結論
OSX Tiger、Leopardの正体は32bitカーネルを採用し、一部のライブラリ、コマンドが64bitに対応しているだけで、4GB以上のメモリを扱うことができる32bit OSである。Snow Leopardではカーネルの他、ライブラリ、アプリケーションフレームワークのCocoaも64bit化され、完全な64bit化が図られる。
なお、従来の32bitのみのCPUもサポートするため、i386とPower PCのコードを混在させたユニバーサルバイナリと同様の仕組みで、カーネルもデバイスドライバも32bit (i386) / 64bit (x86_x64)両方のバイナリコードを含んだユニバーサルバイナリで対応する。
開発版のSnow Leopardの情報を見ると、CPUが64bitに対応していれば、起動時にデフォルトで64bitカーネルをロード、そうでなければ32bitカーネルをロードしている。デバイスドライバも同様である。
・Snow Leopardのカーネル
>$ file /mach_kernel
>/mach_kernel: Mach-O universal binary with 3 architectures
>/mach_kernel (for architecture x86_64): Mach-O 64-bit executable x86_64
>/mach_kernel (for architecture i386): Mach-O executable i386
>/mach_kernel (for architecture ppc): Mach-O executable ppc
・Leopardのカーネル
>$ file /mach_kernel
>/mach_kernel: Mach-O universal binary with 2 architectures
>/mach_kernel (for architecture i386): Mach-O executable i386
>/mach_kernel (for architecture ppc): Mach-O executable ppc
***■追記(2009/09/07)
リリースされたSnow LeopardはXServeを除きデフォルトでは64bitカーネルはロードされない。64bitで起動させる為には、キーボードの「6」、「4」を同時に押して電源を入れるか、カーネルへの起動オプションとして、arch=x86_64を指定する必要がある。
しかしながら、カーネルブートローダ(boot.efi)内では機種を判別し、Mac mini、Mac Book、Mac Book Airなどの一部の機種では64bitカーネルをロードしないよう意図的に制限がかかっており、H/W(CPU、EFI)が64bit対応していても64bitカーネルは使用できない。
64bitカーネルのロード制限はブートローダによるソフトウエア制限なので、Appleの保証外になるが[[こちらの方法>>http://www39.atwiki.jp/macmini/pages/30.html]]で解除可能である。
----
[[戻る>トップページ]]
*■ OSXの64bit対応について
OSXでは4GB以上のメモリを使用でき、内部も一部64bit化がされている。しかしながら、完全に64bit化するのはOSX 10.6 Snow Leopardからで、10.5まではカーネル及びデバイスドライバも32bitのままである。
#image(http://www39.atwiki.jp/macmini/pub/64bit.gif,width=600,height=400,title=各OSの64bit対応度,http://www.appleinsider.com/articles/08/10/28/road_to_mac_os_x_snow_leopard_64_bit_to_the_kernel.html,blank)
#right(){[[参考資料:Road to Mac OS X 10.6 Snow Leopard: 64-Bits>>http://www.appleinsider.com/articles/08/08/26/road_to_mac_os_x_10_6_snow_leopard_64_bits.html]]}
Windows XPやVistaの例から32bit OSでは扱えるメモリは4GB(使用するチップセットによっては約3.3GB)までという認識が広まっているが、CPUがPAE(Physical Address Extension)、及びチップセット、OSが4GB以上のアクセスに対応していれば、32bit OSでも最大64GBまでのメモリを扱うことができる。
Windowsの例を挙げると32bit版Serverエディションの、Windows 2000 Advance Server以降、Windows 2003 Enterprise Server以降、Windows 2008 Enterprise Server以降が該当する。
OSXも同様の事を行っており、Mac mini Early 2006, Late 2006 に搭載された32bit CPUのCore Solo、Core Duoは、PAE機能によりメモリは36bitアクセス(64GB)が可能で、4GB以上のメモリを扱う事ができる。しかしながら、これらCPUと組み合わせられたチップセット945GMEの最大メモリ量は4GBまでの制限があり、更にMemory Recalim(Memory Remap)機能にも対応していない為、最大メモリ量は実質3.3GB止まりのままであった。
その後、Core 2 Duo以降の64bit CPUが採用された機種では、64bit CPU用に新たに用意された32bit互換モードでカーネル/デバイスドライバを動作させる一方で、I/OKitを64bit化させることにより、アプリケーションが扱えるメモリは64bit CPUで実装された48bit(256TB)アクセスを行い、4GB以上のメモリを扱えるようにした。
ただし、Core 2 Duoを採用したMid 2007モデルは、CPUは64bitに対応しているが、チップセットが更新されなかった為、メモリの上限は3.3GBのままである。
従って、OSX 10.4から10.5では、メモリを4GB以上搭載することもでき、周辺機器も64bit用ドライバを用意せずともそのまま使用できる。
しかしながら、Early 2009で採用したチップセットGeForce 9400Mは、最大メモリ量が8GB(DDR2使用時は16GB)になり、Memory Recalim機能にも対応している為、メモリ4GB搭載時に4GB全て使用できるようになった。
ただし、これには使用するOSに条件があり、&color(red){&bold(){OSの最大サポートメモリ量が物理メモリ(4GB)+メモリホール量(約700MB)の総計に対応}}している場合、つまり、0S自体が4GB越えに対応している必要があり、4GBまでしか扱えないWindows XP/Vista/7の32bitでは、4GB搭載しても3.3GBまでしか扱えない。
したがって、Mac mini (Early 2009)で4GB搭載時に全て使用できる (Appleがサポートしているのは太字のみ)のは以下である。
|BGCOLOR(skyblue):4GB以上扱えるOS|BGCOLOR(skyblue):Apple|BGCOLOR(skyblue):Microsoft|BGCOLOR(skyblue):その他|
|32bit|&bold(){Tiger 10.4, &br() Leopard 10.5 &br() Snow Leopard 10.6}| Windows 2000 Advance Server以降, Windows 2003 Enterprise Server以降,&br() Windows 2008 Enterprise Server以降| Linux (PAEカーネル/例:Ubuntu 9.10 &br() linux-generic-paeパッケージ追加) |
|64bit|&bold(){Snow Leopard 10.6}|Windows XP x64, &bold(){Windows Vista 64bit}, Windows 7 64bit,&br() Windows 2003 Server x64以降, Windows 2008 Server x64以降, Windows 2008 Server R2| Linux 64 |
#image(http://www39.atwiki.jp/macmini/pub/MemoryRemap.jpg,width=600,height=500,title=Memory Remap 機能,http://www39.atwiki.jp/macmini/pub/MemoryRemap.jpg,blank,left)
**■結論
OSX Tiger、Leopardの正体は32bitカーネルを採用し、一部のライブラリ、コマンドが64bitに対応しているだけで、4GB以上のメモリを扱うことができる32bit OSである。Snow Leopardではカーネルの他、ライブラリ、アプリケーションフレームワークのCocoaも64bit化され、完全な64bit化が図られる。
なお、従来の32bitのみのCPUもサポートするため、i386とPower PCのコードを混在させたユニバーサルバイナリと同様の仕組みで、カーネルもデバイスドライバも32bit (i386) / 64bit (x86_x64)両方のバイナリコードを含んだユニバーサルバイナリで対応する。
開発版のSnow Leopardの情報を見ると、CPUが64bitに対応していれば、起動時にデフォルトで64bitカーネルをロード、そうでなければ32bitカーネルをロードしている。デバイスドライバも同様である。
・Snow Leopardのカーネル
>$ file /mach_kernel
>/mach_kernel: Mach-O universal binary with 3 architectures
>/mach_kernel (for architecture x86_64): Mach-O 64-bit executable x86_64
>/mach_kernel (for architecture i386): Mach-O executable i386
>/mach_kernel (for architecture ppc): Mach-O executable ppc
・Leopardのカーネル
>$ file /mach_kernel
>/mach_kernel: Mach-O universal binary with 2 architectures
>/mach_kernel (for architecture i386): Mach-O executable i386
>/mach_kernel (for architecture ppc): Mach-O executable ppc
***■追記. (2009/09/07)
リリースされたSnow LeopardはXServeを除きデフォルトでは64bitカーネルはロードされない。64bitで起動させる為には、キーボードの「6」、「4」を同時に押して電源を入れるか、カーネルへの起動オプションとして、arch=x86_64を指定する必要がある。
しかしながら、カーネルブートローダ(boot.efi)内では機種を判別し、Mac mini、Mac Book、Mac Book Airなどの一部の機種では64bitカーネルをロードしないよう意図的に制限がかかっており、H/W(CPU、EFI)が64bit対応していても64bitカーネルは使用できない。
64bitカーネルのロード制限はブートローダによるソフトウエア制限なので、Appleの保証外になるが[[こちらの方法>>http://www39.atwiki.jp/macmini/pages/30.html]]で解除可能である。
----
[[戻る>トップページ]]