Pourquoi mon noyau Mac OS X 10.6 est-il exécuté en mode 32 bits?

J'ai un MacBook Pro (5,1) avec 4 Go de mémoire fonctionnant avec 10A432 – mais il exécute le noyau 32 bits.

Des idées pour lesquelles il ne fonctionnerait pas en mode 64 bits et comment je pourrais le faire?

6 Solutions collect form web for “Pourquoi mon noyau Mac OS X 10.6 est-il exécuté en mode 32 bits?”

Dans Jon Siracusa's Review of Snow Leopard, il discute de la transition de 64 bits .

tigreLéopardLéopard des neiges

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 ils ne sont pas encore largement disponibles, Apple a choisi de passer à 32 bits pour éviter de briser beaucoup de choses.

Instructions de l'article:

Pour toutes les Mac compatibles avec K64, démarrez tout en maintenant les touches "6" et "4" simultanément pour sélectionner le noyau 64 bits. Pour une solution plus permanente, utilisez la commande nvram pour ajouter arch=x86_64 à votre chaîne boot-args ou modifiez le fichier /Library/Preferences/SystemConfiguration/com.apple.Boot.plist et ajoutez arch=x86_64 à la chaîne des drapeaux Kernel :

 ... <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) ( Source ), seuls les ordinateurs suivants supportent l'utilisation du noyau 64 bits:

  • Début 2008 Mac Pro (MacPro 3,1)
  • Début 2008 Xserve (Xserve 2,1)
  • MacBook Pros (15 "/ 17") (MacBookPro 4,1)
  • IMacs 2008 (iMac 8,1)
  • Unibody MacBook Pros (MacBookPro 5,1 et 5,2)
  • Début 2009 Mac Pro (MacPro 4,1)
  • IMacs 2009 (iMac 9,1)
  • Début 2009 Xserve (Xserve 3,1).

Seuls les XServes utilisent le noyau 64 bits par défaut.

Si vous démarrez l'ordinateur qui supprime les touches 6 et 4 , vous démarrez le noyau 64 bits ou, d'après une autre source, rompant leur NDA, vous pouvez éditer /Library/Preferences/SystemConfiguration/com.apple.Boot.plist ajoutant un noyau Drapeau ou le faire dans le nvram.

Il n'y a pas beaucoup d'avantages à utiliser un noyau 64 bits dans Snow Leopard, contrairement à la plupart des autres systèmes d'exploitation. Dans Windows et Linux, vous avez besoin d'un noyau 64 bits pour exécuter des applications 64 bits. Sur OS X, vous pouvez exécuter des applications 64 bits avec le noyau 32 bits.

La plupart des gens semblent craindre que l'exploitation du noyau 32 bits dans OS X limite les performances ou les capacités de leurs machines, mais en pratique, cela n'a pas d'impact significatif sur le plan matériel. Le noyau de 32 bits prend en charge l'exécution d'applications 64 bits et ces applications disposent d'un espace d'adresse virtuel de 64 bits qui est mappé dans un espace d'adressage PAE 36 bits par le noyau, de sorte qu'ils se comportent de la même façon qu'ils le seraient sur un 64- Bit kernel, juste avec une utilisation de la mémoire plus contrainte et des E / S mappées de mémoire dans la plage utilisable. La façon dont Apple gère cet espace d'adressage dans le noyau 32 bits résulte en une limite de 32 Go pour la mémoire physique, ce qui supprime la limite de 4 Go de 32 bits avec PAE. En ce qui concerne la performance, il n'y a pas beaucoup de bénéfice, s'il est mesurable avec l'utilisation d'un noyau 64 bits avec 32 Go de mémoire ou moins. Si vous le souhaitez, vous pouvez tester certains benchmarks vous-même lorsque vous forcez-démarrer avec le noyau 64 bits en maintenant enfoncées les touches 6 et 4 au démarrage. Je doute que vous le verriez et une différence significative dans les performances.

