从 1970 第一款现代操作系统——UNIX 诞生至今,出现了多款现代操作系统,为了方便应用程序以及中间件的移植,大多数操作系统都采用与 UNIX 兼容的 API(Windows 除外)。
为了保证操作系统 API 的相互兼容性制定了 POSIX 标准。目前符合 POSIX 标准协议的操作系统有:UNIX、BSD、Linux、iOS、Android、SylixOS、VxWorks、RTEMS 等。
POSIX标准意在期望获得源代码级别的软件可移植性,但POSIX 并不局限于 UNIX。即为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。
应用程序通过应用编程接口(API)而不是直接通过系统调用来编程,使用的这种编程接口实际上并不需要和内核提供的系统调用对应。一个API定义了一组应用程序使用的编程接口。它们可以实现成一个系统调用,也可以通过调用多个系统调用来实现。
API可以在各种不同的操作系统上实现,即使本身在操作系统上的实现多种多样,却可以给应用程序提供完全相同的接口,兼容POSIX的操作系统之间,应用程序可以非常方便的移植。