Que signifie i386 sur macOS Mojave?

12

Je suis sur un MacBook Pro d'occasion de fin 2013 (Mojave 10.14.3) et quand je tape archsur le Terminal, je reviens i386. Cela ne devrait-il pas être un x86_64? Le vendeur a-t-il déformé l'article? Veuillez voir la capture d'écran ci-dessous de «À propos de ce Mac» . capture d'écran

WobblyWindows
la source

Réponses:

15

Selon cette réponse SO , fait la archdistinction entre PowerPC ( ppc) et Intel ( i386), et non entre les noyaux 32 et 64 bits sur x86. Donc, dans ce contexte, i386signifie un processeur x86.

Vérifiez la sortie de uname -mpour connaître votre type de machine. (Sous Linux, archest l'équivalent de uname -m.)

Voir aussi ce Ask Different Q&A .

Stephen Kitt
la source
oui! Je l'ai fait uname -met ça m'a donné x86_64. Donc je suppose que c'est une architecture CPU 64 bits. J'ai essayé archjuste d'essayer un cmd que j'avais rencontré en étudiant pour une certification Linux.
WobblyWindows
14

Sur un système macOS, comme sur d'autres systèmes BSD, vous devez utiliser l' machineutilitaire:

$ arch
i386
$ machine
x86_64h

Le i386est trompeur si vous avez l' habitude de l' archutilitaire sur d' autres systèmes. Sur macOS Mojave, i386cela signifie qu'il est capable d'exécuter un logiciel 32 bits compilé pour la famille de processeurs Intel. Notez que l' archutilitaire sur macOS est utilisé pour des choses très différentes par rapport à par exemple Linux (voir son manuel).

Vous pouvez également utiliser uname -mcomme sous Linux:

$ uname -m
x86_64
Kusalananda
la source
5
Pas pour faire une montagne de taupinière, mais AFAIK, il n'y a pas de documentation d'Apple pour indiquer que la i386désignation implique qu'il est capable d'exécuter un logiciel 32 bits ... man archne le suggère certainement pas. À mon humble avis, Apple vient de laisser tomber la balle et a permis que les choses deviennent un peu désordonnées - peut-être au nom de la compatibilité descendante?
Seamus
3

Je pense que l' utilisation des services « traditionnels » (par exemple arch, uname, sw_vers) pour découvrir votre matériel Mac ou le logiciel ne peut pas être très fiable. C'est certainement incohérent! Même les manuels du système regorgent d'incohérences.

Cela ne veut pas dire que vous ne pouvez pas obtenir d'informations utiles de ces utilitaires, c'est seulement dire que si vous ne savez pas ce que vous recherchez, vous pouvez obtenir des résultats différents de ceux que vous obtenez sur d'autres systèmes.

Par exemple:

$ arch
i386

Non! (À moins que vous n'utilisiez un très vieil ordinateur.)

Un autre exemple est la version du système d'exploitation. man sw_verset les man unamedeux prétendent signaler la "version du système d'exploitation":

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

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

Ce qui est bien beau - nous sommes conscients que la numérotation des versions du noyau et de la distribution est différente, mais les manuels système de ces deux commandes disent que vous obtenez OS Version. Comprendre la genèse du courantmacos explique en partie cela, mais cela n'explique pas pourquoi les manuels du système sont incohérents.

Et donc, à la question du PO concernant la façon d'obtenir des informations claires et fiables sur un système, je pense que la réponse devrait être d'utiliser system_profilerà la fois pour le matériel et les logiciels:

$ 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

De plus, le manuel du système pour system_profilersemble être maintenu dans un état plus actuel.

Et enfin, en ce qui concerne la question principale : "Que signifie [la sortie de arch] i386 sur macOS Mojave?" . Réponse: Malheureusement, cela signifie qu'Apple n'a pas géré correctement sa documentation et / ou ses applications.

Seamus
la source