L'autre problème est la compatibilité avec les pilotes de périphériques, les extensions du noyau et le microprogramme du périphérique. Pour les pilotes de périphériques et les extensions du noyau, ils doivent correspondre à bit-ness, être recompilés ou réécrit (surtout s'ils ont un assemblage, quelles parties sont courantes dans ces types de code). L'EFI d'Apple était à l'origine en 32 bits seulement, et plus récemment, certains modèles possèdent un microprogramme 64 bits. Pour que le système d'exploitation parle du microprogramme, le bit-ness du noyau et l'EFI doivent correspondre. Les choses qui impliquent de parler à EFI sont comme choisir un disque de démarrage ou certains contrôles de gestion de l'alimentation (comme si vous disposiez de plus d'une installation OS X et vous devez vous réveiller après la fin de la batterie).

Un noyau de 64 bits serait donc un avantage? En termes de performances, pas vraiment en pratique, et je peux voir la sagesse avec Apple en utilisant des noyaux 32 bits pour la plupart des machines exécutant Snow Leopard pour une meilleure compatibilité.

Le lien malheureusement obscurci de Jason cachait une information très utile:

 ioreg -l -p IODeviceTree | grep firmware-abi 

Les MacI EFI 64 bits rapportent

 | | "firmware-abi" = <"EFI64"> 

Jusqu'à ce que Snow Leopard soit libéré, nous ne saurons pas ce que les systèmes prendront en charge du mode 64/32 bit … Mais toutes les indications sont 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 enregistré, le forum Appleseed explique comment forcer le kernel au mode 64 bits. Sinon, si vous avez reçu Snow Leopard ailleurs, ne vous inquiétez pas.

La sortie de Snow Leopard est juste au coin de la rue …

C'est bon, voici pourquoi:

  • 32 bit SL exécutera des applications 64 bits; SL est compatible avec 64 bits quelle que soit la version du noyau que vous démarrez

  • SL, même si démarré avec le noyau 32 bits, pourra encore exécuter des applications 64 bits et traiter plus de 4 Go de RAM

  • La raison pour laquelle vous auriez besoin du noyau de 64 bits est si le noyau nécessaire pour traiter plus de 32 Go de RAM (par conséquent, il est par défaut sur le Xserve) ou vous avez un kxt de 64 bits seulement (développeurs)

  • Les noyaux 64 bits ne rendent pas votre ordinateur plus rapide; Sauf si vous avez besoin de plus de 32 Go de RAM (IOW uniquement Xserves de toute façon), vous n'en avez pas besoin pour traiter les raisons non plus

  • En créant 32 bits par défaut sur les systèmes grand public et en donnant aux professionnels et aux développeurs l'option noyau 64 bits, Apple conserve la compatibilité maximale et la flexibilité maximale

  • 64 bits est principalement une option de développeur; Ils peuvent l'utiliser pour tester leurs nouveaux pilotes 64 bits / kexts pour s'assurer qu'ils fonctionnent avec le noyau 64 bits

Paraphrasé et cité par Snow Leopard charge le noyau 32 bits par défaut

  • Enregistrement de la sortie des haut-parleurs sur MacBook avec OS X Snow Leopard
  • Où sont mes mots de passe Firefox sauvegardés?
  • Comment récupérer le chemin absolu d'un fichier arbitraire à partir du système d'exploitation X
  • Comment configurer une icône pour un type de fichier sur Mac?
  • Comment puis-je passer à Snow Leopard sans lecteur de CD?
  • Démarrage d'une application avec raccourci clavier personnalisé
  • Éditeur par défaut pour les fichiers sans extension de nom de fichier dans Mac OS X
  • Comment désactiver Spotlight dans Snow Leopard?
  • X11.app (sur SnowLeopard) ne démarre pas
  • Quelle est la tâche "java" (processus parent "launchd") sur MacOS X?
  • Comment puis-je empêcher Snow Leopard de montrer le clavier en cas de demande de mot de passe?
  • Soyons le génie de l'ordinateur et du réseau.