MacOS có phải là bản phân phối Unix không?


19

Tôi biết rằng macOS là một hệ điều hành UNIX , nhưng tôi không biết liệu macOS có thể được gọi là bản phân phối UNIX theo cách mà Gentoo hay Debian là bản phân phối GNU / Linux hay không .

MacOS có phải là bản phân phối UNIX không? Nếu nó không phải là, làm thế nào người ta có thể một cách chính xác đề cập đến thành viên MacOS' trong gia đình hệ điều hành UNIX và tuân thủ Độc UNIX Specification (ví dụ, nó là một biến thể Unix , một phiên bản Unix , một hương vị Unix , vv)? Ngoài ra, câu hỏi này áp dụng cho Solaris, HP-UX và các hợp nhất khác (tất cả chúng có phải là bản phân phối UNIX không?).

Hơn nữa, từ "phân phối" có bị giới hạn trong các hệ điều hành GNU (/ Linux, / Hurd, / kFreeBSD, / etc) hay có thể được sử dụng trong các trường hợp khác không?

EDIT: Tôi đã nhận ra rằng trang web chính thức của UNIX sử dụng "triển khai UNIX""hệ điều hành UNIX" để đề cập đến họ hệ điều hành Unix, tức là những trang web thực hiện Tiêu chuẩn Unix đơn.


Làm thế nào để bạn xác định "phân phối Unix" và ý của bạn là "phân phối Unix" là gì?
Jörg W Mittag

@ JörgWMittag Tôi không có bất kỳ định nghĩa nào cho nó. Tôi nghĩ rằng ý thức phân phối GNU-ish là tập hợp các hệ điều hành có chung phần mềm cốt lõi, như được định nghĩa trong câu trả lời, là cách đúng nhất.
Seninha

2
UNIX là một thương hiệu. Unix là một hệ điều hành. Họ là hai việc khác nhau.
fpmurphy

1
Nói một cách chính xác, Debian và Gentoo không phải là bản phân phối Unix, chúng là bản phân phối Linux. Linux không phải là Unix, nó chỉ hoạt động như Unix. Chúng cũng không phải là bản phân phối GNU: các công cụ GNU là một phần của bất kỳ bản phân phối Linux nào, nhưng không phải là phần duy nhất.
jamesqf

1
Nếu bạn đăng bản chỉnh sửa của mình dưới dạng câu trả lời, nó sẽ nhận được upvote của tôi.
dcorking

Câu trả lời:


32

UNIX là gì?

Câu trả lời ngắn: UNIX là một đặc điểm kỹ thuật / tiêu chuẩn hiện nay.

Tại thời điểm viết bài, để trích dẫn các nguồn chính thức , "UNIX® là nhãn hiệu đã đăng ký của Nhóm mở", công ty trong số nhiều thứ cung cấp chứng nhận UNIX :

"UNIX®, một tiêu chuẩn mở được sở hữu và quản lý bởi Open Group, là người tạo ra các công nghệ chính và giảm tổng chi phí sở hữu, tăng tính linh hoạt, ổn định và khả năng tương tác trong môi trường không đồng nhất cho phép kinh doanh và đổi mới thị trường trên toàn cầu . "

Cùng một trang nêu cụ thể đặc điểm kỹ thuật xác định UNIX:

Phiên bản mới nhất của tiêu chuẩn chứng nhận là UNIX V7, phù hợp với Thông số kỹ thuật UNIX đơn Phiên bản 4, 2013

Chi tiết về những thông số kỹ thuật có thể được tìm thấy ở đây . Thật kỳ lạ, tiêu chuẩn mới nhất được liệt kê trên trang web của họ là UNIX 03 và để trích dẫn một nguồn khác , "UNIX® 03 - nhãn hiệu cho các hệ thống tuân thủ phiên bản 3 của Thông số kỹ thuật UNIX đơn".

Để trích dẫn trang Giới thiệu với sự nhấn mạnh của riêng tôi in đậm:

