Mam MacBooka Pro (5,1) z 4 GB pamięci z systemem 10A432 - ale działa na nim jądro 32-bitowe.
Jakieś pomysły, dlaczego nie będzie działać w trybie 64-bitowym i jak mogę to zrobić?
Mam MacBooka Pro (5,1) z 4 GB pamięci z systemem 10A432 - ale działa na nim jądro 32-bitowe.
Jakieś pomysły, dlaczego nie będzie działać w trybie 64-bitowym i jak mogę to zrobić?
Odpowiedzi:
W Review of Snow Leopard Jona Siracusa omawia przejście 64-bitowe .
Wersja krótka to: ponieważ nie ma „trybu mieszanego”, 64-bitowe jądro wymaga 64-bitowych rozszerzeń i sterowników jądra .
Ponieważ nie są one jeszcze powszechnie dostępne, Apple wybrał domyślną wersję 32-bitową, aby uniknąć zepsucia wielu rzeczy.
Instrukcje z artykułu:
W przypadku wszystkich komputerów Mac z obsługą K64 uruchom komputer, przytrzymując jednocześnie klawisze „6” i „4”, aby wybrać 64-bitowe jądro. Aby uzyskać bardziej trwałe rozwiązanie, użyj polecenia nvram, aby dodać
arch=x86_64
doboot-args
łańcucha lub edytować plik/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
i dodaćarch=x86_64
do łańcucha flag jądra:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Aby przełączyć się z powrotem na jądro 32-bitowe, przytrzymaj klawisze „3” i „2” podczas rozruchu lub użyj jednej z powyższych technik, zastępując „x86_64” „i386”.
W przeciwieństwie do większości innych systemów operacyjnych uruchomienie 64-bitowego jądra w systemie Snow Leopard nie przynosi większych korzyści. W systemach Windows i Linux potrzebujesz 64-bitowego jądra do uruchamiania 64-bitowych aplikacji. W systemie OS X można uruchamiać 64-bitowe aplikacje z 32-bitowym jądrem.
Wydaje się, że większość ludzi obawia się, że uruchomienie 32-bitowego jądra w OS X ogranicza wydajność lub możliwości ich komputerów, ale w praktyce nie ma to znaczącego wpływu materialnego. 32-bitowe jądro obsługuje działające aplikacje 64-bitowe, a te aplikacje mają wirtualną 64-bitową przestrzeń adresową, która jest odwzorowywana przez jądro na 36-bitową przestrzeń adresową PAE, więc zachowują się tak samo, jak na 64- jądro bitowe, tylko z bardziej ograniczonym wykorzystaniem pamięci i odwzorowaniem pamięci we / wy na użyteczny zakres. Sposób, w jaki Apple obsługuje tę przestrzeń adresową w 32-bitowym jądrze, powoduje ograniczenie pamięci fizycznej do 32 GB, przełamując limit 4 GB 32-bitowy za pomocą PAE. Pod względem wydajności nie ma wiele korzyści, jeśli jest mierzalna w ogóle przy użyciu 64-bitowego jądra z 32 GB pamięci lub mniej. Jeśli chcesz,6i 4klucze przy uruchomieniu. Wątpię, żebyś zobaczył i znaczącą różnicę w wydajności.
Innym problemem jest zgodność ze sterownikami urządzeń, rozszerzeniami jądra i oprogramowaniem układowym urządzenia. W przypadku sterowników urządzeń i rozszerzeń jądra muszą one być zgodne z bitem, zostać ponownie skompilowane lub przepisane (szczególnie jeśli mają one dowolny zestaw, których części są wspólne w tego typu kodach). EFI firmy Apple pierwotnie był dostępny tylko w wersji 32-bitowej, a ostatnio niektóre modele mają 64-bitowe oprogramowanie układowe. Aby system operacyjny mógł komunikować się z oprogramowaniem układowym, bit-kernel i EFI muszą się zgadzać. Do rzeczy, które wymagają rozmowy z EFI, należą wybranie dysku startowego lub niektórych elementów sterujących zarządzaniem energią (np. Jeśli masz więcej niż jedną instalację OS X i musisz obudzić się ze stanu uśpienia po wyczerpaniu się baterii).
Czy więc 64-bitowe jądro byłoby korzystne? Pod względem wydajności nie do końca w praktyce. Widzę mądrość firmy Apple używającej 32-bitowych jąder dla większości komputerów z systemem Snow Leopard w celu uzyskania lepszej kompatybilności.
Zgodnie z tym, co wyciekło do MacRumors (ponieważ oficjalne dokumenty są objęte umową NDA) ( źródło ), tylko następujące komputery obsługują jądro 64-bitowe:
Tylko XServes domyślnie używają 64-bitowego jądra.
Jeśli uruchomisz komputer z klawiszami 6i 4, uruchomisz jądro 64-bitowe, lub według innego źródła łamiąc ich NDA, możesz edytować /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
dodając flagę jądra lub zrobić to w nvram.
Niestety zaciemniony link Jasona ukrył bardzo przydatną informację:
ioreg -l -p IODeviceTree | grep firmware-abi
64-bitowe komputery Mac EFI będą zgłaszać
| | "firmware-abi" = <"EFI64">
Dopóki Snow Leopard nie zostanie wydany, nie będziemy wiedzieć, jakie systemy będą obsługiwały tryb 64/32 bitowy ... Ale wszystko wskazuje na to, że Snow Leopard będzie przezroczysty dzięki obsłudze jądra ...
Ale, niestety, przykro mi, że jesteś „downer”, jeśli jesteś zarejestrowanym członkiem Appleseed, forum Appleseed omawia, jak zmusić jądro do trybu 64-bitowego. W przeciwnym razie, jeśli otrzymałeś Snow Leopard w innym miejscu, nie martw się o to.
Premiera Snow Leopard jest tuż za rogiem ...
W porządku, oto dlaczego:
32-bitowy SL BĘDZIE uruchamiał 64-bitowe aplikacje; SL jest 64-bitowy, bez względu na to, którą wersję jądra uruchamiasz
SL nawet po uruchomieniu z 32-bitowym jądrem nadal będzie mógł uruchamiać 64-bitowe aplikacje i adresować ponad 4 GB pamięci RAM
powodem, dla którego potrzebujesz 64-bitowego jądra, jest to, że jeśli jądro musi obsłużyć więcej niż 32 GB pamięci RAM (stąd jest domyślnie w Xserve) lub masz tylko 64-bitowy kext (deweloperzy)
Jądra 64-bitowe nie przyspieszają magicznie komputera; chyba że potrzebujesz więcej niż 32 GB pamięci RAM (zresztą IOW tylko Xserves), nie potrzebujesz jej również ze względów adresowych
wprowadzając domyślną wartość 32-bitową w systemach konsumenckich oraz dając profesjonalistom i programistom opcję 64-bitowego jądra, Apple zachowuje maksymalną kompatybilność ORAZ maksymalną elastyczność
Wersja 64-bitowa jest głównie opcją programistyczną; mogą go użyć do przetestowania swoich nowych 64-bitowych sterowników / kextów, aby upewnić się, że działają z 64-bitowym jądrem
Parafrazowane i cytowane z Snow Leopard domyślnie ładuje jądro 32-bitowe