Kann ich 64-Bit-Software auf einem 32-Bit-Betriebssystem X – 10.5.8 – Leopard installieren?

Kann ich 64-Bit-Software auf einem 32-Bit-OS X installieren?
Oder könnte ich mein 32-Bit-OS X auf 64-Bit-OS X "aktualisieren"?

Folgendes bekomme ich, wenn ich uname -aein Terminal eingebe:

Darwin gaukhar-alibayevas-macbook.local 9.8.0 Darwin Kernel Version 9.8.0: 
Wed Jul 15   16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
Es hängt von Ihrem Mac-Modell ab, also posten Sie es bitte.

Antworten (3)

Kurze Antwort: Wenn Ihr MacBook-Modell über eine 64-Bit-fähige CPU verfügt, können Sie 64-Bit-Apps unter 10.5.8 ausführen. Sie können die CPU mit dem Befehl sysctl hw.cpu64bit_capable( 0bedeutet nein, 1bedeutet ja) oder durch Nachschlagen des Modells überprüfen (wenn es eine „Core Solo“- oder „Core Duo“-CPU hat, ist es nur 32-Bit; wenn es ein „Core 2 Duo“ ist -- beachten Sie die "2" -- es ist 64-Bit).

Lange Antwort: OS X hat keine 32-Bit- und 64-Bit-Versionen; Es verwendet ein universelles Binärformat, mit dem Programme, Systemkomponenten usw. sowohl mit 32- als auch mit 64-Bit-Code installiert werden können, und das System wählt einfach das "beste" aus, das basierend auf der CPU verwendet wird, auf der Sie sich befinden. Über verschiedene Versionen von OS X wurde das, was mit dem Betriebssystem geliefert wird, schrittweise von 32-Bit (bis 10.2) auf minimale Unterstützung für 64-Bit-Apps (10.3 und 10.4) nur im Hintergrund migriert, um 64-Bit vollständig zu unterstützen Cocoa-Apps (10.5) zu einem vollständigen 32/64-Betriebssystem, einschließlich des Kernels (10.6), um die Unterstützung für den 32-Bit-Modus tatsächlich einzustellen (10.7 wird mit vielen reinen 64-Bit-System-Apps geliefert und wird nicht auf einem 32 -bit-only CPU).

Der 64-Bit-fähige Kernel, der in 10.6 hinzugefügt wurde, ist cool, aber für Benutzeranwendungen im Grunde irrelevant. OS X ist insofern ungewöhnlich, als es 64-Bit-Apps unter einem 32-Bit-Kernel sowie 32-Bit-Apps unter einem 64-Bit-Kernel transparent ausführen kann. Da 10.5 64-Bit-Cocoa-Apps vollständig unterstützt, ist ein Upgrade auf 10.6 nicht erforderlich.

Nachtrag: Selbst wenn Sie auf 10.6 aktualisieren, läuft der Kernel möglicherweise nicht im 64-Bit-Modus - Apple hat ihn so konfiguriert, dass er bei den meisten Modellen standardmäßig im 32-Bit-Modus startet. Wenn Ihr Modell 64-Bit-EFI-Firmware verwendet, können Sie 10.6 so konfigurieren, dass es im 64-Bit-Modus startet, aber wenn es ein älteres Modell ist, das 32-Bit-EFI verwendet, ist selbst das nicht möglich. Aber auch hier spielt es keine Rolle, da 64-Bit-Apps so oder so gut funktionieren.

Mit GRUB konnte ich meinen 32-Bit-EFI-Imac in 64-Bit-OS X 10.6.8 und Debian Jessie booten.

Das kann ziemlich schnell ziemlich komplex werden, aber die Kurzversion ist, dass Sie, wenn Sie Snow Leopard oder höher auf einem Mac ausführen, der auf einem Core 2 Duo Intel-Chip (oder neuer) läuft, 64-Bit-Apps ausführen können.

Sie sollten beachten, dass es keinen Unterschied zwischen den 32-Bit- und 64-Bit-Versionen von OSX gibt , der Unterschied liegt in der EFI , die im Wesentlichen die Firmware ist, die die Schnittstelle zwischen Ihrem Betriebssystem und Ihrer Hardware steuert. Einige ältere Macs verfügen über ein 32-Bit-EFI, andere über 64-Bit. In diesem Beispiel sehen Sie, dass meins ein 64-Bit-EFI ausführt.

