¿Qué significa i386 en macOS Mojave?

12

Estoy en un MacBook Pro de segunda mano de finales de 2013 (Mojave 10.14.3) y cuando escribo archen la Terminal, vuelvo i386. ¿No debería ser un x86_64? ¿El vendedor tergiversó el artículo? Consulte la captura de pantalla a continuación de "Acerca de esta Mac" . captura de pantalla

WobblyWindows
fuente

Respuestas:

15

Según esta respuesta SO , archdistingue entre PowerPC ( ppc) e Intel ( i386), no entre núcleos de 32 y 64 bits en x86. Entonces, en este contexto, i386significa una CPU x86.

Compruebe la salida de uname -mpara averiguar su tipo de máquina. (En Linux, arches el equivalente de uname -m).

Consulte también esta sección Preguntas y respuestas diferentes .

Stephen Kitt
fuente
¡Sí! Lo hice uname -my me dio x86_64. Entonces supongo que es una arquitectura de CPU de 64 bits. Intenté archprobar un cmd con el que me topé mientras estudiaba para obtener una certificación de Linux.
WobblyWindows
14

En un sistema macOS, como en otros sistemas BSD, debe usar la machineutilidad:

$ arch
i386
$ machine
x86_64h

La i386forma engañosa si estás acostumbrado a la archutilidad en otros sistemas. En macOS Mojave, i386significa que es capaz de ejecutar software de 32 bits compilado para la familia de procesadores Intel. Tenga en cuenta que la archutilidad en macOS se utiliza para cosas muy diferentes en comparación con, por ejemplo, Linux (consulte su manual).

También puede usar uname -mcomo en Linux:

$ uname -m
x86_64
Kusalananda
fuente
55
No para convertir una montaña en una colina, sino AFAIK, no hay documentación de Apple que indique que la i386designación implica que es capaz de ejecutar software de 32 bits ... man archciertamente no sugiere eso. En mi humilde opinión, Apple acaba de dejar caer la pelota y permitió que las cosas se pusieran un poco desordenadas, ¿quizás en nombre de la compatibilidad con versiones anteriores?
Seamus
3

Siento que el uso de los servicios públicos "tradicionales" (por ejemplo arch, uname, sw_vers) para descubrir su hardware o software de Mac puede no ser muy fiable. ¡Ciertamente es inconsistente! Incluso los manuales del sistema están plagados de inconsistencias.

Esto no quiere decir que no pueda obtener información útil de estas utilidades, solo quiere decir que, a menos que sepa lo que está buscando, puede obtener resultados diferentes de los que obtiene en otros sistemas.

Por ejemplo:

$ arch
i386

¡No! (A menos que esté usando una computadora realmente vieja).

Otro ejemplo es la versión del sistema operativo. man sw_versy man unameambos afirman informar "Versión del sistema operativo":

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

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

Lo cual está muy bien: somos conscientes de que la numeración de la versión de lanzamiento de kernel y distribución es diferente, pero los manuales del sistema para ambos comandos dicen que se obtiene OS Version. Comprender la génesis de la corrientemacos explica algo de esto, pero no explica por qué los manuales del sistema son inconsistentes.

Y así, a la pregunta del OP sobre cómo obtener información clara y confiable sobre un sistema, creo que la respuesta debería ser usar system_profilertanto para hardware como para 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

Además, el manual del sistema system_profilerparece mantenerse en un estado más actual.

Y finalmente, en cuanto a la pregunta principal : "¿Qué significa [la salida de arch] i386 en macOS Mojave?" . Respuesta: Desafortunadamente, significa que Apple no ha mantenido su documentación y / o aplicaciones correctamente.

Seamus
fuente