ANSI (American National Standards Institute)
ISO (International Organization for Standardization)
IEC (International Electrotechnical Commission)
IEEE (Institute of Electrical and Electronics Engineers)
POSIX (Portable Operating System Interface)
SUS (Single UNIX Specification)
XSI (X/Open System Interfaces)

背景知识:
在20世纪80年代中期,电气电子工程师协会(IEEE)开启了UNIX系统上的系统级接口的标准化工作。自由软件运动(Free Software Movement)的创始人Richard Stallman建议把该标准命名成POSIX(发音[pahz-icks]),其全称是Portable Operating System Interface(可移植操作系统接口)。

该工作的第一成果是在1988年获得通过的IEEE std 1003.1-1988(简称POSIX 1988)。1990年,IEEE对 POSIX标准进行了修订,通过了IEEE std 1003.1-1990(POSIX 1990)。后续的修订IEEE Std 1003.1b-1993(POSIX 1993或称POSIX.1b)和IEEE Std 1003.1c-1995(POSIX 1995或称POSIX.1c)分别描述了非强制性的实时和线程支持。2001年,这些非强制性标准在POSIX 1990的基础上进行整合,形成单一标准IEEE Std 1003.1-2001(POSIX 2001)。最新的标准IEEE Std 1003.1-2008 (POSIX 2008)在2008年12月发布。所有的核心POSIX标准都简称为POSIX.1,其中2008年的版本为最新版。

从20世纪80年代后期到20世纪90年代初期,UNIX系统厂商卷入了一场"UNIX之战"中,每家厂商都处心积虑地想将自己的UNIX变体定义成真正的"UNIX"操作系统。几大主要的UNIX厂商聚集在了工业联盟The Open Group周围,The Open Group是由开放软件基金会(Open Software Foundation,OSF)和X/Open合并组成。The Open Group提供证书、白皮书和兼容测试。在20世纪90年代初,正值UNIX之战如火如荼,The Open Group发布了单一UNIX规范(SUS)。SUS广受欢迎,很大原因归于SUS是免费的,而POSIX标准成本很高。今天,SUS合并了最新的POSIX标准。

第一个版本的SUS发布于1994年,然后在1997年和2002年分别发布了两个修订版SUSv2和SUSv3。最新的SUSv4在2008年发布。SUSv4修订结合了IEEE Std 1003.1-2008标准以及一些其他标准。SUS是对POSIX的扩展。

C语言标准
https://www.iso.org/search.html?q=9899 :9899标准搜索最新的
https://www.iso.org/obp/ui/#home :ISO商店,可购买标准,搜9899,能看一些目录结构,如果要看得下载,下载要钱

C89

ANSI Standard X3.159-1989
= International Standard ISO/IEC 9899:1990
:俩标准一样,一字不差
由WG14维护:ISO/IEC JTC1/SC22/WG14, 简称WG14
内容:语法、语义、库函数

C99

ISO/IEC 9899:1999
增加 restrict 关键字
Since 1999, three technical corrigenda have been published to correct errors in the ISO C standard—one in 2001, one in 2004, and one in 2007(三份错误修正发布时间)
http://gcc.gnu.org/c99status.html :可下载草案 N1256

C11

ISO/IEC 9899:2011 草案免费下载:N1570

......

《Unix环境高级编程》笔记----协议
《Unix环境高级编程》笔记----协议

......

IEEE POSIX标准

http://www.opengroup.org/austin : POSIX.1

历史进程:

IEEE Standard 1003.1-1988 — the operating system interface — but was later extended to include many of the standards and draft standards with the 1003 designation, including the shell and utilities (1003.2)。

IEEE 1003.1-1988 - the operating system interface,目标是创建在不同版本的UNIX系统之间可移植的应用程序接口规范(但不限于UNIX类系统)“POSIX compliant”兼容,规范必须定义的接口
IEEE 1003.2 : including shell and utilities
IEEE 1003.1-1990
: 被ISO采用:ISO/IEC 9945-1:1990 即:POSIX.1
IEEE 1003.1-1996 :ISO/IEC 9945-1:1996
: included the1003.1-1990 standard, the 1003.1b-1993 real-time extensions standard, and the interfaces for multithreaded programming, called pthreads for POSIX threads.
IEEE 1003.1d-1999
: More realtime interfaces added
IEEE 1003.1j-2000
: even More realtime interfaces added
IEEE 1003.1q-2000
: event-tracing extensions

The resulting standard, IEEE 1003.1-2001, included the following other standards:

【 IEEE 1003.1-2001】
• ISO/IEC 9945-1 (IEEE Standard 1003.1-1996), which includes
1、IEEE Standard 1003.1-1990
2、IEEE Standard 1003.1b-1993 (real-time extensions)
3、IEEE Standard 1003.1c-1995 (pthreads)
4、IEEE Standard 1003.1i-1995 (real-time technical corrigenda)
• IEEE P1003.1a draft standard (system interface amendment)
• IEEE Standard 1003.1d-1999 (advanced real-time extensions)
• IEEE Standard 1003.1j-2000 (more advanced real-time extensions)
• IEEE Standard 1003.1q-2000 (tracing)
• Parts of IEEE Standard 1003.1g-2000 (protocol-independent interfaces)
• ISO/IEC 9945-2 (IEEE Standard 1003.2-1993)
• IEEE P1003.2b draft standard (shell and utilities amendment)
• IEEE Standard 1003.2d-1994 (batch extensions)

【The Base Specifications of the Single UNIX Specification, version 2, which include】
1、System Interface Definitions, Issue 5
2、Commands and Utilities, Issue 5
3、 System Interfaces and Headers, Issue 5
• Open Group Technical Standard, Networking Services, Issue 5.2
• ISO/IEC 9899:1999, Programming Languages–C

【ISO/IEC 9945:2009】
• ISO/IEC 9945:2009. (In 2004, the POSIX.1 specification was updated with technical corrections; more comprehensive changes were made in 2008 and released as Issue 7 of the Base Specifications. ISO approved this version at the end of 2008 and published it in 2009 as International Standard ). It is based on several other standards:
• IEEE Standard 1003.1, 2004 Edition
• Open Group Technical Standard, 2006, Extended API Set, Parts 1–4
• ISO/IEC 9899:1999, including corrigenda

经过20多年的发展,标准逐渐成熟和稳定,现在 POSIX.1 由Austin Group维护更新:(http://www.opengroup.org/austin)

SUS标准
Base Specifications portion of the Single UNIX Specification = POSIX.1
SUS是POSIX.1的超集,POSIX.1在SUS中为基本标准(Base Specifications)。

"UNIX"的计算机操作系统的标准的集合。 Single UNIX Specification是基于IEEE(电气和电子工程师协会)和The Open Group的工作,由Austin Group发展和维护。

The X/Open System Interfaces (XSI) option in POSIX.1 describes optional interfaces and defines which optional portions of POSIX.1 must be supported for an implementation to be deemed XSI conforming. These include file synchronization, thread stack address and size attributes, thread process-shared synchronization, and the _XOPEN_UNIX symbolic constant (marked ‘‘SUS mandatory’’ in Figure 2.5). Only XSIconforming implementations can be called UNIX systems.
只有实现了XSI才能称之为UNIX系统。

附:头文件如下:
《Unix环境高级编程》笔记----协议
《Unix环境高级编程》笔记----协议
《Unix环境高级编程》笔记----协议
《Unix环境高级编程》笔记----协议
《Unix环境高级编程》笔记----协议