POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )
POSIX 是一个标准化的操作系统接口,定义了一组可移植的操作系统接口规范,以便为 UNIX 和类 UNIX 操作系统提供统一的接口。这个名称可解读为 “可移植操作系统接口”(Portable Operating System Interface),现在已经成为一个通用的名称。
POSIX 标准定义了许多操作系统接口,包括文件、文本处理、进程控制、信号处理、sockets、共享内存、POSIX Threads 等。这些接口使得程序可以在不同的 POSIX 兼容操作系统上编写一次,而不需要修改程序代码。
POSIX 标准由 IEEE (Institute of Electrical and Electronics Engineers) 发布,最新版本的 POSIX 家族标准是 2017 年发布的 POSIX.1-2017 标准。也有其他相关的 POSIX 标准,如 POSIX Realtime、POSIX Threads、POSIX IPC 等。
在 UNIX 和类 UNIX 的操作系统中,大部分的标准库函数(比如 I/O、进程控制、信号处理)都符合这个标准。因此,如果程序使用 POSIX 标准库而不依赖于操作系统特定的函数,那么程序就可以很容易地移植到其他的 POSIX 操作系统环境中。
需要注意的是,不是所有的操作系统都完全符合 POSIX 标准,而且各个操作系统的实现也可能存在细微的差异。在编写与 POSIX 相关的程序时,需要结合操作系统的文档来使用相应的标准库函数。
那么谁遵循这个标准呢?Unix和Linux遵循这个标准,除此之外还有苹果的操作系统也是Unix-based的,有了这个规范,你就可以调用通用的API了,Linux提供的POSIX系统调用在Unix上也能执行,因此学习Linux的底层接口最好就是理解POSIX标准。