10A432 çalıştıran 4GB belleğe sahip bir MacBook Pro'm (5,1) var - ancak 32 bit çekirdeği çalışıyor.
64-bit modunda neden çalışmadığı hakkında bir fikrim var ve bunu nasıl alabilirim?
10A432 çalıştıran 4GB belleğe sahip bir MacBook Pro'm (5,1) var - ancak 32 bit çekirdeği çalışıyor.
64-bit modunda neden çalışmadığı hakkında bir fikrim var ve bunu nasıl alabilirim?
Yanıtlar:
Jon Siracusa'nın Snow Leopard İncelemesi'nde 64 bit geçişi tartışıyor .
Kısa sürüm: 'karışık mod' olmadığından, 64 bit çekirdek 64 bit Çekirdek Uzantıları ve Sürücüleri gerektirir .
Bunlar henüz yaygın olarak bulunmadığından, Apple birçok şeyi kırmaktan kaçınmak için varsayılanı 32 bit olarak seçti.
Makaleden talimatlar:
Tüm K64 özellikli Mac'ler için, 64 bit çekirdeği seçmek üzere "6" ve "4" tuşlarını aynı anda basılı tutarak önyükleme yapın. Daha kalıcı bir çözüm için, dizenize eklemek
arch=x86_64
için nvram komutunu kullanınboot-args
veya dosyayı düzenleyin/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
vearch=x86_64
Çekirdek Bayrakları dizesine ekleyin :
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
32 bit çekirdeğe geri dönmek için, önyükleme sırasında "3" ve "2" tuşlarını basılı tutun veya "x86_64" yerine "i386" yazarak yukarıdaki tekniklerden birini kullanın.
Diğer işletim sistemlerinin aksine, Snow Leopard'da 64 bit çekirdeği çalıştırmanın pek bir yararı yoktur. Windows ve Linux'ta, 64 bit uygulamaları çalıştırmak için 64 bit çekirdeğe ihtiyacınız vardır. OS X'te, 32 bit çekirdekli 64 bit uygulamaları çalıştırabilirsiniz.
Çoğu insan, 32 bit çekirdeği OS X'te çalıştırmanın makinelerinin performansını veya yeteneklerini sınırladığından endişe ediyor gibi görünüyor, ancak pratikte bunun önemli bir maddi etkisi yok. 32 bit çekirdek, 64 bit uygulamaların çalışmasını destekler ve bu uygulamaların çekirdek tarafından 36 bit PAE adres alanına eşlenen sanal bir 64 bit adres alanı vardır, bu nedenle 64- daha sınırlı bellek kullanımı ve kullanılabilir aralıkta bellek eşlemeli G / Ç ile bit çekirdeği. Apple'ın 32 bit çekirdekteki bu adres alanını işleme biçimi fiziksel bellek için 32 GB'lık bir sınırla sonuçlanır ve PAE ile 4 GB'lık 32 bitlik sınırı aşar. Performans açısından, 32 GB veya daha az belleğe sahip 64 bit çekirdek kullanarak ölçülebilir bir fayda varsa, pek bir faydası yoktur. Eğer istersen,6ve 4başlangıçta anahtarlar. Performansta önemli bir fark göreceğinizden şüpheliyim.
Diğer sorun aygıt sürücüleri, çekirdek uzantıları ve aygıtın ürün yazılımı ile uyumluluktur. Aygıt sürücüleri ve çekirdek uzantıları için, bitlerle eşleşmeleri, yeniden derlenmeleri veya yeniden yazılmaları gerekir (özellikle, bu tür kodlarda hangi bölümlerin ortak olduğu herhangi bir montaj varsa). Apple'ın EFI başlangıçta sadece 32 bit olarak geldi ve son zamanlarda bazı modellerde 64 bit ürün yazılımı var. İşletim sisteminin bellenimle konuşabilmesi için, çekirdeğin ve EFI'nin bit eşleşmesi gerekir. EFI ile konuşmayı içeren şeyler, bir başlangıç diski veya bazı güç yönetimi denetimleri seçmek gibi şeylerdir (birden fazla OS X kurulumunuz varsa ve pil bittikten sonra uyku modundan çıkmanız gerekiyorsa).
Peki 64-bit çekirdek bir fayda olur mu? Performans açısından gerçekte pratikte değil ve daha iyi uyumluluk için Snow Leopard'ı çalıştıran makinelerin çoğu için 32 bit çekirdekler kullanarak Apple'ın bilgeliğini görebiliyorum.
MacRumors'a sızdırılanlara göre (resmi belgeler NDA altında olduğu için) ( Kaynak ) yalnızca aşağıdaki bilgisayarlar 64 bit çekirdeği çalıştırmayı destekler:
Yalnızca XServes varsayılan olarak 64 bit çekirdeği kullanır.
Bilgisayarı 6ve 4tuşlarını basılı tutarak başlatırsanız 64 bit çekirdeği başlatırsınız veya NDA'larını kıran başka bir kaynağa göre /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
bir çekirdek bayrağı eklemeyi düzenleyebilir veya nvram'da yapabilirsiniz.
Jason'ın maalesef gizlenmiş bağlantısı çok faydalı bir bilgi sakladı:
ioreg -l -p IODeviceTree | grep firmware-abi
64 bit EFI Mac'ler rapor verecek
| | "firmware-abi" = <"EFI64">
Snow Leopard piyasaya sürülene kadar hangi sistemlerin 64/32 bit modunu destekleyeceğini bilemeyiz ... Ancak tüm göstergeler Snow Leopard'ın çekirdek desteği ile şeffaf olacağı ...
Ancak, ne yazık ki, "downer" olduğu için üzgünüm, kayıtlı bir Appleseed üyesiyseniz, Appleseed forumu çekirdeğin 64 bit moduna nasıl zorlanacağını tartışır. Aksi takdirde, başka bir yerde Snow Leopard aldıysanız, endişelenmeyin.
Snow Leopard'ın serbest bırakılması hemen köşede ...
Sorun yok, işte neden:
32 bit SL 64 bit uygulamalar çalıştıracaktır; SL, önyükleme yaptığınız çekirdek sürümüne bakılmaksızın 64 bit uyumlu
32 bit çekirdekli önyükleme yapsa bile SL hala 64 bit uygulamaları çalıştırabilecek ve 4GB'tan fazla RAM'e hitap edebilecek
64 bit çekirdeğe ihtiyacınızın nedeni, çekirdeğin 32 GB RAM'den fazlasını ele alması gerektiğidir (bu nedenle Xserve'de varsayılan değerdir) veya yalnızca 64 bitlik bir kext (geliştiriciler) varsa
64 bit çekirdekler bilgisayarınızı sihirli bir şekilde daha hızlı yapmaz; 32 GB'den fazla RAM'e ihtiyacınız yoksa (sadece IOW sadece Xserves), nedenleri ele almak için de buna ihtiyacınız yoktur
tüketici sistemlerinde 32 bit varsayılan yaparak ve profesyonellere ve geliştiricilere Apple'ın maksimum uyumluluğu ve maksimum esnekliği koruduğu 64 bit çekirdek seçeneğini sunarak
64 bit genellikle bir geliştirici seçeneğidir; 64 bit çekirdeği ile çalıştıklarından emin olmak için yeni 64 bit sürücülerini / kexts'lerini test etmek için kullanabilirler
Başka kelimelerle yazılan ve alıntılanan Snow Leopard varsayılan olarak 32 bit çekirdeği yükler