可移植操作系统接口
用於維護操作系統之間兼容性的標準系列
此条目需要补充更多来源。 (2014年6月7日) |
可移植操作系统接口(英语:Portable Operating System Interface,缩写为POSIX)是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称,其正式称呼为IEEE Std 1003,而国际标准名称为ISO/IEC 9945。此标准源于一个大约开始于1985年的项目。POSIX这个名称是由理查德·斯托曼(RMS)应IEEE的要求而提议的一个易于记忆的名称。它基本上是Portable Operating System Interface(可移植操作系统接口)的缩写,而X则表明其对Unix API的传承。
状态 | Published |
---|---|
开始年 | 1988 |
最新版本 | IEEE Std 1003.1-2017 2017 |
组织 | Austin Group (IEEE Computer Society, The Open Group, ISO/IEC JTC 1) |
有关标准 | ISO/IEC 9945 |
领域 | 应用程序接口 |
缩写 | POSIX |
网站 | get |
Linux基本上逐步实现了POSIX兼容,但并没有参加正式的POSIX认证。[1]
微软的Windows NT声称部分实现了POSIX标准。
当前的POSIX主要分为四个部分[2]:Base Definitions、System Interfaces、Shell and Utilities和Rationale。
POSIX 1.1标准
- 1003.0
- 管理POSIX开放式系统环境(OSE)。IEEE在1995年通过了这项标准。ISO的版本是ISO/IEC 14252:1996。
- 1003.1
- 被广泛接受、用于源代码级别的可移植性标准。1003.1提供一个操作系统的C语言应用编程接口(API)。IEEE和ISO已经在1990年通过了这个标准,IEEE在1995年重新修订了该标准。
- 1003.1b
- 一个用于实时编程的标准(以前的P1003.4或POSIX.4)。这个标准在1993年被IEEE通过,被合并进ISO/IEC 9945-1。
- 1003.1c
- 一个用于线程(在一个程序中当前被执行的代码段)的标准。以前是P1993.4或POSIX.4的一部分,这个标准已经在1995年被IEEE通过,归入ISO/IEC 9945-1:1996。
- 1003.1g
- 一个关于协议独立接口的标准,该接口可以使一个应用程序通过网络与另一个应用程序通讯。1996年,IEEE通过了这个标准。
- 1003.2
- 一个应用于shell和工具软件的标准,它们分别是操作系统所必须提供的命令处理器和工具程序。1992年IEEE通过了这个标准。ISO也已经通过了这个标准(ISO/IEC 9945-2:1993)。
- 1003.2d
- 改进的1003.2标准。
- 1003.5
- 一个相当于1003.1的Ada语言的API。在1992年,IEEE通过了这个标准。并在1997年对其进行了修订。ISO也通过了该标准。
- 1003.5b
- 一个相当于1003.1b(实时扩展)的Ada语言的API。IEEE和ISO都已经通过了这个标准。ISO的标准是ISO/IEC 14519:1999。
- 1003.5c
- 一个相当于1003.1q(协议独立接口)的Ada语言的API。在1998年,IEEE通过了这个标准。ISO也通过了这个标准。
- 1003.9
- 一个相当于1003.1的FORTRAN语言的API。在1992年,IEEE通过了这个标准,并于1997年对其再次确认。ISO也已经通过了这个标准。
- 1003.10
- 一个应用于超级计算应用环境框架(Application Environment Profile,AEP)的标准。在1995年,IEEE通过了这个标准。
- 1003.13
- 一个关于应用环境框架的标准,主要针对使用POSIX接口的实时应用程序。在1998年,IEEE通过了这个标准。
- 1003.22
- 一个针对POSIX的关于安全性框架的指南。
- 1003.23
- 一个针对用户组织的指南,主要是为了指导用户开发和使用支持操作需求的开放式系统环境(OSE)框架
- 2003
- 针对指定和使用是否符合POSIX标准的测试方法,有关其定义、一般需求和指导方针的一个标准。在1997年,IEEE通过了这个标准。
- 2003.1
- 这个标准规定了针对1003.1的POSIX测试方法的提供商要提供的一些条件。在1992年,IEEE通过了这个标准。
- 2003.2
- 一个定义了被用来检查与IEEE 1003.2(shell和工具API)是否符合的测试方法的标准。在1996年,IEEE通过了这个标准。
除了1003和2003家族以外,还有几个其它的IEEE标准,例如1224和1228,它们也提供开发可移植应用程序的API。