macOS 是 Unix 發行版嗎?
我知道macOS 是一個 UNIX 作業系統,但我不知道 macOS 是否可以被稱為UNIX發行版,就像 Gentoo 或 Debian 是GNU/Linux 發行版一樣。
macOS 是 UNIX 發行版嗎?如果不是,如何正確地提及 macOS 在 UNIX 作業系統系列中的成員資格以及對單一 UNIX 規範的遵從性(即,它是Unix 變體、Unix 版本、Unix 風格等)?此外,這個問題適用於 Solaris、HP-UX 和其他 unice(它們都是 UNIX 發行版嗎?)。
*此外, “分發”*這個詞是否僅限於 GNU(/Linux、/Hurd、/kFreeBSD、/etc)作業系統,還是可以在其他情況下使用?
**編輯:**我意識到UNIX 的官方網站使用“UNIX 實現”和“UNIX 作業系統”來指代 Unix 作業系統系列,即實現單一 Unix 標準的作業系統。
什麼是 UNIX?
簡短的回答:UNIX 是當今的規範/標準。
在撰寫本文時,引用官方消息來源,“UNIX® 是 The Open Group 的註冊商標”,該公司提供UNIX 認證:
“UNIX® 是 The Open Group 擁有和管理的開放標準,是關鍵技術的推動者,可在異構環境中降低總擁有成本、提高 IT 敏捷性、穩定性和互操作性,從而在全球範圍內實現業務和市場創新。”
同一頁面具體說明了哪個規範定義了 UNIX:
最新版本的認證標準是 UNIX V7,與 Single UNIX Specification Version 4, 2013 Edition 保持一致
可以在此處找到這些規格的詳細資訊。奇怪的是,他們網站上列出的最新標準是 UNIX 03,引用另一個來源,“UNIX® 03 - 符合單一 UNIX 規範版本 3 的系統的標誌”。
引用“關於我們”頁面並用我自己的粗體強調:
UNIX 方法的成功導致了大量“相似”的作業系統,在兼容性和互操作性上往往存在分歧。為了解決這個問題,供應商和使用者在 1980 年代聯合創建了 POSIX® 標準和後來的 Single UNIX Specification。
所以這表明(或者至少我的解釋是這樣)是,當作業系統符合 POSIX 標準和單一 UNIX 規範時,它在行為上與 Unix 作為曾經存在於歷史某個時間點的作業系統兼容。請注意,這並沒有提到原始 Unix 原始碼的任何痕蹟的存在,也沒有以任何方式提到核心(這將在以後變得重要)。
至於 Ritchie 和 Thompson 開發的 AT&T 和 System V Unix,現在可以說它已經不復存在了。根據上述資料,現在的 UNIX 似乎不是那個特定的作業系統,而是從Unix 家族中作業系統行為方式的最佳概括中衍生出來的標準。
macOS X 在 *nix 世界中處於什麼位置?
在一個非常具體的定義中,基於 Intel 的硬體上的 macOS 版本 10.13 High Sierra符合 UNIX 03 標準並引用pdf 證書,“Apple Inc. 已與 X/Open Company Limited 簽訂了商標許可協議。” 旁注:我不願質疑將非英特爾硬體上的 macOS 10.13 視為什麼意思,但考慮到其他作業系統也提到了硬體,硬體很重要。範例:“Hewlett Packard Enterprise:HP-UX 11i V3 Release B.11.31 或更高版本在具有精密架構的 HP 9000 伺服器上”(來自註冊頁面)。
讓我們回到我回答的上一部分。由於這個特定版本的作業系統符合互操作性和兼容性標準,這意味著作業系統在行為和系統實現上盡可能接近原始 Unix 作為作業系統。至少在行為和環境上會很接近。它越接近系統級別和核心級別,該區域將變得越具體和模糊,但至少 Unix 中存在的基本機制和行為應該存在於旨在兼容的作業系統中。macOS X 應該非常接近這個目標。
什麼是分佈?
引用維基百科:
Linux 發行版(通常縮寫為 distro)是由軟體集合組成的作業系統,它基於 Linux 核心,通常是包管理系統。
讓我們暫時記住,Linux 核心中的 Linux 應該是可分發的軟體,經過修改,或者至少符合GPL v2。如果我們考慮一個包管理器和核心,Ubuntu 和 Red Hat 作為發行版是有意義的。macOS X 的核心與原始的 AT&T Unix 不同 - 因此將 macOS X 稱為 Unix 發行版沒有意義。人們建議 macOS X 核心基於 FreeBSD,但引用FreeBSD Wiki:
OS X 上使用的 XNU 核心包括一些來自(舊版本)FreeBSD 的子系統,但主要是一個獨立的實現
有些人錯誤地將 OS X 核心稱為 Darwin。引用 Apple 的核心程式指南:
核心以及 OS X 的其他核心部分統稱為 Darwin。Darwin 是一個完整的作業系統,它基於許多與 OS X 相同的技術。
並引用同一頁:
Darwin 技術基於 BSD、Mach 3.0 和 Apple 技術。
基於以上所有內容,我們可以自信地說,OS X不是Linux 發行版意義上的發行版。類似地,其他提到的作業系統都符合 POSIX 並且是經過認證的 Unix 系統,但它們在核心和底層系統呼叫的變體上也有所不同(這就是為什麼存在有關 Solaris 系統程式的書籍的原因,它本身就是一個有價值的主題)。因此,它們不是 Linux 發行版意義上的發行版 - 一個具有多種實用程序的通用核心。對於 Linux,您會看到有關 Linux 系統程式或 Linux 核心程式的書籍,而不是特定於發行版的系統程式,因為特定發行版沒有特定於系統的內容。
我們在這裡看到的確認可以在官方文件中找到。例如,IBM 在 developerWorks上的文章解決了 UNIX 作業系統類型和 Linux 發行版之間的差異狀態(強調):
當今已知的大多數現代 UNIX 變體都是原始 UNIX 版本之一的許可版本。Sun 的 Solaris、惠普的 HP-UX 和 IBM 的 AIX® 都是具有自己獨特元素和基礎的 UNIX 風格。
換句話說,它們基於相同的基礎,但在 Linux 發行版共享核心的意義上,它們並不共享完全相同的基礎。
注意事項
請注意,在引用以 Linux 核心為核心的作業系統時,似乎主要使用*分佈一詞。*以 BSD 類型的作業系統為例:有GhostBSD,它基於核心並使用FreeBSD的一些實用程序,但我從未見過它被稱為 BSD 發行版;每個 BSD 作業系統只提到它所基於的內容,通常作業系統本身就被稱為作業系統。當然,BSD 代表 Berkeley Software Distribution,但是……就是這樣。
在我們的網站上引用這個答案來回答不同 BSD 版本是否使用相同核心的問題:
不,儘管由於歷史分叉而存在相似之處。每個項目都是單獨發展的。
它們不是Linux 發行版意義上的發行版。考慮本文件中的版權聲明:
本產品的部分內容可能源自 UNIX® 和 Berkeley 4.3 BSD 系統
筆記
- 前面提到的 POSIX 標準也被稱為IEEE 標準(其中 IEEE 是電氣和電子工程師協會,它處理 IT 類型的事物等)。
- 引用Wikipedia的話:“2016 年,隨著 macOS 10.12 Sierra 的發布,名稱從 OS X 更改為 macOS,以簡化它與 Apple 其他主要作業系統的品牌:iOS、watchOS 和 tvOS。$$ 56 $$"
- Mac OS X 歷史答案
- Linux 和 BSD 核心之間的概念差異
綜上所述:
- 當您想將 macOS X 與原始 AT&T Unix 相關聯時,可以將 macOS X 稱為類 Unix 作業系統、類 Unix 系統、Unix 實現、符合 POSIX 的作業系統;
- “Unix 版本”這個詞不合適,因為 macOS X 與最初的 AT&T Unix 大不相同,而且如前所述,在軟體意義上不再有 Unix,它現在更像是一個行業標準;
- 可能“分發”這個詞只適用於 Linux 世界。
- 真正的問題是你(讀者)和我有太多的時間來爭論律師應該爭論的話題。也許我們應該像 Linux Torvalds 一樣使用術語和作業系統,讓我們繼續生活,做我們真正關心和應該關心的事情。