Sự thành công của cách tiếp cận UNIX đã dẫn đến một số lượng lớn các hệ điều hành có giao diện giống nhau, thường khác nhau về khả năng tương thích và khả năng tương tác. Để giải quyết vấn đề này, các nhà cung cấp và người dùng đã kết hợp với nhau trong những năm 1980 để tạo ra tiêu chuẩn POSIX® và sau đó là Đặc tả UNIX đơn .

Vì vậy, điều này gợi ý (hoặc ít nhất là như vậy là giải thích của tôi), là khi một hệ điều hành phù hợp với những tiêu chuẩn POSIX và Single UNIX Thông số kỹ thuật, nó là tương thích trong hành vi với Unix như một hệ điều hành mà đã từng tồn tại một thời điểm nào trong lịch sử. Xin lưu ý rằng điều này không đề cập đến sự hiện diện của bất kỳ dấu vết nào của mã nguồn Unix gốc, cũng như không đề cập đến kernel theo bất kỳ cách nào (điều này sẽ trở nên quan trọng sau này).

Đối với AT & T và System V Unix được phát triển bởi Ritchie và Thompson, ngày nay chúng ta có thể nói nó đã không còn tồn tại. Dựa trên các nguồn trên, có vẻ như UNIX ngày nay không phải là HĐH cụ thể, mà là một tiêu chuẩn bắt nguồn từ sự khái quát hóa tốt nhất có thể cho cách các hệ điều hành trong gia đình Unix hoạt động.


 MacOS X đứng ở đâu trong thế giới * nix?

Trong một định nghĩa rất cụ thể, macOS phiên bản 10.13 High Sierra trên phần cứng dựa trên Intel tuân thủ tiêu chuẩn UNIX 03 và để trích dẫn chứng chỉ pdf , "Apple Inc. đã ký Thỏa thuận cấp phép nhãn hiệu với X / Open Company Limited." Lưu ý bên lề: Tôi ngần ngại đặt câu hỏi về ý nghĩa của macOS 10.13 đối với phần cứng không phải của Intel, nhưng xem xét phần cứng được đề cập cho các HĐH khác, phần cứng rất quan trọng. Ví dụ: "Hewlett Packard Enterprise: HP-UX 11i V3 Phát hành B.11.31 trở lên trên Máy chủ HP 9000 với Kiến trúc chính xác" (từ trang đăng ký ).

Hãy trở lại phần trước của câu trả lời của tôi. Do phiên bản đặc biệt này của HĐH tuân thủ tiêu chuẩn tương thích và tương thích, điều đó có nghĩa là HĐH này càng gần với hành vi và triển khai hệ thống càng tốt với Unix gốc như một Hệ điều hành. Ít nhất, nó sẽ gần gũi trong hành vi và môi trường. Càng tiến gần đến cấp độ hệ thống và cấp độ kernel, khu vực sẽ càng cụ thể và bóng bẩy hơn, nhưng ít nhất các cơ chế và hành vi cơ bản có trong Unix nên có trong một HĐH nhằm tương thích. macOS X nên rất gần với mục tiêu đó.


Phân phối là gì?

Để trích dẫn Wikipedia :

Một bản phân phối Linux (thường được viết tắt là distro) là một hệ điều hành được tạo từ bộ sưu tập phần mềm, dựa trên nhân Linux và thường là hệ thống quản lý gói.

Chúng ta hãy nhớ rằng Linux như trong Linux Kernel được coi là phần mềm có thể phân phối được , với các sửa đổi hoặc ít nhất là phù hợp với GPL v2 . Nếu chúng tôi xem xét trình quản lý gói và kernel, Ubuntu và Red Hat là bản phân phối có ý nghĩa. macOS X có một kernel khác với Unix AT & T ban đầu - do đó, việc gọi macOS X là một bản phân phối Unix không có ý nghĩa gì. Mọi người đề xuất rằng nhân macOS X dựa trên FreeBSD, nhưng để trích dẫn FreeBSD Wiki :

