基础概念——什么是POSIX

POSIX是由IEEE指定的一系列标准,用于澄清和统一Unix-y操作系统提供的应用程序编程接口(以及辅助问题,如命令行shell实用程序)。

当您编写程序以依赖POSIX标准时,您可以非常肯定能够轻松地将它们移植到大量的Unix衍生产品系列中(包括Linux,但不限于此!)。

如果你使用的某些Linux API没有标准化为Posix的一部分,那么如果你希望将来将该程序或库移植到其他Unix-y系统(例如MacOSX)。

 

POSIX 可移植操作系统接口,Portable Operating System Interface of UNIX

POSIX标准定义了操作系统应该为应用程序提供的接口标准;

调用了符合POSIX标准的API的应用程序可以确保在不同的系统上使用;

POSIX则是操作系统为应用程序提供系统调用的接口规范

 

UNIX中最通用的操作系统API基于POSIX标准(Portable Operating System Interface of UNIX 可移植操作系统接口)
操作系统API通常以C库的方式提供,C库封装了这些符合POSIX标准的系统调用接口;

 



 驱动层对于硬件层来说是硬件接口的使用者;这些硬件接口往往被叫作硬件规格

硬件很多,硬件的规格就很多;相应的驱动程序就要写很多,来适配不同的硬件;

这样的话很麻烦,所以一般来说硬件生产厂商要根据一定的接口和规范生产硬件;

这样同一套驱动程序可以在不同的硬件上编写;当然根据实际情况还要编写特定的驱动程序;

 


另外操作系统开发者也为驱动程序提供了一系列接口和框架;

那么按照这个接口和框架开发的驱动程序就可以使得操作系统正常在该硬件上运行;

硬件也被操作系统抽象了成了一系列的概念;

磁盘被抽象成了文件系统;

图形硬件被抽象成了GDI,

声音和多媒体设备被抽象成了DirectX对象等;

程序员从硬件细节中解放出来,关注应用程序开发本身,繁琐的硬件细节则交给操作系统;



POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。
该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。

目前POSIX已经成为类UNIX(Unix-like)操作系统编程的通用接口,极大方便了类UNIX环境下应用程序源码级的可移植性。
Glibc(GNU C Library),即C运行库,是Linux系统中最底层的API,它就是完全按照POSIX标准编写的。

 

System V, 曾经也被称为 AT&T System V,是Unix操作系统众多版本中的一支。
它最初由 AT&T 开发,在1983年第一次发布。一共发行了4个 System V 的主要版本:版本1、2、3 和 4。
System V Release 4,或者称为SVR4,是最成功的版本,成为一些UNIX共同特性的源头。
例如 ”SysV 初始化脚本“ (/etc/init.d),用来控制系统启动和关闭,System V Interface Definition (SVID) 是一个System V 如何工作的标准定义。

 

照上面所说的System V和POSIX是一种应用于系统的接口协议,POXIS相对于System V可以说是比较新的标准,语法相对简单。
在linux/unix系统编程中支持System V和POSIX。我们常见的一个名词就是POSIX IPC和
System V IPC。IPC的全称是Inter-process Comminication,就是进程间通信。

原文地址:https://www.cnblogs.com/grooovvve/p/12416492.html