Sen*_*nha 22 osx distributions
我知道macOS 是一个 UNIX 操作系统,但我不知道 macOS 是否可以像 Gentoo 或 Debian 是GNU/Linux 发行版一样被称为UNIX发行版。
macOS 是 UNIX 发行版吗?如果不是,那么如何正确地指称 macOS 在 UNIX 操作系统家族中的成员资格以及对单一 UNIX 规范的遵守(即,它是Unix 变体、Unix 版本、Unix 风格等)?此外,这个问题适用于 Solaris、HP-UX 和其他 unices(它们都是 UNIX 发行版吗?)。
此外,“分发”一词是否仅限于 GNU(/Linux、/Hurd、/kFreeBSD、/etc)操作系统,还是可以用于其他情况?
编辑:我已经意识到UNIX 的官方网站使用“UNIX 实现”和“UNIX 操作系统”来指代 Unix 操作系统系列,即实现单一 Unix 标准的那些。
Ser*_*nyy 34
简短回答: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® 标准和后来的单一 UNIX 规范。
所以这表明(或者至少我的解释是这样),当一个操作系统符合 POSIX 标准和单一 UNIX 规范时,它在行为上与 Unix兼容,因为它是一个曾经存在于历史某个时间点的操作系统。请注意,这并没有提到原始 Unix 源代码的任何痕迹的存在,也没有以任何方式提到内核(这将在以后变得重要)。
至于由 Ritchie 和 Thompson 开发的 AT&T 和 System V Unix,如今可以说已经不复存在了。基于上述来源,现在的 UNIX 似乎不是那个特定的操作系统,而是从对Unix 家族中操作系统的行为方式的最佳可能概括得出的标准。
在一个非常具体的定义中,基于 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 发行版 B.11.31 或更高版本,适用于具有 Precision Architecture 的 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、Hewlett-Packard 的 HP-UX 和 IBM 的 AIX® 都是具有自己独特元素和基础的 UNIX 。
换句话说,它们基于相同的基础,但在 Linux 发行版共享内核的意义上,它们不共享完全相同的基础。
注意事项
请注意,在引用以 Linux 内核为核心的操作系统时,似乎主要使用分发一词。以 BSD 类型的操作系统为例:有GhostBSD,它基于内核并使用FreeBSD 的一些实用程序,但我从未见过它被称为 BSD 发行版;每个 BSD 操作系统只提到它基于什么,通常一个操作系统本身就被称为操作系统。当然,BSD 代表 Berkeley Software Distribution,但是……仅此而已。
在我们的网站上引用这个答案来回答不同的 BSD 版本是否使用相同的内核的问题:
不,尽管由于历史分叉而存在相似之处。每个项目都是单独发展的。
它们不是Linux 发行版意义上的发行版。考虑本文档中的版权声明:
本产品的部分内容可能源自 UNIX® 和 Berkeley 4.3 BSD 系统
归档时间: |
|
查看次数: |
14391 次 |
最近记录: |