Tengo un MacBook Pro (5,1) con 4 GB de memoria con 10A432, pero ejecuta el núcleo de 32 bits.
¿Alguna idea de por qué no se estaría ejecutando en modo de 64 bits y cómo puedo lograr que lo haga?
Tengo un MacBook Pro (5,1) con 4 GB de memoria con 10A432, pero ejecuta el núcleo de 32 bits.
¿Alguna idea de por qué no se estaría ejecutando en modo de 64 bits y cómo puedo lograr que lo haga?
Respuestas:
En la revisión de Jon Siracusa de Snow Leopard, analiza la transición de 64 bits .
La versión corta es: porque no hay 'modo mixto', un núcleo de 64 bits requiere extensiones y controladores de núcleo de 64 bits .
Como todavía no están ampliamente disponibles, Apple eligió el valor predeterminado de 32 bits para evitar romper muchas cosas.
Instrucciones del artículo:
Para todos los Mac compatibles con K64, inicie mientras mantiene presionadas las teclas "6" y "4" simultáneamente para seleccionar el núcleo de 64 bits. Para una solución más permanente, use el comando nvram para agregar
arch=x86_64
a suboot-args
cadena, o edite el archivo/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
y agrégueloarch=x86_64
a la cadena Banderas de kernel:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Para volver al kernel de 32 bits, mantenga presionadas las teclas "3" y "2" durante el arranque, o use una de las técnicas anteriores, reemplazando "x86_64" con "i386".
No hay muchos beneficios al ejecutar un núcleo de 64 bits en Snow Leopard, a diferencia de la mayoría de los otros sistemas operativos. En Windows y Linux, necesita un núcleo de 64 bits para ejecutar aplicaciones de 64 bits. En OS X, puede ejecutar aplicaciones de 64 bits con el núcleo de 32 bits.
La mayoría de las personas parecen estar preocupadas de que ejecutar el kernel de 32 bits en OS X limite el rendimiento o las capacidades de sus máquinas, pero en la práctica esto no tiene un impacto material significativo. El núcleo de 32 bits admite la ejecución de aplicaciones de 64 bits, y esas aplicaciones tienen un espacio de direcciones virtual de 64 bits que el núcleo asigna a un espacio de direcciones PAE de 36 bits, por lo que se comportan igual que en un 64- bit kernel, solo con un uso de memoria más restringido y E / S mapeadas en memoria al rango utilizable. La forma en que Apple maneja este espacio de direcciones en el núcleo de 32 bits da como resultado un límite de 32 GB para la memoria física, rompiendo el límite de 4 GB de 32 bits con PAE. En cuanto al rendimiento, no hay mucho beneficio, si es que se puede medir con el uso de un kernel de 64 bits con 32 GB de memoria o menos. Si quieres,6y 4claves al inicio. Dudo que vea una diferencia significativa en el rendimiento.
El otro problema es la compatibilidad con los controladores del dispositivo, las extensiones del kernel y el firmware del dispositivo. Para los controladores de dispositivo y las extensiones de kernel, deben coincidir con el bit-ness, volver a compilarse o reescribirse (especialmente si tienen algún ensamblado, qué partes son comunes en esos tipos de código). El EFI de Apple originalmente vino solo en 32 bits, y más recientemente algunos modelos tienen firmware de 64 bits. Para que el sistema operativo hable con el firmware, el bit del kernel y el EFI tienen que coincidir. Las cosas que implican hablar con EFI son cosas como elegir un disco de inicio o algunos controles de administración de energía (como si tiene más de una instalación de OS X y necesita despertarse después de que la batería se haya agotado).
Entonces, ¿sería un kernel de 64 bits un beneficio? En cuanto al rendimiento, no realmente en la práctica, y puedo ver la sabiduría con Apple usando núcleos de 32 bits para la mayoría de las máquinas que ejecutan Snow Leopard para una mejor compatibilidad.
De acuerdo con lo que se ha filtrado a MacRumors (ya que los documentos oficiales están bajo NDA) ( Fuente ), solo las siguientes computadoras admiten la ejecución del núcleo de 64 bits:
Solo los XServe usan el kernel de 64 bits por defecto.
Si inicia la computadora con las teclas 6y 4, iniciará el kernel de 64 bits, o de acuerdo con otra fuente que rompa su NDA, puede editar /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
agregando un indicador de kernel o hacerlo en el nvram.
El enlace ofuscado desafortunadamente de Jason ocultó una información muy útil:
ioreg -l -p IODeviceTree | grep firmware-abi
Los Macs EFI de 64 bits informarán
| | "firmware-abi" = <"EFI64">
Hasta que se lance Snow Leopard, no sabremos qué sistemas admitirán el modo de 64/32 bits ... Pero todo indica que Snow Leopard será transparente con el soporte del kernel ...
Pero, por desgracia, lamento ser un "decayente", si usted es un miembro registrado de Appleseed, el foro de Appleseed discute cómo forzar el núcleo al modo de 64 bits. De lo contrario, si ha recibido Snow Leopard en otro lugar, no se preocupe.
El lanzamiento de Snow Leopard está a la vuelta de la esquina ...
Está bien, he aquí por qué:
SL de 32 bits ejecutará aplicaciones de 64 bits; SL es compatible con 64 bits independientemente de la versión de kernel que arranque
SL, incluso si se arranca con el kernel de 32 bits, aún podrá ejecutar aplicaciones de 64 bits y abordar más de 4 GB de RAM
la razón por la que necesitaría el kernel de 64 bits es si el kernel necesitaba direccionar más de 32 GB de RAM (por lo tanto, es el predeterminado en el Xserve) o si tiene un kext de solo 64 bits (desarrolladores)
Los núcleos de 64 bits no hacen que su computadora sea mágicamente más rápida; a menos que necesite más de 32 GB de RAM (IOW solo Xserves de todos modos) tampoco lo necesita para abordar razones
Al establecer un valor predeterminado de 32 bits en los sistemas de consumo y dar a los profesionales y desarrolladores la opción de kernel de 64 bits, Apple conserva la máxima compatibilidad Y la máxima flexibilidad
64 bits es principalmente una opción de desarrollador; pueden usarlo para probar sus nuevos controladores / kexts de 64 bits para asegurarse de que funcionan con el núcleo de 64 bits
Parafraseado y citado de Snow Leopard, carga el kernel de 32 bits por defecto