什么是posix?(Portable Operating System Interface 便携式操作系统接口)
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是posix?(Portable Operating System Interface 便携式操作系统接口)相关的知识,希望对你有一定的参考价值。
POSIX(Portable Operating System Interface)是Unix系统的一个设计标准。当年最早的Unix,源代码流传出去了,加上早期的Unix不够完善,于是之后出现了好些独立开发的与Unix基本兼容但又不完全兼容的OS,通称Unix-like OS。局面非常混乱,为了提高兼容性和应用程序的可移植性,标准化Unix-like OS,提出了大家都应该遵守的POSIX标准。后来,Unix这个名字成为了商标,只有花钱进行POSIX标准兼容性测试并通过了的OS,才能称为Unix,其余的OS,最多称为Unix-like OS或者*nix OS。
遵循这个标准的好处是软件可以跨平台。
- Windows从WinNT开始就有兼容POSIX的考虑。这是因为当年在要求严格的领域,Unix地位比Windows高。为了把Unix用户拉到Windows阵营而搞的。现在情况当然有变化,与当年大不相同了。
- 现在最新的Win10对 Linux/POSIX 支持好,则是因为Linux已经统治了廉价服务器市场。为了提高Windows的竞争力而搞的。
所以windows也支持就很容易理解了,那么多优秀的开源软件,支持了这些个软件就可能有windows版本,就可以完善丰富windows下的软件。
以下对于POSIX的介绍,来自《Linux内核设计与实现(第2版)》的第5章
一般情况下,应用程序通过应用编程接口(API)而不是直接通过系统调用来编程。这点很重要,因为应用程序使用的这种编程接口实际上并不需要和内核提供的系统调用对应。一个API定义了一组应用程序使用的编程接口。它们可以实现成一个系统调用,也可以通过调用多个系统调用来实现,而完全不使用任何系统调用也不存在问题。实际上,API可以在各种不同的操作系统上实现,给应用程序提供完全相同的接口,而它们本身在这些系统上的实现却可能迥异。
在Unix世界中,最流行的应用编程接口是基于POSIX标准的。从纯技术的角度看,POSIX是由IEEE的一组标准组成,其目标是提供一套大体上基于Unix的可移植操作系统标准。Linux是与POSIX兼容的。
POSIX是说明API和系统调用之间关系的一个极好例子。在大多数Unix系统上,根据POSIX而定义的API函数和系统调用之间有着直接关系。实际上,POSIX标准就是仿照早期Unix系统的界面建立的。
另一方面,许多操作系统,像Windows NT,尽管和Unix没有什么关系,也提供了与POSIX兼容的库。
Linux的系统调用像大多数Unix系统一样,作为C库的一部分提供。C库实现了Unix系统的主要API,包括标准C库函数和系统调用。所有的C程序都可以使用C库,而由于C语言本身的特点,其他语言也可以很方便地把它们封装起来使用。此外,C库提供了POSIX的绝大部分API。
以上是关于什么是posix?(Portable Operating System Interface 便携式操作系统接口)的主要内容,如果未能解决你的问题,请参考以下文章