Hạt nhân XNU được sử dụng trên OS X bao gồm một vài hệ thống con từ (phiên bản cũ hơn) FreeBSD, nhưng chủ yếu là một triển khai độc lập

Một số người gọi nhầm hạt nhân OS X là Darwin. Để trích dẫn Hướng dẫn lập trình hạt nhân của Apple :

Hạt nhân, cùng với các phần cốt lõi khác của OS X được gọi chung là Darwin. Darwin là một hệ điều hành hoàn chỉnh dựa trên nhiều công nghệ tương tự làm nền tảng cho OS X.

Và để trích dẫn cùng một trang:

Công nghệ Darwin dựa trên các công nghệ BSD, Mach 3.0 và Apple.

Dựa trên tất cả mọi thứ ở trên, chúng tôi có thể tự tin nói rằng, OS X không phải là một bản phân phối , theo nghĩa phân phối Linux. Tương tự, các HĐH được đề cập khác đều tuân thủ POSIX và được chứng nhận hệ thống Unix, nhưng một lần nữa chúng khác nhau về hạt nhân và các biến thể của các cuộc gọi hệ thống cơ bản (đó là lý do tại sao có sách về lập trình hệ thống Solaris và nó là một chủ đề đáng giá). Do đó, chúng không phải là bản phân phối theo nghĩa phân phối Linux - một cốt lõi chung với các biến thể của các tiện ích. Trong trường hợp của Linux, bạn thấy các cuốn sách về lập trình hệ thống Linux hoặc lập trình nhân Linux, không phải lập trình hệ thống cụ thể để phân phối, bởi vì không có gì cụ thể về hệ thống về một phân phối cụ thể.

Xác nhận những gì chúng ta thấy ở đây có thể được tìm thấy trong tài liệu chính thức. Chẳng hạn, bài viết trên Wikipedia của IBM đã đề cập đến sự khác biệt giữa các loại hệ điều hành UNIX và các trạng thái phân phối Linux (nhấn mạnh thêm):

Hầu hết các biến thể UNIX hiện đại được biết đến ngày nay là phiên bản được cấp phép của một trong các phiên bản UNIX gốc . Sun's Solaris, HP-UX của Hewlett-Packard và AIX® của IBM đều là những hương vị của UNIX có các yếu tố và nền tảng độc đáo của riêng họ .

Nói cách khác, chúng dựa trên cùng một nền tảng, nhưng chúng không chia sẻ chính xác cùng một thứ theo nghĩa các bản phân phối Linux chia sẻ kernel.

Cân nhắc

Lưu ý rằng phân phối từ dường như được sử dụng chủ yếu khi tham chiếu các hệ điều hành có nhân Linux ở lõi. Ví dụ, loại Hệ điều hành BSD: có GhostBSD , dựa trên nhân và sử dụng một số tiện ích của FreeBSD , nhưng tôi chưa bao giờ thấy nó được gọi là bản phân phối BSD; mỗi hệ điều hành BSD chỉ đề cập đến những gì nó dựa trên và thông thường một hệ điều hành được đề cập như một hệ điều hành theo đúng nghĩa của nó. Chắc chắn, BSD là viết tắt của Berkeley Software Distribution, nhưng ... đó là nó.

Để trích dẫn câu trả lời này trên trang web của chúng tôi để trả lời cho câu hỏi liệu các phiên bản BSD khác nhau có sử dụng cùng một hạt nhân không:

Không, mặc dù có những điểm tương đồng do các dĩa lịch sử. Mỗi dự án phát triển riêng biệt.

Chúng không phải là bản phân phối theo nghĩa phân phối Linux. Xem xét thông báo bản quyền từ tài liệu này :

Các phần của sản phẩm này có thể được lấy từ các hệ thống BSD UNIX® và Berkeley 4.3

Ghi chú

