I386 có nghĩa là gì trên macOS Mojave?


12

Tôi đang dùng MacBook Pro cũ từ cuối năm 2013 (Mojave 10.14.3) và khi tôi gõ archtrên Terminal, tôi quay lại i386. Nó không phải là một x86_64? Có phải người bán đã trình bày sai các mặt hàng? Vui lòng xem ảnh chụp màn hình bên dưới của 'Giới thiệu về máy Mac này' . ảnh chụp màn hình

Câu trả lời:


15

Theo câu trả lời SO này , archphân biệt giữa PowerPC ( ppc) và Intel ( i386), không phải giữa các hạt nhân 32 và 64 bit trên x86. Vì vậy, trong bối cảnh này, i386có nghĩa là CPU x86.

Kiểm tra đầu ra của uname -mđể tìm ra loại máy của bạn. (Trên Linux, archtương đương với uname -m.)

Xem thêm này Hỏi và hỏi đáp khác nhau .


Vâng! Tôi đã làm uname -mvà nó đã cho tôi x86_64. Vì vậy, tôi đoán đó là một kiến ​​trúc CPU 64 bit. Tôi đã cố gắng archchỉ để thử một cmd mà tôi đã gặp phải khi học lấy chứng chỉ Linux.
WobblyWindows

14

Trên hệ thống macOS, như trên các hệ thống BSD khác, bạn nên sử dụng machinetiện ích:

$ arch
i386
$ machine
x86_64h

Điều i386này là sai lệch nếu bạn đã quen với archtiện ích trên các hệ thống khác. Trên macOS Mojave, i386có nghĩa là nó có khả năng chạy phần mềm 32 bit được biên dịch cho họ bộ xử lý Intel. Lưu ý rằng archtiện ích trên macOS được sử dụng cho những thứ khá khác so với trên Linux (xem hướng dẫn sử dụng).

Bạn cũng có thể sử dụng uname -mnhư trên Linux:

$ uname -m
x86_64

5
Không tạo ra một ngọn núi lửa, nhưng AFAIK, không có tài liệu nào từ Apple chỉ ra rằng i386chỉ định ngụ ý rằng nó có khả năng chạy phần mềm 32 bit ... man archchắc chắn không gợi ý điều đó. IMHO, Apple vừa thả bóng xuống, và cho phép mọi thứ trở nên hơi lộn xộn - có lẽ nhân danh sự tương thích ngược?
Seamus

3

Tôi cảm thấy rằng việc sử dụng các tiện ích "truyền thống" (ví dụ arch, uname, sw_vers) để khám phá phần cứng hoặc phần mềm Mac của bạn có thể không rất đáng tin cậy. Nó chắc chắn không nhất quán! Ngay cả các hướng dẫn hệ thống cũng đầy rẫy những mâu thuẫn.

Điều này không có nghĩa là bạn không thể nhận được thông tin hữu ích từ các tiện ích này, chỉ có thể nói rằng trừ khi bạn biết bạn đang tìm kiếm gì, bạn có thể nhận được kết quả khác với những gì bạn nhận được trên các hệ thống khác.

Ví dụ:

$ arch
i386

Không! (Trừ khi bạn đang sử dụng một máy tính thực sự cũ.)

Một ví dụ khác là phiên bản HĐH. man sw_versman unamecả hai yêu cầu báo cáo "Phiên bản hệ điều hành":

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

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

Tất cả đều tốt và tốt - chúng tôi biết rằng việc đánh số phiên bản phát hành kernel và distro là khác nhau, nhưng hướng dẫn hệ thống cho cả hai lệnh này nói rằng bạn nhận được OS Version. Hiểu về nguồn gốc của hiện tạimacos giải thích một số điều này, nhưng nó không giải thích tại sao các hướng dẫn hệ thống không nhất quán.

Và như vậy, cho câu hỏi của OP về làm thế nào để có được thông tin rõ ràng và đáng tin cậy trên một hệ thống, tôi cảm nhận được câu trả lời nên được sử dụng system_profilercho cả phần cứng và phần mềm:

$ 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

Ngoài ra, hướng dẫn hệ thống system_profilerdường như được duy trì ở trạng thái hiện tại hơn.

Và cuối cùng, như Câu hỏi tiêu đề : "[đầu ra của arch] i386 có nghĩa là gì trên macOS Mojave?" . Trả lời: Thật không may, điều đó có nghĩa là Apple đã không duy trì tài liệu và / hoặc ứng dụng của họ đúng cách.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.