Eu tenho um MacBook Pro (5,1) com 4 GB de memória executando 10A432 - mas está executando o kernel de 32 bits.
Alguma idéia de por que ele não seria executado no modo de 64 bits e como posso fazê-lo?
Eu tenho um MacBook Pro (5,1) com 4 GB de memória executando 10A432 - mas está executando o kernel de 32 bits.
Alguma idéia de por que ele não seria executado no modo de 64 bits e como posso fazê-lo?
Respostas:
Em Review of Snow Leopard, de Jon Siracusa, ele discute a transição de 64 bits .
A versão curta é: como não há um modo misto, um kernel de 64 bits requer extensões e drivers de kernel de 64 bits .
Como esses ainda não estão amplamente disponíveis, a Apple escolheu o padrão de 32 bits para evitar quebrar muitas coisas.
Instruções do artigo:
Para todos os Macs compatíveis com K64, inicialize enquanto mantém pressionadas as teclas "6" e "4" simultaneamente para selecionar o kernel de 64 bits. Para uma solução mais permanente, use o comando nvram para adicionar
arch=x86_64
à suaboot-args
string ou edite o arquivo/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
e adicionearch=x86_64
à string Kernel Flags:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Para voltar ao kernel de 32 bits, mantenha pressionadas as teclas "3" e "2" durante a inicialização ou use uma das técnicas acima, substituindo "x86_64" por "i386".
Não há muitos benefícios em executar um kernel de 64 bits no Snow Leopard, diferente da maioria dos outros sistemas operacionais. No Windows e Linux, você precisa de um kernel de 64 bits para executar aplicativos de 64 bits. No OS X, você pode executar aplicativos de 64 bits com o kernel de 32 bits.
A maioria das pessoas parece preocupada que a execução do kernel de 32 bits no OS X limite o desempenho ou os recursos de suas máquinas, mas na prática isso não tem um impacto material significativo. O kernel de 32 bits suporta a execução de aplicativos de 64 bits, e esses aplicativos têm um espaço de endereço virtual de 64 bits que é mapeado para um espaço de endereço PAE de 36 bits pelo kernel, para que se comportem da mesma maneira que em um sistema de 64 bits. kernel de bits, apenas com uso de memória mais restrito e E / S mapeada na memória para o intervalo utilizável. A maneira como a Apple lida com esse espaço de endereço no kernel de 32 bits resulta em um limite de 32 GB para memória física, quebrando o limite de 4 GB de 32 bits com o PAE. Em termos de desempenho, não há muitos benefícios, se houver um mensurável ao usar um kernel de 64 bits com 32 GB de memória ou menos. Se você quiser,6e 4chaves na inicialização. Duvido que você veria uma diferença significativa no desempenho.
O outro problema é a compatibilidade com drivers de dispositivo, extensões do kernel e o firmware do dispositivo. Para drivers de dispositivo e extensões do kernel, eles precisam corresponder ao bit ness, ser recompilados ou reescritos (especialmente se eles tiverem um assembly, quais partes são comuns nesses tipos de código). O EFI da Apple veio originalmente apenas em 32 bits e, mais recentemente, alguns modelos têm firmware de 64 bits. Para que o sistema operacional fale com o firmware, a bit-ness do kernel e a EFI precisam corresponder. As coisas que envolvem conversar com a EFI são como escolher um disco de inicialização ou alguns controles de gerenciamento de energia (como se você tiver mais de uma instalação do OS X e precisar acordar depois que a bateria acabar).
Então, um kernel de 64 bits seria um benefício? Em termos de desempenho, não é realmente na prática, e posso ver a sabedoria da Apple usando kernels de 32 bits para a maioria das máquinas executando o Snow Leopard para melhor compatibilidade.
De acordo com o que vazou para os MacRumors (uma vez que os documentos oficiais estão sob NDA) ( Origem ), apenas os seguintes computadores suportam a execução do kernel de 64 bits:
Somente os XServes usam o kernel de 64 bits por padrão.
Se você inicializar o computador segurando as teclas 6e 4, iniciará o kernel de 64 bits ou, de acordo com outra fonte que esteja quebrando o NDA, poderá editar a /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
adição de um sinalizador do kernel ou fazê-lo no nvram.
Infelizmente, o link ofuscado de Jason escondeu uma informação muito útil:
ioreg -l -p IODeviceTree | grep firmware-abi
Os Macs EFI de 64 bits reportarão
| | "firmware-abi" = <"EFI64">
Até o lançamento do Snow Leopard, não saberemos quais sistemas suportarão o modo de 64/32 bits ... Mas todas as indicações são de que o Snow Leopard será transparente com o suporte do kernel ...
Mas, infelizmente, desculpe-me por ser "deprimente", se você é um membro registrado da Appleseed, o fórum da Appleseed discute como forçar o kernel para o modo de 64 bits. Caso contrário, se você recebeu o Snow Leopard em outro lugar, não se preocupe.
A liberação do Snow Leopard está ao virar da esquina ...
Está tudo bem, aqui está o porquê:
O SL de 32 bits executará aplicativos de 64 bits; O SL é compatível com 64 bits, independentemente da versão do kernel inicializada
O SL, mesmo que inicializado com o kernel de 32 bits, ainda poderá executar aplicativos de 64 bits e endereçar mais de 4 GB de RAM
O motivo pelo qual você precisaria do kernel de 64 bits é se o kernel precisava endereçar mais de 32 GB de RAM (portanto, é padrão no Xserve) ou se você possui um kext de apenas 64 bits (desenvolvedores)
Kernels de 64 bits não tornam seu computador magicamente mais rápido; a menos que você precise de mais de 32 GB de RAM (apenas IOW Xserves de qualquer maneira), não será necessário por motivos de endereçamento
tornando o padrão de 32 bits nos sistemas de consumo e oferecendo aos profissionais e desenvolvedores a opção de kernel de 64 bits. A Apple mantém a compatibilidade e a flexibilidade máximas
64 bits é principalmente uma opção de desenvolvedor; eles podem usá-lo para testar seus novos drivers / kexts de 64 bits para garantir que eles funcionem com o kernel de 64 bits
Parafraseado e citado do Snow Leopard carrega o kernel de 32 bits por padrão