Unix标准化

来自运维百科

ISO C

1989年下半年,C程序设计语言的ANSI标准X3.159-1989得到批准。此标准被也采纳为国际标准ISO/IEC9899:1990。ANSI是美国国家标准学会(American National Standards Institute)的缩写,它是国际标准化组织(International Organization for Standardization,ISO)中代表美国的成员。IEC是国际电子技术委员会(International Electrotechnical Commission)的缩写。

ISO C标准现在由ISO/IEC的C程序设计语言国际标准工作组维护和开发。ISO C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统,而不只是适合UNIX系统。此标准不仅定义了C程序设计语言的语法和语义,还定义了其标准库。

1999年,ISO C标准被更新,并被批准为ISO/IEC 9899:1999,它显著改善了对进行数值处理的应用软件的支持。除了对某些函数原型增加了关键字restrict外,这种改变并不影响本书中描述的POSIX接口。restrict关键字告诉编译器,哪些指针引用是可以优化的,其方法是指出指针引用的对象在函数中只通过该指针进行访问。 1999年以来,已经公布了3个技术勘误来修正ISO C标准中的错误,分别在2001年、2004年和2007年公布。如同大多数标准一样,在批准标准和修改软件使其符合标准两者之间有一段时间延迟。随着供应商编译系统的不断演化,对最新ISO C标准的支持也就越来越多。

IEEE POSIX

POSIX是一个最初由IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)制订的标准族。POSIX指的是可移植操作系统接口(Portable Operating System Interfacc)。它原来指的只是IEEE标准1003.1-1988(操作系统接口),后来则扩展成包括很多标记为1003的标准及标准草案。

SUS

Single UNIX Specification(SUS,单一UNIX规范)是POSIX.1标准的一个超集,它定义了--些附加接口扩展了POSIX.1规范提供的功能。POSIX.1相当于Single UNIX Specification中的基本规范部分。

POSIX.1中的X/Open系统接口(X/Open System Interface,XSI)选项描述了可选的接口,也定义了遵循XSI(XSI conforming)的实现必须支持POSIX.1的哪些可选部分。这些必须支持的部分包括:文件同步、线程栈地址和长度属性、线程进程共享同步以及XOPEN__UNIX符号常量。只有遵循XSI的实现才能称为UNIX系统。

FIPS

FIPS代表的是联邦信息处理标准(Federal Information Processing Standard),这一标准是由美国政府发布的,并由美国政府用于计算机系统的采购。FIPS151-1(1989年4月)基于IEEE标准1003.1-1988及ANSIC标准草案。此后是FIPS151-2(1993年5月),它基于IEEE标准1003.1-1990。在POSIX.1中列为可选的某些功能,在FIPS151-2中是必需的。所有这些可选功能在POSIX.1-2001习中已成为强制性要求。