Cuối cùng:

  • macOS X có thể được gọi là HĐH giống Unix, hệ thống giống Unix, triển khai Unix, HĐH tuân thủ POSIX khi bạn muốn liên kết nó với Unix AT & T ban đầu;
  • "Phiên bản Unix" sẽ không phải là thuật ngữ thích hợp vì macOS X khác rất nhiều so với Unix & AT gốc, và như đã đề cập trước đây không còn Unix theo nghĩa phần mềm, và giờ đây nó là một tiêu chuẩn công nghiệp hơn;
  • Có lẽ từ "phân phối" chỉ phù hợp với thế giới Linux.
  • Vấn đề thực sự là bạn (người đọc) và tôi có quá nhiều thời gian để tranh luận về chủ đề mà luật sư nên tranh luận. Có lẽ chúng ta nên giống như Linux Torvald và sử dụng thuật ngữ và HĐH chỉ cho phép chúng ta tiếp tục với cuộc sống và làm những điều chúng ta quan tâm một cách trung thực và cần phải quan tâm.

15
Bạn có thể muốn kiểm tra xem BSD thực sự đại diện cho điều gì trước khi tuyên bố từ phân phối của Wap không được sử dụng ở đó ;-).
Stephen Kitt

2
Xin lỗi vì đa chỉnh sửa, việc thiếu "a" s và "the" khiến tôi gặp một chút khó khăn khi theo dõi toàn bộ văn bản. POSIX mới hơn so với các Unices cũ và tôi không chắc chắn câu trả lời là trộn lẫn cả hai; Tôi cũng nghĩ rằng bạn đang thực hiện một dịch vụ không đặc trưng cho thế giới BSD, gần với Unix hơn Linux. Bản thân chứng nhận cũng không có nghĩa gì nhiều khi ai đó có thời gian và tiền bạc để trải qua quá trình chứng nhận, và điều đó phải được thực hiện trong mọi phiên bản. IMO, làm lại văn bản nhiều hơn một chút, điều này có khả năng là một câu trả lời rất tốt.
Rui F Ribeiro

1
@Matthew Tuy nhiên tôi sẽ không đảm bảo chất lượng của vùng đất người dùng BSD của OS / X / Mac OS. Thông thường các tiện ích là các phiên bản rất cũ so với các FreeBSD, và ngay cả việc triển khai IPv6 phù hợp và gần đây cũng mất một thời gian dài để xuất hiện chỉ trong các phiên bản gần đây.
Rui F Ribeiro

3
Các trang web tiêu chuẩn Unix sử dụng "UNIX triển khai" để đề cập đến các hệ điều hành Unix. Vì vậy, đây là từ tôi đang tìm kiếm: thực hiện.
Seninha

3
@Sergiy Kolodyazhnyy. Tuân thủ POSIX không có nghĩa là một phiên bản của HĐH là as close to original Unix as possibleCó nhiều HĐH không phải là Unix tuân thủ POSIX.
fpmurphy

4

Q: macOS có phải là bản phân phối Unix không? Nếu không, làm thế nào người ta có thể đề cập chính xác đến sự tồn tại của macOS trong họ hệ điều hành Unix (nghĩa là nó có phải là biến thể Unix, phiên bản Unix, hương vị Unix, v.v.) không? Ngoài ra, câu hỏi này áp dụng cho Solaris, HP-UX và các hợp nhất khác (tất cả chúng có phải là bản phân phối Unix không?).

Nguồn hình ảnh: https://developer.apple.com/lvern/content/documentation/MacOSX/Conceptual/OSX_T Technology_Overview / SystemT Technology / SystemT Technology.html

MacOS X

Nguồn: https://en.m.wikipedia.org/wiki/XNU

" XNUhạt nhân hệ điều hành máy tính được phát triển tại Apple Inc. kể từ tháng 12 năm 1996 để sử dụng trong hệ điều hành macOS và phát hành dưới dạng phần mềm miễn phí và nguồn mở như một phần của hệ điều hành Darwin . Nó cũng được sử dụng làm hạt nhân cho iOS , hệ điều hành tvOS và watchOS. XNU là tên viết tắt của X không phảiU nix.


