您可能遇到过 POSIX 这个术语。您是否想知道它是什么以及为什么程序员经常讨论 POSIX 合规性?
您会在不同的在线论坛和文章中听到或读到这个缩写词:POSIX。程序员和系统开发人员似乎最担心这个问题。这听起来可能很神秘,虽然关于这个主题有很多好的资料来源,但一些讨论板(简洁是其本质的一部分)不会详细说明它是什么,这可能会导致混乱。那么,POSIX 到底是什么?

POSIX 实际上并不是一个东西。它描述了一个东西——很像一个标签。想象一个标有:POSIX
的盒子,盒子里面是一个标准。标准由 POSIX 相关的一组规则和指令组成。
POSIX是
便携式操作系统接口的简写。它是一个 IEEE 1003.1 标准,定义了应用程序(以及命令行 shell 和实用程序接口)和 UNIX 操作系统之间的语言接口。
计算机系统
——整个产品线中可以协同工作的系统。如今这一切都很常见——网络和系统,但在当时,这是一件大事!

当 UNIX 大约在同一时间问世时,它也显示出了可以在不同制造商的机器上运行的前景。然而,当 UNIX 开始出现不同的风格时,跨这些 UNIX 变体移植代码变得困难。 UNIX 可移植性的承诺正在失势。
为了解决这个可移植性问题,POSIX 在 20 世纪 80 年代诞生。该标准是基于 AT&T 的 System V UNIX 和 BSD UNIX(当时最大的两个变体)定义的。值得注意的是,POSIX 的形成并不是为了控制操作系统的构建方式——任何公司都可以按照自己喜欢的方式自由设计其 UNIX 变体。 POSIX 只关心应用程序如何与操作系统交互。用程序员的话说,接口是一个程序代码可以与另一个程序进行通信的方法。该接口期望程序 A 向程序 B 提供特定类型的信息。同样,程序 A 期望程序 B 以特定类型的数据进行答复。
例如,如果我想使用 cat 命令读取文件,我会在命令行中输入如下内容:
无需过多讨论程序员的说法,我只想说 cat 命令调用操作系统来获取文件,以便 cat 可以读取它。 cat 读取它,然后在屏幕上显示文件的内容。应用程序 () 和操作系统之间有很多相互作用。这种相互作用如何工作是 POSIX 感兴趣的。如果不同 UNIX 变体之间的相互作用是相同的,那么无论操作系统、制造商和硬件如何,都可以重新获得可移植性。
标准中定义了如何实现所有这些的具体细节。
我们所有人都至少见过这样的消息:“如需帮助,请输入:xxxxx –help。 ” 这在 Linux 中很常见,并且不符合 POSIX 标准。 POSIX 从来不需要双破折号,他们期望一个破折号。双破折号来自 GNU,然而,它并没有损害 Linux,而且还增加了一点它的特性。同时,Linux 基本上是兼容的,特别是在系统调用接口方面。这就是为什么我们能够在 Linux、Sys V UNIX 和 BSD UNIX 上运行 X、GNOME 和 KDE 应用程序。各种命令(例如 ls、cat、grep、find、awk 等)在不同变体中的操作方式相同。
一般来说,遵守是自愿的一步。当代码合规时,就更容易迁移到另一个系统;几乎不需要重写代码(如果有的话)。当代码可以在不同的系统上运行时,它的用途就会扩大。使用其他系统的人可以从该程序的使用中受益。对于初露头角的程序员来说,学习如何编写符合 POSIX 标准的程序只会对他们的职业生涯有所帮助。对于那些对 Linux 合规性领域感兴趣的读者,可以在以下位置找到很多有用的信息:Linux Standard Base。
许多从事计算机工作的人并不是程序员或操作系统设计师。他们是医疗转录员、写信件、任务清单、口述备忘录等的秘书。其他人则将数字制成表格、收集和修改数据、经营在线商店、撰写书籍和文章(我们中的一些人阅读它们)。几乎在每项工作中,附近都可能有一台计算机。
POSIX 也会影响这些用户,无论他们是否知道。用户不必遵守该标准,但他们确实希望自己的计算机能够正常工作。当操作系统和程序符合 POSIX 标准时,它们就可以获得互操作性的好处。他们将能够从一个系统转移到另一个系统,并合理地期望这些机器将像另一台系统一样工作。他们的数据仍然可以访问,并且仍然能够对其进行更改。
POSIX 以及其他标准都在不断发展。随着技术的发展,标准也在不断发展。标准实际上是人们、制造商、组织等用来有效执行任务的商定系统。一个制造商的设备能够与另一制造商的设备配合使用。想一想:您的蓝牙耳机可以在 Apple iPhone 上使用,也可以在 Android 手机上使用。我们的电视可以连接并流式传输来自不同网络的视频和节目,例如 Amazon Prime、BritBox、Hulu - 仅举几例。现在,我们甚至可以用手机监测心率。所有这一切之所以成为可能,很大程度上是因为遵守标准。
好处多多。我喜欢。
我承认,我从来没有说过 POSIX 中的“X”是什么意思。 Opensource.com 有一篇精彩的文章,其中 Richard Stallman 解释了 POSIX 中“X”的含义。用他的话说就是:
POSIX 标准允许开发人员使用大部分相同的代码在许多操作系统上创建应用程序、工具和平台。无论如何,都不需要根据标准编写代码,但当您想要将代码移植到其他系统时,它确实会在很大程度上提供帮助。
基本上,POSIX 面向操作系统设计者和软件开发者,但作为系统的用户,无论我们是否意识到,我们都会受到 POSIX 的影响。正是由于有了该标准,我们才能够在一个 UNIX 或 Linux 系统上工作,并将该工作转移到另一个系统上,并顺利进行。作为用户,我们在跨系统的可用性和数据重用方面获得了许多好处。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/9110.html