J'ai un MacBook Pro (5,1) avec 4 Go de mémoire sous 10A432, mais il utilise le noyau 32 bits.
Des idées sur la raison pour laquelle il ne fonctionnerait pas en mode 64 bits, et comment le faire?
J'ai un MacBook Pro (5,1) avec 4 Go de mémoire sous 10A432, mais il utilise le noyau 32 bits.
Des idées sur la raison pour laquelle il ne fonctionnerait pas en mode 64 bits, et comment le faire?
Réponses:
Dans la revue de Jon Siracusa sur Snow Leopard, il discute de la transition 64 bits .
La version courte est: parce qu'il n'y a pas de «mode mixte», un noyau 64 bits nécessite des extensions et des pilotes de noyau 64 bits .
Comme ceux-ci ne sont pas encore largement disponibles, Apple a choisi le mode 32 bits par défaut pour éviter de casser beaucoup de choses.
Instructions de l'article:
Pour tous les Mac compatibles K64, démarrez en maintenant les touches "6" et "4" enfoncées simultanément pour sélectionner le noyau 64 bits. Pour une solution plus permanente, utilisez la commande nvram pour ajouter
arch=x86_64
à tonboot-args
chaîne ou éditer le fichier/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
et ajouterarch=x86_64
à la chaîne Kernel Flags:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Pour revenir au noyau 32 bits, maintenez les touches "3" et "2" pendant le démarrage ou utilisez l'une des techniques ci-dessus, en remplaçant "x86_64" par "i386".
Selon ce qui a été divulgué à MacRumors (puisque les documents officiels sont sous NDA) ( La source ) seuls les ordinateurs suivants prennent en charge l’exécution du noyau 64 bits:
Seuls les XServe utilisent le noyau 64 bits par défaut.
Si vous démarrez l’ordinateur en tenant le 6 et 4 clés vous allez démarrer le noyau 64 bits, ou selon un autre la source briser leur NDA, vous pouvez modifier /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
ajouter un drapeau du noyau ou le faire dans le nvram.
L'exécution d'un noyau 64 bits dans Snow Leopard ne présente pas grand avantage, contrairement à la plupart des autres systèmes d'exploitation. Sous Windows et Linux, vous avez besoin d’un noyau 64 bits pour exécuter des applications 64 bits. Sous OS X, vous pouvez exécuter des applications 64 bits avec le noyau 32 bits.
La plupart des gens semblent préoccupés par le fait que l’exécution du noyau 32 bits sous OS X limite les performances ou les capacités de leurs machines, mais en pratique, cela n’a pas d’impact matériel significatif. Le noyau 32 bits prend en charge les applications 64 bits en cours d'exécution. Ces applications disposent d'un espace d'adressage virtuel 64 bits qui est mappé sur un espace d'adressage PAE 36 bits par le noyau, de sorte qu'elles se comportent de la même manière que sur un serveur 64 bits. noyau binaire, avec une utilisation de la mémoire plus contrainte et des E / S mappées en mémoire sur la plage utilisable. La manière dont Apple gère cet espace d'adressage dans le noyau 32 bits entraîne une limite de 32 Go pour la mémoire physique, dépassant ainsi la limite de 4 Go en 32 bits avec PAE. En termes de performances, il n’ya aucun avantage, s’il en existe un mesurable, à utiliser un noyau 64 bits avec 32 Go de mémoire ou moins. Si vous le souhaitez, vous pouvez tester vous-même certains tests de performance lorsque vous démarrez de force le noyau 64 bits en maintenant la commande 6 et 4 clés au démarrage. Je doute que vous verriez et une différence significative dans la performance.
L'autre problème est la compatibilité avec les pilotes de périphérique, les extensions de noyau et le micrologiciel du périphérique. Pour les pilotes de périphérique et les extensions de noyau, ils doivent correspondre au bit, être recompilés ou réécrits (en particulier s'ils ont un assemblage, quelles parties sont communes dans ces types de code). À l'origine, l'EFI d'Apple n'était disponible qu'en version 32 bits et, plus récemment, certains modèles ont un micrologiciel 64 bits. Pour que le système d’exploitation puisse communiquer avec le microprogramme, il faut que le bit-ness du noyau et le EFI correspondent. Les choses qui impliquent de parler à EFI sont, par exemple, le choix d'un disque de démarrage ou de certaines commandes de gestion de l'alimentation (par exemple, si vous avez plusieurs installations OS X et que vous devez sortir du mode veille une fois la batterie épuisée).
Alors, un noyau 64 bits serait-il un avantage? Sur le plan des performances, pas vraiment dans la pratique, et je vois bien qu’Apple utilise des noyaux 32 bits pour la plupart des machines exécutant Snow Leopard pour une meilleure compatibilité.
Jason est malheureusement brouillé lien a caché une information très utile:
ioreg -l -p IODeviceTree | grep firmware-abi
Les Macs EFI 64 bits indiqueront
| | "firmware-abi" = <"EFI64">
Jusqu'à la sortie de Snow Leopard, nous ne saurons pas quels systèmes prendront en charge le mode 64/32 bits ... Mais tout indique que Snow Leopard sera transparent avec le support du noyau ...
Mais hélas, désolé d'être un "downer", si vous êtes un membre Appleseed inscrit, le forum Appleseed explique comment forcer le noyau en mode 64 bits. Sinon, si vous avez reçu Snow Leopard ailleurs, ne vous en faites pas.
La sortie de Snow Leopard est imminente ...
C'est bon, voici pourquoi:
SL 32 bits exécutera des applications 64 bits; SL est compatible 64 bits quelle que soit la version du noyau que vous démarrez
SL, même s'il est démarré avec le noyau 32 bits, pourra toujours exécuter des applications 64 bits et traiter plus de 4 Go de RAM.
La raison pour laquelle vous auriez besoin du noyau 64 bits est si le noyau doit traiter plus de 32 Go de RAM (par conséquent, il est par défaut sur Xserve) ou si vous avez un kext 64 bits uniquement
Les noyaux 64 bits ne rendent pas votre ordinateur magiquement plus rapide; sauf si vous avez besoin de plus de 32 Go de RAM (IOW uniquement Xserve de toute façon), vous n'en avez pas non plus besoin pour des raisons d'adressage
en faisant 32 bits par défaut sur les systèmes grand public et en offrant aux professionnels et aux développeurs l'option du noyau 64 bits, Apple conserve une compatibilité ET une flexibilité maximales
64 bits est principalement une option pour les développeurs; ils peuvent l'utiliser pour tester leurs nouveaux pilotes / kexts 64 bits afin de s'assurer qu'ils fonctionnent avec le noyau 64 bits
Paraphrasé et cité de Snow Leopard charge le noyau 32 bits par défaut