2011-04-26 31 views

回答

53

是的。 POSIX是一组确定用于类Unix操作系统的可移植API的标准。 Mac OSX是基于Unix的(并且已经被认证),并且符合POSIX标准。 POSIX保证某些系统调用将可用。

本质上,Mac满足POSIX所要求的API,这使得它成为POSIX操作系统。

所有版本的Linux都不符合POSIX标准。 2.6之前的内核版本不兼容,今天Linux不符合POSIX标准,因为他们还没有走出去获得认证(这可能永远不会发生)。无论如何,几乎所有的意图和目的都可以将Linux视为POSIX系统。

+2

什么是可移植的API? – 2011-04-26 03:17:30

+1

@ z-buffer您可以依靠某些系统调用来使用,例如'stat()','read()'等。 – 2011-04-26 03:18:06

+0

Linux系统有很多种版本。是否因为Linux而创建了POSIX? – 2011-04-26 03:39:15

2

POSIX是一个规范:http://www.unix.org/what_is_unix/single_unix_specification.html 据我所知,Linux依照规范,但还没有证明

+3

有一些有趣的问题 - 例如,对于试图坚持POSIX的程序仅仅指定具有“200809L”值的'_POSIX_C_SOURCE'来确保环境是不够的 - 对于一个人来说, GCC扩展是'realpath'函数,其中**由POSIX指定 - 除非我还指定了一个值为“700”的非标准'_XOPEN_SOURCE'程序有问题编译。不是一个巨大的(后者旗帜的存在对于POSIX来说并不是什么好玩的东西,但它的便携性却远不如此),但绝对是一个唠叨。请参阅“man 2 realpath”。 – amn 2013-11-16 15:24:02

相关问题