Ich habe ein MacBook Pro (5,1) mit 4 GB Speicher, auf dem 10A432 ausgeführt wird - aber es wird der 32-Bit-Kernel ausgeführt.
Irgendwelche Ideen, warum es nicht im 64-Bit-Modus laufen würde und wie ich es dazu bringen kann?
Ich habe ein MacBook Pro (5,1) mit 4 GB Speicher, auf dem 10A432 ausgeführt wird - aber es wird der 32-Bit-Kernel ausgeführt.
Irgendwelche Ideen, warum es nicht im 64-Bit-Modus laufen würde und wie ich es dazu bringen kann?
Antworten:
In Jon Siracusas Review of Snow Leopard erörtert er den 64-Bit-Übergang .
Die Kurzversion lautet: Da es keinen gemischten Modus gibt, benötigt ein 64-Bit-Kernel 64-Bit-Kernel-Erweiterungen und -Treiber .
Da diese noch nicht weit verbreitet sind, hat Apple standardmäßig 32-Bit verwendet, um zu vermeiden, dass viele Dinge kaputt gehen.
Anleitung aus dem Artikel:
Booten Sie bei allen K64-fähigen Macs, während Sie gleichzeitig die Tasten "6" und "4" gedrückt halten, um den 64-Bit-Kernel auszuwählen. Verwenden Sie für eine dauerhaftere Lösung den Befehl nvram, um ihn
arch=x86_64
zu Ihrerboot-args
Zeichenfolge hinzuzufügen , oder bearbeiten Sie die Datei/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
und fügen Siearch=x86_64
sie der Zeichenfolge Kernel Flags hinzu:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Um zum 32-Bit-Kernel zurückzukehren, halten Sie beim Booten die Tasten "3" und "2" gedrückt oder verwenden Sie eine der oben genannten Techniken, um "x86_64" durch "i386" zu ersetzen.
Das Ausführen eines 64-Bit-Kernels in Snow Leopard bietet im Gegensatz zu den meisten anderen Betriebssystemen keinen großen Vorteil. Unter Windows und Linux benötigen Sie einen 64-Bit-Kernel, um 64-Bit-Anwendungen auszuführen. Unter OS X können Sie 64-Bit-Anwendungen mit dem 32-Bit-Kernel ausführen.
Die meisten Menschen scheinen besorgt zu sein, dass das Ausführen des 32-Bit-Kernels unter OS X die Leistung oder die Fähigkeiten ihrer Computer einschränkt. In der Praxis hat dies jedoch keine wesentlichen Auswirkungen. Der 32-Bit-Kernel unterstützt das Ausführen von 64-Bit-Anwendungen. Diese Apps verfügen über einen virtuellen 64-Bit-Adressraum, der vom Kernel einem 36-Bit-PAE-Adressraum zugeordnet wird, sodass sie sich genauso verhalten wie auf einem 64-Bit-Adressraum. Bit-Kernel, nur mit eingeschränkterer Speichernutzung und speicherabgebildeter E / A auf den nutzbaren Bereich. Die Art und Weise, wie Apple diesen Adressraum im 32-Bit-Kernel behandelt, führt zu einer Beschränkung des physischen Speichers auf 32 GB, wodurch die 32-Bit-Beschränkung von 4 GB mit PAE überschritten wird. In Bezug auf die Leistung gibt es keinen großen Vorteil, wenn es bei Verwendung eines 64-Bit-Kernels mit 32 GB Speicher oder weniger überhaupt einen messbaren gibt. Wenn du möchtest,6und 4Schlüssel beim Start. Ich bezweifle, dass Sie einen signifikanten Leistungsunterschied sehen würden.
Das andere Problem ist die Kompatibilität mit Gerätetreibern, Kernel-Erweiterungen und der Firmware des Geräts. Für Gerätetreiber und Kernel-Erweiterungen müssen sie mit der Bit-Ness übereinstimmen, neu kompiliert oder neu geschrieben werden (insbesondere, wenn sie eine Assembly haben, welche Teile in diesen Codetypen üblich sind). Apples EFI war ursprünglich nur in 32-Bit erhältlich, und in jüngerer Zeit verfügen einige Modelle über 64-Bit-Firmware. Damit das Betriebssystem mit der Firmware kommunizieren kann, müssen die Bit-Ness des Kernels und des EFI übereinstimmen. Wenn Sie mit EFI sprechen, müssen Sie beispielsweise eine Startdiskette oder einige Steuerelemente für die Energieverwaltung auswählen (z. B. wenn Sie mehr als eine OS X-Installation haben und nach dem Entladen des Akkus aus dem Ruhezustand aufwachen müssen).
Wäre ein 64-Bit-Kernel also ein Vorteil? In Bezug auf die Leistung nicht wirklich in der Praxis, und ich kann die Weisheit erkennen, dass Apple 32-Bit-Kernel für die meisten Computer verwendet, auf denen Snow Leopard ausgeführt wird, um eine bessere Kompatibilität zu gewährleisten.
Laut Angaben zu MacRumors (da die offiziellen Dokumente unter NDA stehen) ( Quelle ) unterstützen nur die folgenden Computer die Ausführung des 64-Bit-Kernels:
Standardmäßig verwenden nur die XServes den 64-Bit-Kernel.
Wenn Sie den Computer die Halte starten 6und 4Schlüssel werden Sie die 64-Bit - Kernel starten, oder nach einer anderen Quelle zu brechen ihre NDA können Sie bearbeiten das /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Hinzufügen eines Kernel - Flag oder tun es im NVRAM.
Jasons leider verschleierter Link versteckte eine sehr nützliche Information:
ioreg -l -p IODeviceTree | grep firmware-abi
Die 64-Bit-EFI-Macs melden dies
| | "firmware-abi" = <"EFI64">
Bis zur Veröffentlichung von Snow Leopard wissen wir nicht, welche Systeme den 64/32-Bit-Modus unterstützen ... Aber alle Anzeichen sprechen dafür, dass Snow Leopard für die Kernel-Unterstützung transparent ist ...
Aber leider tut es mir leid, ein "Wermutstropfen" zu sein. Wenn Sie ein registriertes Appleseed-Mitglied sind, wird im Appleseed-Forum erläutert, wie der Kernel in den 64-Bit-Modus versetzt werden kann. Wenn Sie Snow Leopard anderweitig erhalten haben, machen Sie sich keine Sorgen.
Die Veröffentlichung von Snow Leopard steht vor der Tür ...
Es ist okay, hier ist der Grund:
32-Bit-SL wird 64-Bit-Apps ausführen. SL ist 64-Bit-kompatibel, unabhängig davon, welche Kernelversion Sie starten
SL kann auch beim Booten mit dem 32-Bit-Kernel 64-Bit-Apps ausführen und mehr als 4 GB RAM adressieren
Der Grund, warum Sie den 64-Bit-Kernel benötigen, ist, wenn der Kernel mehr als 32 GB RAM adressieren muss (daher ist dies beim Xserve die Standardeinstellung) oder Sie nur einen 64-Bit-Kext haben (Entwickler).
64-Bit-Kernel machen Ihren Computer nicht auf magische Weise schneller. Wenn Sie nicht mehr als 32 GB RAM benötigen (IOW ohnehin nur Xserves), benötigen Sie es auch aus Gründen der Adressierung nicht
Durch die Festlegung der 32-Bit-Standardeinstellung auf Consumer-Systemen und die Bereitstellung der 64-Bit-Kernel-Option für Profis und Entwickler behält Apple maximale Kompatibilität UND maximale Flexibilität bei
64-Bit ist hauptsächlich eine Entwickleroption. Sie können damit ihre neuen 64-Bit-Treiber / Kexts testen, um sicherzustellen, dass sie mit dem 64-Bit-Kernel arbeiten
Paraphrasiert und zitiert von Snow Leopard lädt standardmäßig den 32-Bit-Kernel