Cosa significa i386 su macOS Mojave?


12

Sono su un MacBook Pro di seconda mano dalla fine del 2013 (Mojave 10.14.3) e quando scrivo archsul Terminale, torno i386. Non dovrebbe essere un x86_64? Il venditore ha travisato l'articolo? Si prega di vedere lo screenshot qui sotto di "Informazioni su questo Mac" . immagine dello schermo

Risposte:


15

Secondo questa risposta SO , archdistingue tra PowerPC ( ppc) e Intel ( i386), non tra kernel a 32 e 64 bit su x86. Quindi, in questo contesto, i386significa una CPU x86.

Controllare l'output di uname -mper scoprire il tipo di macchina. (Su Linux, archè l'equivalente di uname -m.)

Vedi anche questo Chiedi domande e risposte diverse .


Sì! L'ho fatto uname -me mi ha dato x86_64. Quindi immagino sia un'architettura CPU a 64 bit. Ho provato archsolo a provare un cmd in cui mi ero imbattuto mentre studiavo per una certificazione Linux.
WobblyWindows

14

Su un sistema macOS, come su altri sistemi BSD, è necessario utilizzare l' machineutilità:

$ arch
i386
$ machine
x86_64h

Il i386è fuorviante se siete abituati al archprogramma di utilità su altri sistemi. Su macOS Mojave, i386significa che è in grado di eseguire software a 32 bit compilato per la famiglia di processori Intel. Nota che l' archutilità su macOS è usata per cose abbastanza diverse rispetto ad esempio su Linux (vedi il suo manuale).

Puoi anche usare uname -mcome su Linux:

$ uname -m
x86_64

5
Non per fare una montagna di una molehill, ma AFAIK, non c'è documentazione di Apple che indichi che la i386designazione implica che è in grado di eseguire software a 32 bit ... man archcertamente non lo suggerisce. IMHO, Apple ha appena lasciato cadere la palla e ha permesso alle cose di diventare un po 'confuse, forse in nome della compatibilità con le versioni precedenti?
Seamus,

3

Ritengo che l'utilizzo delle utility "tradizionali" (ad es arch. uname, sw_vers) Per scoprire l'hardware o il software del tuo Mac potrebbe non essere molto affidabile. È sicuramente incoerente! Anche i manuali di sistema sono pieni di incongruenze.

Questo non vuol dire che non è possibile ottenere informazioni utili da queste utilità, è solo per dire che, a meno che non si sappia cosa si sta cercando, è possibile ottenere risultati diversi da quelli ottenuti su altri sistemi.

Per esempio:

$ arch
i386

No! (A meno che tu non stia utilizzando un computer molto vecchio.)

Un altro esempio è la versione del sistema operativo. man sw_versed man unameentrambi affermano di segnalare "Versione 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 

Il che va bene e va bene - siamo consapevoli che la numerazione delle versioni di release di kernel e distro è diversa, ma i manuali di sistema per entrambi questi comandi dicono che ottieni OS Version. Comprendere la genesi della correntemacos spiega in parte questo, ma non spiega perché i manuali di sistema siano incoerenti.

E quindi, alla domanda del PO su come ottenere informazioni chiare e affidabili su un sistema, ritengo che la risposta dovrebbe essere da utilizzare system_profilersia per l'hardware che per il 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

Inoltre, il manuale di sistema per system_profilersembra essere mantenuto a uno stato più attuale.

E infine, per quanto riguarda la domanda principale : "Che cosa significa [l'output di arch] i386 su macOS Mojave?" . Risposta: Sfortunatamente, significa che Apple non ha gestito correttamente la propria documentazione e / o app.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.