O que significa i386 no macOS Mojave?

12

Eu estou em uma segunda mão MacBook Pro a partir do final de 2013 (Mojave 10.14.3) e quando eu digito archno terminal, eu voltar i386. Não deveria ser um x86_64? O vendedor deturpou o item? Por favor, veja a imagem abaixo de 'Sobre este Mac' . captura de tela

WobblyWindows
fonte

Respostas:

15

De acordo com esta resposta do SO , archdistingue entre PowerPC ( ppc) e Intel ( i386), não entre kernels de 32 e 64 bits no x86. Portanto, neste contexto, i386significa uma CPU x86.

Verifique a saída de uname -mpara descobrir o seu tipo de máquina. (No Linux, arché o equivalente a uname -m.)

Veja também estas perguntas e respostas diferentes .

Stephen Kitt
fonte
Sim! Eu fiz uname -me isso me deu x86_64. Então eu acho que é uma arquitetura de CPU de 64 bits. Eu tentei archapenas experimentar um cmd que eu havia encontrado enquanto estudava para obter uma certificação Linux.
WobblyWindows
14

Em um sistema macOS, como em outros sistemas BSD, você deve usar o machineutilitário:

$ arch
i386
$ machine
x86_64h

O i386é enganosa se você está acostumado a archutilidade em outros sistemas. No macOS Mojave, i386significa que ele é capaz de executar software de 32 bits compilado para a família de processadores Intel. Observe que o archutilitário no macOS é usado para coisas bem diferentes em comparação com, por exemplo, no Linux (consulte o manual).

Você também pode usar uname -mcomo no Linux:

$ uname -m
x86_64
Kusalananda
fonte
5
Para não tornar uma montanha de montanha, mas AFAIK, não há documentação da Apple para indicar que a i386designação implica que ela é capaz de executar software de 32 bits ... man archcertamente não sugere isso. IMHO, a Apple acabou de lançar a bola e permitiu que as coisas ficassem um pouco confusas - talvez em nome da compatibilidade com versões anteriores?
Seamus
3

Eu sinto que usando os utilitários "tradicionais" (por exemplo arch, uname, sw_vers) para descobrir o seu hardware ou software do Mac pode não ser muito confiável. É certamente inconsistente! Até os manuais do sistema estão repletos de inconsistências.

Isso não quer dizer que você não possa obter informações úteis desses utilitários, mas apenas que, a menos que saiba o que está procurando, poderá obter resultados diferentes dos obtidos em outros sistemas.

Por exemplo:

$ arch
i386

Não! (A menos que você esteja usando um computador muito antigo.)

Outro exemplo é a versão do sistema operacional. man sw_verse man unameambos afirmam relatar "Versão do SO":

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.4
BuildVersion:   18E226

$ uname -v
Darwin Kernel Version 18.5.0 ....  # output snipped 

O que é ótimo - sabemos que a numeração das versões de kernel e distribuição é diferente, mas os manuais do sistema para esses dois comandos dizem que você recebe OS Version. Compreender a gênese da correntemacos explica um pouco disso, mas não explica por que os manuais do sistema são inconsistentes.

E assim, para a pergunta do OP sobre como obter informações claras e confiáveis ​​em um sistema, acho que a resposta deve ser o uso system_profilerde hardware e software:

$ system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro13,3
      Processor Name: Intel Core i7
      Processor Speed: 2.9 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 8 MB
      Memory: 16 GB
      Boot ROM Version: 254.0.0.0.0
      SMC Version (system): 2.38f7
      Serial Number (system): C02*********
      Hardware UUID: ********-****-****-****-************

$ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 10.14.4 (18E226)
      Kernel Version: Darwin 18.5.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: MacBook No 2
      User Name: Seamus (seamus)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 13:13

Além disso, o manual do sistema system_profilerparece ser mantido em um estado mais atual.

E, finalmente, quanto à pergunta principal : "O que [a saída de arch] i386 significa no macOS Mojave?" . Resposta: Infelizmente, isso significa que a Apple não manteve sua documentação e / ou aplicativos corretamente.

Seamus
fonte