posix是什么

嵌入式操作系统

57人已加入

描述

  POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。

  POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。

  尾巴上的IX两个缩写就是为了表达跟UNIX的血缘关系。这名字还是Stallman大胡子起的。

  Linux作为一个从头开始研制的新操作系统,逐渐发展起来以后为了尽可能获得大量应用软件支持,也明智地选择了用POSIX作为API设计的标准。

  美国联邦信息处理标准规定联邦政府机构采购的产品必须符合POSIX标准,Windows NT为此做了个样子糊弄了一下,实际上早期版本根本不能用。

  维基百科上的说法:

  Microsoft Windows implements only the first version of the POSIX standards, namely POSIX.1. The official code of POSIX.1 is ISO/IEC 9945-1:1990 or IEEE standard 1003.1-1990. The subsystem was included because of 1980s US federal government‘s requirements listed in Federal Information Processing Standard (FIPS) 151-2.[2] Versions Windows NT 3.5, Windows NT 3.51 and Windows NT 4 were certified as compliant with the FIPS 151-2.

  POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC OpenVMS 支持 POSIX 标准,尤其是 IEEE Std. 1003.1-1990(1995 年修订)或 POSIX.1,POSIX.1 提供了源代码级别的 C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。

  POSIX 现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。表 1-1 给出了 POSIX 标准的几个重要组成部分。POSIX 与 IEEE 1003 和 2003 家族的标准是可互换的。除 1003.1 之外,1003 和 2003 家族也包括在表中。

  posix常见标准

  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

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

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

  Linux操作系统

  UNIX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分