macOS 是 Unix 发行版吗?

macOS 是 Unix 发行版吗?

我知道macOS 是一个 UNIX 操作系统,但我不知道macOS是否可以称为UNIX系统分配就像 Gentoo 或 Debian 一样GNU/Linux 发行版

macOS 是 UNIX 发行版吗?如果不是,如何正确提及 macOS 在 UNIX 操作系统系列中的成员身份以及对 UNIX 操作系统的遵从性单一 UNIX 规范(即,它是一个Unix变种, AUnix版本, AUnix风味, ETC。)?另外,这个问题也适用于 Solaris、HP-UX 和其他 unice(它们都是 UNIX 发行版吗?)。

此外,还有这个词“分配”仅限于 GNU(/Linux、/Hurd、/kFreeBSD、/etc)操作系统,还是可以在其他情况下使用?

编辑:我已经意识到UNIX 官方网站用途“UNIX 实现”《UNIX 操作系统》用于指代 Unix 操作系统系列,即实现单一 Unix 标准的操作系统。

答案1

UNIX 到底是什么?

简短的回答:UNIX 现在是一种规范/标准。

在撰写本文时,引用官方消息来源,“UNIX® 是 The Open Group 的注册商标”,该公司提供多种服务UNIX认证:

“UNIX® 是 The Open Group 拥有和管理的开放标准,是关键技术的推动者,可降低总体拥有成本,提高 IT 敏捷性、稳定性和异构环境中的互操作性,从而实现全球业务和市场创新”。

同一页面具体说明了哪个规范定义了 UNIX:

最新版本的认证标准是 UNIX V7,与 Single UNIX 规范版本 4(2013 年版)一致

这些规格的详细信息可以找到这里。奇怪的是最新标准在他们的网站上列出是 UNIX 03,引用另一个来源,“UNIX® 03 - 符合单一 UNIX 规范第 3 版的系统的标志”。

引用“关于我们”页面,并用粗体强调我自己的强调:

UNIX 方法的成功导致出现了大量“相似”的操作系统,但它们在功能上往往有所不同。兼容性和互操作性。为了解决这个问题,供应商和用户在 20 世纪 80 年代联合创建了 POSIX® 标准以及后来的单一 UNIX 规范

因此,这表明(或者至少我的解释是这样),当操作系统符合 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:采用 Precision Architecture 的 HP 9000 服务器上的 HP-UX 11i V3 Release B.11.31 或更高版本”(来自注册页面)。

让我们回到我的回答的上一部分。由于这个特定版本的操作系统符合互操作性和兼容性标准,这意味着该操作系统在行为和系统实现上尽可能接近原始的 Unix 作为操作系统。至少,在行为和环境上都会接近。越接近系统级和内核级,该领域就会变得越具体和阴暗,但至少 Unix 中存在的基本机制和行为应该存在于旨在兼容的操作系统中。 macOS X 应该非常接近这个目标。


什么是分布?

去引用维基百科:

Linux 发行版(通常缩写为 distro)是由软件集合组成的操作系统,它基于 Linux 内核,并且通常还基于包管理系统。

让我们记住一下,Linux 内核中的 Linux 应该是可分发的软件,经过修改,或至少按照通用公共许可证 v2。如果我们考虑包管理器和内核,Ubuntu 和 Red Hat 是发行版是有意义的。 macOS X 的内核与原始 AT&T Unix 不同 - 因此将 macOS X 称为 Unix 发行版是没有意义的。人们建议 macOS X 内核基于 FreeBSD,但引用FreeBSD 维基:

OS X 上使用的 XNU 内核包括一些来自(旧版本)FreeBSD 的子系统,但大部分是独立的实现

有些人错误地将 OS X 内核称为 Darwin。引用苹果的话内核编程指南:

内核以及 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、Hewlett-Packard 的 HP-UX 和 IBM 的 AIX® 都是 UNIX 的版本。有自己独特的元素和基础

换句话说,他们是基于它们基于相同的基础,但它们并不共享完全相同的 Linux 发行版共享内核的意义。

注意事项

注意这个词分配似乎主要用于引用以 Linux 内核为核心的操作系统。以 BSD 类型的操作系统为例:GhostBSD,它基于内核并使用了一些实用程序自由BSD,但我从未见过它被称为 BSD 发行版;每个 BSD 操作系统仅提及它所基于的内容,并且通常操作系统本身就是一个操作系统。当然,BSD 代表 Berkeley Software Distribution,但是……仅此而已。

