Apa arti i386 di macOS Mojave?

12

Saya menggunakan MacBook Pro bekas dari akhir 2013 (Mojave 10.14.3) dan ketika saya mengetik archdi Terminal, saya kembali i386. Bukankah itu seharusnya x86_64? Apakah penjual salah menggambarkan item? Silakan lihat tangkapan layar di bawah 'Tentang Mac ini' . tangkapan layar

WobblyWindows
sumber

Jawaban:

15

Menurut jawaban SO ini , archbedakan antara PowerPC ( ppc) dan Intel ( i386), bukan antara kernel 32- dan 64-bit pada x86. Jadi dalam konteks ini, i386berarti CPU x86.

Periksa output uname -muntuk mengetahui jenis mesin Anda. (Di Linux, archsetara dengan uname -m.)

Lihat juga Tanya Jawab yang Berbeda ini .

Stephen Kitt
sumber
ya! Saya lakukan uname -mdan itu memberi saya x86_64. Jadi saya kira itu adalah arsitektur CPU 64 bit. Saya mencoba archhanya untuk mencoba cmd yang saya temui saat belajar untuk sertifikasi Linux.
WobblyWindows
14

Pada sistem macOS, seperti pada sistem BSD lainnya, Anda harus menggunakan machineutilitas:

$ arch
i386
$ machine
x86_64h

Ini i386menyesatkan jika Anda terbiasa dengan archutilitas pada sistem lain. Di macOS Mojave, i386berarti mampu menjalankan perangkat lunak 32-bit yang dikompilasi untuk keluarga prosesor Intel. Perhatikan bahwa archutilitas pada macOS digunakan untuk hal-hal yang sangat berbeda dibandingkan pada misalnya Linux (lihat manualnya).

Anda juga dapat menggunakan uname -mseperti di Linux:

$ uname -m
x86_64
Kusalananda
sumber
5
Bukan untuk membuat gunung molehill, tetapi AFAIK, tidak ada dokumentasi dari Apple untuk menunjukkan bahwa i386penunjukan menyiratkan itu mampu menjalankan perangkat lunak 32-bit ... man archtentu tidak menyarankan itu. IMHO, Apple baru saja menjatuhkan bola, dan membiarkan hal-hal menjadi sedikit berantakan - mungkin atas nama kompatibilitas mundur?
Seamus
3

Saya merasa bahwa menggunakan utilitas "tradisional" (mis arch. uname, sw_vers) Untuk menemukan perangkat keras atau perangkat lunak Mac Anda mungkin tidak terlalu andal. Ini tentu saja tidak konsisten! Bahkan manual sistem penuh dengan ketidakkonsistenan.

Ini bukan untuk mengatakan bahwa Anda tidak bisa mendapatkan informasi yang berguna dari utilitas ini, itu hanya untuk mengatakan bahwa kecuali Anda tahu apa yang Anda cari, Anda mungkin mendapatkan hasil yang berbeda dari apa yang Anda dapatkan di sistem lain.

Sebagai contoh:

$ arch
i386

Tidak! (Kecuali jika Anda menggunakan komputer yang benar-benar tua.)

Contoh lain adalah versi OS. man sw_versdan man unamekeduanya mengklaim melaporkan "Versi OS":

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

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

Semuanya baik dan bagus - kami sadar bahwa penomoran versi rilis kernel dan distro berbeda, tetapi manual sistem untuk kedua perintah ini mengatakan Anda dapatkan OS Version. Memahami asalmacos - usul arus menjelaskan beberapa hal ini, tetapi tidak menjelaskan mengapa manual sistem tidak konsisten.

Jadi, untuk pertanyaan OP mengenai cara mendapatkan informasi yang jelas dan andal tentang suatu sistem, saya merasa jawabannya harus digunakan system_profileruntuk perangkat keras dan perangkat lunak:

$ 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

Juga, manual sistem untuk system_profilertampaknya dipertahankan ke kondisi yang lebih saat ini.

Dan akhirnya, tentang Pertanyaan Headline : "Apa arti [output arch] i386 pada macOS Mojave?" . Jawaban: Sayangnya, itu berarti bahwa Apple belum memelihara dokumentasi dan / atau aplikasi mereka dengan benar.

Seamus
sumber