Nguồn: https://developer.apple.com/lvern/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_Vf/doc/uid/TP30000905-CH221-CIHFEify

" Xây dựng hạt nhân đầu tiên của bạn

Trước khi bạn có thể xây dựng kernel, trước tiên bạn phải lấy mã nguồn. Mã nguồn cho nhân OS X có thể được tìm thấy trong dự án Darwin xnu trên http://www.opensource.apple.com . Để tìm ra phiên bản kernel hiện tại của bạn, hãy sử dụng lệnh uname -a. Nếu bạn gặp rắc rối, hãy tìm kiếm tài liệu lưu trữ của danh sách gửi thư phát triển darwin-kernel và darwin để biết thông tin. Nếu điều đó không có ích, hãy yêu cầu trợ giúp trong một trong hai danh sách. Danh sách lưu trữ và thông tin đăng ký có thể được tìm thấy tại http://www.lists.apple.com ".


Nguồn: https://developer.apple.com/l Library / content / document / Porting /Conualual / PortingUnix /glaryary /glossary.html

Ca cao - Nền tảng phát triển hướng đối tượng nâng cao cho OS X. Ca cao là một bộ khung với các giao diện lập trình trong cả Java và Objective-C. Nó dựa trên sự tích hợp của OPENSTEP, các công nghệ của Apple và Java.

Darwin - Tên gọi khác của lõi hệ điều hành OS X. Hạt nhân Darwin tương đương với hạt nhân OS X cộng với các thư viện BSD và các lệnh cần thiết cho môi trường dòng lệnh BSD . Darwin là công nghệ nguồn mở.

Xcode - Môi trường phát triển tích hợp đồ họa của Apple. Nó có sẵn miễn phí với gói OS X Developer Tools.

XNU - Hạt nhân OS X. Từ viết tắt của X không phải là Unix. XNU kết hợp chức năng của Mach và BSD với I / O Kit, mô hình trình điều khiển cho OS X.


  • Kiến trúc

Nguồn: https://en.wikipedia.org/wiki/MacOS#Arch architecture

"Tại lõi của macOS là một hệ điều hành tương thích POSIX được xây dựng dựa trên nhân XNU , với các tiện ích Unix tiêu chuẩn có sẵn từ giao diện dòng lệnh. Apple đã phát hành dòng phần mềm này như một hệ điều hành nguồn mở và miễn phí có tên Darwin . Darwin , Apple đã sắp xếp một số thành phần, bao gồm giao diện Aqua và Finder, để hoàn thành hệ điều hành dựa trên GUI là macOS. ".


Q: Phân phối hay phát hành ? - Nguồn: https://en.wikipedia.org/wiki/MacOS#Updating_methods

Nguồn: https://en.wikipedia.org/wiki/MacOS_High_Sierra

"MacOS High Sierra (phiên bản 10.13) là lớn XIV phát hành của hệ điều hành MacOS, hệ điều hành máy tính để bàn của Apple Inc cho các máy tính Macintosh. Các kế hệ điều hành MacOS Sierra, nó đã được công bố tại WWDC 2017 on June 5, 2017.". "Loại hạt nhân: Lai (XNU)".


Q: Ngoài ra, câu hỏi này áp dụng cho Solaris, HP-UX và các hợp nhất khác (tất cả chúng có phải là bản phân phối Unix không?).


3
Tôi sẽ khuyên bạn nên thử dán nhiều trích dẫn bằng các từ của riêng bạn.
Rui F Ribeiro

Giống như @RuiFRibeiro đã đề cập, bạn nên thêm một số giải thích; Tuy nhiên, điều ông không nói là không rõ bạn đang đứng ở đâu với tất cả những trích dẫn khác nhau này.
Nghịch lý
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.