去引用这个答案在我们的网站上回答不同 BSD 版本是否使用相同内核的问题:

不,尽管由于历史分叉而存在相似之处。每个项目都是单独发展的。

他们是不是Linux 发行版意义上的发行版。考虑版权声明这个文件:

本产品的部分内容可能源自 UNIX® 和 Berkeley 4.3 BSD 系统

笔记

综上所述:

  • 当您想将 macOS X 与原始 AT&T Unix 联系起来时,可以将 macOS X 称为类 Unix 操作系统、类 Unix 系统、Unix 实现、POSIX 兼容操作系统;
  • “Unix 版本”并不是一个合适的术语,因为 macOS X 与最初的 AT&T Unix 有很大不同,而且正如之前提到的,软件意义上不再有 Unix,它现在更像是一个行业标准;
  • 也许“分发”这个词只适合 Linux 世界。
  • 真正的问题是你(读者)和我有太多的时间来争论律师应该争论的话题。也许我们应该像 Linux Torvalds 一样,使用能让我们继续生活并做我们真正关心和应该关心的事情的术语和操作系统。

答案2

问:macOS 是 Unix 发行版吗?如果不是,那么如何正确地提及 macOS 在 Unix 操作系统家族中的地位(即,它是 Unix 变体、Unix 版本、Unix 风格等)?另外,这个问题适用于 Solaris、HP-UX 和其他 unice(它们都是 Unix 发行版吗?)。

图片来源:https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

macOS X

来源:https://en.m.wikipedia.org/wiki/XNU

西安大学是计算机操作系统核心自 1996 年 12 月起由 Apple Inc. 开发,用于苹果系统操作系统并作为免费开源软件发布达尔文操作系统。它还用作 iOS、tvOS 和 watchOS 操作系统的内核。西安大学是一个缩写X不是 U尼克斯。


来源:https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHFEIFI

构建你的第一个内核

在构建内核之前,必须首先获取源代码。 OS X 内核的源代码可以在达尔文xnu项目于http://www.opensource.apple.com。要找出当前的内核版本,请使用命令 uname -a。如果您遇到麻烦,请搜索 darwin-kernel 和 darwin-development 邮件列表的档案以获取信息。如果这没有帮助,请在任一列表上寻求帮助。列表档案和订阅信息可以在以下位置找到:http://www.lists.apple.com”。


来源:https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html

可可- OS X 的高级面向对象开发平台。Cocoa 是一组具有 Java 和 Objective-C 编程接口的框架。它基于 OPENSTEP、Apple 技术和 Java 的集成。

达尔文- OS X 操作系统核心的另一个名称。 Darwin 内核相当于 OS X 内核加上BSD必要的库和命令BSD命令行环境。达尔文是开源技术。

Xcode- Apple 的图形集成开发环境。它可以通过 OS X 开发者工具包免费获得。

西安大学- OS X 内核。该缩写词代表 X is Not Unix。 XNU 将 Mach 和 BSD 的功能与 I/O Kit(OS X 的驱动程序模型)结合起来。


  • 建筑学

来源:https://en.wikipedia.org/wiki/MacOS#Architecture

“macOS 的核心是一个构建在 POSIX 之上的兼容操作系统XNU内核,可通过命令行界面使用标准 Unix 设施。 Apple 已将该软件系列作为免费开源操作系统发布,名为达尔文。在之上达尔文之后,苹果分层了许多组件,包括 Aqua 界面和 Finder,以完成基于 GUI 的操作系统,这就是 macOS。


问:分布或发布? - 来源:https://en.wikipedia.org/wiki/MacOS#Updating_methods

来源:https://en.wikipedia.org/wiki/MacOS_High_Sierra

“macOS High Sierra(版本 10.13)是第十四个主要版本发布macOS,Apple Inc. 用于 Macintosh 计算机的桌面操作系统。 macOS Sierra 的后继者,于 2017 年 6 月 5 日在 WWDC 2017 上公布。“内核类型:Hybrid (XNU)”。


问:另外,这个问题适用于 Solaris、HP-UX 和其他 unice(它们都是 Unix 发行版吗?)。

相关内容