2 UNIX Stadardization and Implementations (Unix 标准化和实现)
2.1 Introduction (介绍)
Much work has gone into standardizing the UNIX programming environment and the C programming language. (规范Unix编程环境和C编程语言已经做拉大量工作。)
2.2 UNIX Standardization (Unix 标准化)
2.2.1 ISO C
ANSI : American National Standards Institute. (美国国家标准协会)
ISO: International Organization for Standardization. (国际标准化组织)
IEC: International Electrotechnical Commission. (国际电工委员会)
The ISO C library can be divided into 24 areas, based on the headers defined by the standard. (ISO C 库基于由标准定义的头文件分成24块。)
2.2.2 IEEE POSIX
IEEE: Institute of Electrical and Electronics Engineers. (电气和电子工程师学会)
POSIX: Portable Operating System Interface. (可移植操作系统接口)
2.2.3 The Single UNIX Specification (单一UNIX规范)
XSI: X/Open System Interface (开放系统接口)
2.2.4 FIPS
FIPS: Federal Information Processing Standard. (联邦信息处理标准)
2.3 UNIX System Implementations (Unix 系统实现)
2.3.1 UNIX System V Release 4 (SVR4)
SVR4 was a product of AT&T's UNIX System Laboratories. (SVR4是AT&T的UNIX系统实验室的产品)
2.3.2 4.4BSD
BSD: Berkeley Softwate Distribution
The BSD releases were producted and distributed by the Computer Systems Research Group at the University of California at Berkeley. (BSD版本由计算机系统研究小组在加州大学伯克利分校生产和发布。)
2.3.3 FreeBSD
FreeBSD is based on the 4.4BSD-Lite operating system. (FreeBSD 基于 4.4BSD-Lite 操作系统。)
2.3.4 Linux
Linux is an operating system that provides a rich UNIX programming environment, and is freely available under the GNU Public License. (Linux是一种操作系统,它提供了丰富的UNIX编程环境,并且它遵循GNU通用公共许可证。)
2.3.5 Mac OS X
Mac OS X is based on entirely different technology than prior versions. (Mac OS X基于和之前的版本完全不同的技术。)
2.3.6 Solaris
Solaris is the version of the UNIX System developed by Sun Microsystems. (Solaris是由Sun Microsystems开发的版本的UNIX系统。)
2.4 Relationship of Standards and Implementations (标准和实现之间的联系)
2.5 Limits (限制)
2.5.1 ISO C Limits
All the limits defined by ISO C are compile-time limits. (ISO C 定义的限制都是编译期间的限制。)
2.5.2 POSIX Limits
POSIX.1 defines numerous contants that deal with implementation limits of the operating system. (POSIX.1 定义拉几种操作系统的实现限制内容。)
2.5.3 XSI Limits
The XSI alse defines contants that deal with implementation limits. (XSI 也定义拉处理实现限制的内容。)
2.5.4 sysconf, pathconf, and fpathconf Functions
#include <unistd.h>
long sysconf(int name);
long pathconf(const char *pathname, int name);
long fpathconf(int files, int name);
The difference between the last two functions is that one takes a pahtname as its argument and the other takes a file descriptor argument. (后面两个函数的区别是一个用路径作为参数,另一个用文件描述符做参数。)
2.5.5 Indeterminate Runtime Limits (不确定的运行时期限制)
Pathnames (路径名)
Many programs need to allocate storage for a pathname. (许多程序需要为路径名分配存储空间。)
2.6 Options (选项)
2.7 Feature Test Macros
2.8 Primitive System Data Types (原始系统数据类型)
Historically, certain C data types have been associated with certain UNIX system variables. (从历史上看,某些C数据类型已经和UNIX系统变量建立关联。)
2.9 Conficts Betweent Standards (标准之间的冲突)
2.10 Summary (总结)
(完)