所以我知道 Linux 被认为是“类 Unix”,而 OSX是Unix。
为什么是这样?我觉得 Linux 比 OSX 更“像 Unix”。
是什么让 OSX 比 Linux 更“Unix”?
答案1
正如评论中所建议的,OS X Primary 是真实的Unix 因为它得到了 The Open Group(UNIX™ 商标的所有者)的认证,因此可以合法地声称自己是 UNIX。
获得 UNIX 认证的主要要求是符合 POSIX 标准。第二个是能够向 The Open Group 支付认证费用。我认为后一点是Linux没有获得认证的主要问题。 ;)
不接受认证的另一个充分理由是,实际上没有一Linux。当然,实际操作系统的内核有一个主要来源,但大多数分销商并不完全提供这内核,但自己修补它,这会破坏认证。甚至如果你采用普通内核(Linus 的树),有几十种可能的配置,并且内核配置甚至允许你显式地破坏 POSIX 合规性。乍一看这听起来很奇怪,但绝对有道理,例如,如果您计划在资源严格限制的嵌入式系统上运行内核。禁用某些这样的设置根本不需要的功能可能是有利的,但会破坏 POSIX 兼容性(通过禁用部分 API 等)。
另一方面,OS X 不存在这个问题。只有一供应商可以完全控制内核支持哪些功能,不支持哪些功能。
但即使在“iWorld”中,您也可以发现这个问题:iOS 或 Apple iTV 上使用的系统尽管是 OS X 的后代并与 OS X 的开发密切相关不是UNIX 认证。这很可能是由于功能集减少而违反了认证要求造成的。
编辑:Open Group 实际上有一个(草案状态并且相当发霉的)文档描述了 POSIX 和 LSB(Linux 标准库)之间的冲突,您可以找到这里。