APUE 第二章 UNIX标准及实现

130 阅读1分钟

2.1 引言

2.2 UNIX 标准化

2.2.1 ISO C

ISO C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统,而不是只适合UNIX系统。

此标准不仅定义C程序设计语言的语法和语义,还定义了其标准库。

所有现今的UNIX系统都提供C标准中定义的库函数。

image.png

2.2.2 IEEE POSIX

该标准的目的是提升应用程序在各种UNIX系统环境之间的可移植性。 它定义了“符合POSIX的”操作系统必须提供的各种服务。

由于1003.1 标准说明了一个接口而不是一种实现,所以并不区分系统调用和库函数。

所有在标准中的例程都被称为函数。

image.png

2.2.3 Single UNIX Specification

是POSIX.1标准的一个超集。

2.2.4 FIPS

由美国政府发布的,并由美国政府用于计算机系统的采购。

2.3 UNIX系统实现

上述的3个由各自独立的组织所制定的标准:ISO C, IEEE POSIX 以及 Single UNIX Specification。

但是标准只是接口的规范,这些标准是如何与现实世界相关联的呢?

这些标准由厂商采用,然后转变为具体实现。

2.3.1 SVR4

SVR4是UNIX系统实验室的产品。

2.3.2 4.4BSD

BSD由加州大学伯克利分校(呜呜呜鼠鼠的梦校)的计算机系统研究组开发的。

2.3.3 FreeBSD

FreeBSD基于4.4BSD-lite操作系统。

由FreeBSD项目产生的所有软件,包括其二进制代码和源代码,都是免费使用的。

2.3.4 Linux

2.3.5 Mac OS X

2.3.6 Solaris

2.3.7 其他UNIX系统

2.4 标准和实现的关系

2.5 限制

2.6 选项

2.7 功能测试宏

2.8 基本系统数据类型

2.9 标准之间的冲突