POSIX,单一UNIX规范和开放组基础规范之间的区别?


Answers:


9

一个重要的“差异”是XSI(XOPEN)选项组,它指定了许多传统的Unix接口,这些接口不太可能适用于非“ Unix”的新操作系统。人们通常会使用“ SUS”来指代包括XSI选项的完整标准,而使用“ POSIX”来指代基本标准以及可能的非以Unix为中心的选项组。

SUS的后续版本似乎逐渐淘汰了XSI选项的某些部分,这些部分对于编写便携式应用程序并没有真正的用处,而只是反映了旧版实现,并将一些更有用的部分移至基本标准。


您误会了,XSI在新版本的标准中被强制使用。还请注意,根据POSIX验证测试套件的作者,除非您只想验证嵌入式UNIX平台,否则XSI合规性是强制性的。
schily

1
@schily:引文吗?
R.,

电流文档unistd.h如下:“<unistd.h中>头应定义仅在实现支持XSI选项下列符号常数;参见XSI一致性如果定义,它的值应适合于在#if预处理指令使用_XOPEN_VERSION。 “
R ..


25

今天,POSIX和SUS基本上是同一个人。SUS 包含更多内容

在这里报价:

从1998年开始,一个名为Austin Group的联合工作组开始开发该组合标准,该标准被称为Single UNIX Specification Version 3和POSIX:2001(正式名称:IEEE Std 1003.1-2001)。2002年1月30日发行

2008年12月,奥斯汀集团发布了一个新的主要修订版本,称为POSIX:2008(正式名称:IEEE Std 1003.1-2008)。这是Single UNIX规范版本4的核心


POSIX.1-2008不是标准的版本4,而是版本7。
schily

@schily我在第二个引号的结尾处选择错误吗?对我而言,来源和报价似乎都清楚地将“版本4”与SUS(而不是POSIX)相关联。
丹尼尔·贝克

术语“问题7”适用于Opengroup。请参阅:pubs.opengroup.org/onlinepubs/9699919799我可能感到困惑。因此,我猜想UNIX95是SUSv1,UNIX98是SUSv2,POSIX.1-2001是SUSv3和POSIX.1-2008是SUSv4
schily

@schily右侧,参见维基百科页面,该帖的源头接着提到的问题7
丹尼尔·贝克

11

开放组基础规范的顶部,您将看到标准标识符IEEE Std 1003.1-2008。IEEE Std 1003.1被称为POSIX.1,而2008年只是最新的化身。看着POSIX维基百科上,你会看到,该标准包含三个部分,包括:

  • 基本定义,第7期
  • 系统接口和标题,第7期
  • 命令和实用程序,第7期

基本上,POSIX只是IEEE于1988年完成的最初版本所制定的标准的名称。POSIX并不是正式的UNIX™,仅仅是因为IEEE不拥有该商标,而是UNIX™上的操作系统环境和接口。系统。后来,控制UNIX™商标的Open Group参与了基于POSIX的标准创建,该标准称为Single UNIX Specification版本2或SUSv2。现在,这两个规范由奥斯汀集团共同开发。最新版本是SUSv4。因此,总结一下:

POSIX:2008 = IEEE标准 1003.1-2008 = SUSv4 =开放组规范第7版。

另外,请阅读我对POSIX到底是什么的答案


1
这也是ISO / IEC 9945-2009
fpmurphy

啊,是的,拥有这么多标准是多么可爱。我仍在努力弄清ISO / IEC 10646与Unicode之间的区别,尽管它们代表着彼此严格同步的相同字符集仍然是两个单独且不同的标准。我不确定他们为什么不能相处并宣布它们完全是同义词。
penguin359 2011年

1
在POSIX vs SUS的特定情况下,原因与许可和商标有关。POSIX是通用的,可以在任何OS上实现。SUS是定义UNIX的标准。即使它们相同,* nix。或* nix兼容的东西也需要POSIX。必须满足SUS才能尝试被称为UNIX。如果不存在SUS,则至少可以削弱UNIX商标。我并没有为任何公司行动辩护,只是推测他们的立场。
JM Becker

如今,该标准的IEEE版本与SUS版本100%相同,除了前几页以及IEEE版本通常看起来大约是200英寸。6个月后。
schily
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.