Existem 3 "switches de modo" de 32/64 bits separados no Mac OS X:
1: O barramento de endereço de RAM físico, que é determinado pela (surpresa) CPU e chipset de suporte (é aqui que entra o PAE e tal). Isso é o que determina se o computador pode endereçar mais de 4 GB de RAM física (na verdade, em torno de 3,2 GB, já que é necessário algum espaço de endereço para E / S, especialmente a memória da placa de vídeo).
2: O modo em que um programa específico está sendo executado, que geralmente é de 64 bits, desde que a CPU e o programa o suportem (embora isso possa ser substituído de várias maneiras, como usar Obter Informações no aplicativo para selecionar "Abrir no modo de 32 bits" ou executá-lo a partir da linha de comando com arch -arch i386
). Isso é o que determina se esse programa específico é capaz de endereçar mais de 4 GB de memória virtual. Note que isso é independente do limite de RAM físico - é perfeitamente possível executar um programa de 64 bits em um Mac com um chipset de 32 bits e usá-lo em uma quantidade enorme de VM, é só que apenas 3,2 GB podem estar na RAM física a qualquer momento. Também é possível ter um Mac com suporte a PAE e (digamos) 20 GB de RAM física, com cinco processos de 32 bits cada, usando o máximo de 4 GB de VM, e todos residentes na RAM física ao mesmo tempo.
3: Finalmente, o que você perguntou, o kernel. Como isso não limita nem a RAM física nem o espaço de memória por processo (com exceção de que mencionarei em um minuto), não importa tanto quanto os dois primeiros (é por isso que a Apple o deixa em 32- modo de bit por padrão). No entanto, ele tem alguns efeitos: um kernel de 64 bits não pode carregar extensões somente de 32 bits (drivers etc); um kernel de 64 bits tenderá a rodar um pouco mais rápido (veja testes do Mac Performance Guide ); um kernel de 64 bits pode manter tabelas de páginas maiores (o que se torna importante quando você chega à área de 100 GB de RAM física); e um kernel de 64 bits também terá limites maiores em algumas outras coisas, como o número de arquivos abertos.