64bit対応

「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]]で解除可能である。   ---- [[戻る>トップページ]]

表示オプション

横に並べて表示:
変化行の前後のみ表示: