POSIX是什么?我读过维基百科上的文章,每次遇到这个词我都会去读。事实上,我从来没有真正理解它是什么。
有没有人可以通过解释“POSIX的需求”来解释给我听?
POSIX是什么?我读过维基百科上的文章,每次遇到这个词我都会去读。事实上,我从来没有真正理解它是什么。
有没有人可以通过解释“POSIX的需求”来解释给我听?
当前回答
POSIX代表可移植操作系统接口(Portable Operating System Interface),是IEEE为促进应用程序可移植性而设计的标准。POSIX是一个厂商联盟试图创建UNIX的单一标准版本。
其他回答
另一方面,POSIX代表“可移植操作系统接口”,POSIX是一组定义操作系统和应用软件之间接口的标准。POSIX类似于UNIX标准,它旨在确保为一个POSIX兼容的操作系统编写的软件可以在其他POSIX兼容的操作系统上运行而无需修改。
POSIX标准定义了一组在基于unix的操作系统中常见的系统调用、库和实用程序。
许多操作系统,包括Linux、BSD和macOS,都是POSIX兼容的,这意味着它们满足POSIX标准中定义的要求。
Posix governs interoperability, portability, and in other areas such as the usage and mechanism of fork, permissions and filesystem standards such as /etc, /var, /usr and so on . Hence, when developers write a program under a Posix compliant system such as for example Linux, it is generally, not always, guaranteed to run on another posix compliant system such as IBM's AIX system or other commercial variants of Unix. Posix is a good thing to have as such it eases the software development for maximum portability which it strives for. Hope this answer makes sense.
感谢Jed Smith和Tinkertim指出我的错误——我的错!!:(
POSIX代表可移植操作系统接口(Portable Operating System Interface),是IEEE为促进应用程序可移植性而设计的标准。POSIX是一个厂商联盟试图创建UNIX的单一标准版本。
该标准为类unix操作系统提供了一个公共基础。它指定了shell应该如何工作,期望从ls和grep等命令中得到什么,以及C作者期望可用的一些C库。
例如,这里详细地指定了命令行用户用来将命令串在一起的管道,这意味着C的popen(管道打开)函数是posix标准的,而不是ISO C标准的。
关于POSIX的一些事实并不那么明朗。
POSIX也是系统调用接口或API,它有将近30年的历史。
它被设计用于对本地存储的串行数据访问,使用具有单个cpu的单台计算机。
在POSIX的设计中,安全性并不是一个主要的问题,这导致了多年来大量的竞争条件攻击,迫使程序员绕过这些限制。
严重的错误仍在被发现,这些错误本可以通过更安全的POSIX API设计来避免。
POSIX期望用户一次发出一个同步调用,并在发出下一个调用之前等待它的结果。今天的程序员希望一次发出许多异步请求,以提高总体吞吐量。
这种同步API对于访问远程和云对象尤其不利,因为在这些地方,高延迟很重要。