可移植操作系统接口(英语: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的传承。

中文名

可移植操作系统接口

英文名

Portable Operating System Interface

缩写

POSIX

正式称呼

IEEE1003

类别

计算机科学

产生

POSIX的诞生和Unix的发展是密不可分的,电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)最初开发POSIX标准,是为了提高UNIX环境下应用程序的可移植性。Unix于70年代诞生于贝尔实验室,并于80年代向美各大高校分发V7版的源码以做研究。加利福尼亚大学伯克利分校在V7的基础上开发了BSD Unix。后来很多商业厂家意识到Unix的价值也纷纷以贝尔实验室的System V或BSD为基础来开发自己的Unix,较著名的有Sun OS,AIX,VMS。

Windows NT-based系统不能直接支持新版POSIX接口,仅支持第一版POSIX v1:ISO/IEC9945-1:1990版标准。由于仅支持第一版POSIX的Windows NT-based系统不能创建符合POSIX接口标准的线程和窗体、套接字,所以微软公司提供POSIX兼容层Microsoft POSIX subsystem软件包(Windows Services for UNIX)以支持新版POSIX接口,Windows系统还可以运行其他POSIX兼容层例如Cygwin.

常见标准

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/IEC14519: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

一个定义了被用来检查与IEEE1003.2(shell和工具API)是否符合的测试方法的标准。在1996年,IEEE通过了这个标准。

除了1003和2003家族以外,还有几个其它的IEEE标准,例如1224和1228,它们也提供开发可移植应用程序的API。