StuffeMac:~ stuffe$ ioreg -l -p IODeviceTree | grep firmware-abi
| |   "firmware-abi" = <"EFI64">
StuffeMac:~ stuffe$ 

Bis jetzt wissen Sie also, dass Sie, wenn Sie ein 64-Bit-EFI auf der richtigen CPU-Hardware haben, mit 64 Bit gut zurechtkommen, und es wird auf Betriebssystemebene in einen 64-Bit-Kernel booten und Ihnen die Ausführung ermöglichen 64-Bit-Apps.

Es gibt jedoch Ausnahmen, da einige vollständig 64-Bit-Macs immer noch standardmäßig im 32-Bit-Modus booten . Was auch immer Ihr Systemstandard ist, Sie können das Gegenteil versuchen, indem Sie und beim Booten oder und gedrückt halten3264 . Dies war jedoch ein kurzfristiges Problem für bestimmte Macs, wenn Snow Leopard ausgeführt wurde, und ist jetzt auf neueren Macs/OS weitgehend kein Problem mehr.

Sie können sehen, welchen Kernel Sie im System Profiler verwenden:

  • Wählen Sie „Über diesen Mac“ im Menü „Apple“ ().
  • Klicken Sie auf Weitere Informationen.
  • Klicken Sie auf Systembericht (Optionaler Schritt, abhängig von der Betriebssystemebene)
  • Wählen Sie Software im Bereich Inhalt aus.
  • Suchen Sie unter der Überschrift Systemsoftware-Übersicht nach „64-Bit-Kernel und Erweiterungen: Ja (oder Nein)“.

Und jetzt für den letzten Kicker, jeder Mac, der auf der oben genannten CPU-Spezifikation läuft, unabhängig davon, ob er ein 32-Bit- oder 64-Bit-EFI hat und unabhängig davon, ob er dann in 32-Bit- oder 62-Bit-Kernel gebootet wird, kann immer noch 64-Bit-Apps ausführen zusätzlich zu einem 32-Bit-Betriebssystem-Kernel (!), was verdammt cool ist, ganz zu schweigen von höchst ungewöhnlich für die meisten Betriebssysteme der Desktop-Klasse, wie diese Notiz aus einer guten Überprüfung von 10.6 zeigt, wenn es um die 64-Bit-Frage geht:

Abschließend sei noch einmal darauf hingewiesen: Bitte denken Sie daran, dass Sie den 64-Bit-Kernel nicht ausführen müssen, um 64-Bit-Anwendungen auszuführen oder mehr als 4 GB RAM auf Ihrem Mac zu installieren. Anwendungen laufen problemlos im 64-Bit-Modus auf dem 32-Bit-Kernel, und selbst in früheren Versionen von Mac OS X war es möglich, viel mehr als 4 GB RAM zu installieren und zu nutzen.

Nur um das klarzustellen: Ein Mac mit einer 32-Bit-CPU, der auf einem 32-Bit-Kernel gebootet wird, kann keine 64-Bit-Anwendungen ausführen, richtig? Und es kann nicht einmal einen 64-Bit-Kernel booten, oder?

Nein, es ist nicht möglich, 64-Bit-Software auf einem 32-Bit-Computer auszuführen.

Wenn Ihr MacBook eine 64-Bit-CPU enthält, können Sie auf eine neuere Version von Mac OS X aktualisieren und 64-Bit-Anwendungen ausführen. Um festzustellen, ob Ihr Mac 64-Bit-fähig ist, verwenden Sie den folgenden Befehl in Terminal.app:

sysctl hw.cpu64bit_capable
Ich verwende 32-Bit-OS X, aber ich habe Java 64-Bit darin installiert ... Das ist ein bisschen seltsam ...
Was ist die Ausgabe von java -version?
Ich halte diese Aussage gemäß meiner Antwort für falsch. 64-Bit-Apps funktionieren gut auf einem 32-Bit-Kernel, solange Sie eine 64-Bit-CPU haben und die App keine Kernel-Erweiterungen adressieren muss.
Danke, ich habe die Antwort präzisiert. Jetzt brauchen wir @user1111261, um festzustellen, ob das MacBook über eine 64-Bit-CPU verfügt.