UNIX标准化及实现

本文详细探讨了UNIX的标准化过程,包括ISO C、IEEE POSIX和Single UNIX Specification,并介绍了UNIX的不同系统实现,如SVR4、4.4BSD、Linux和Mac OS X。此外,文章还讨论了UNIX的限制,如ISO C限制、XSI限制和运行期限量,以及如何通过sysconf、pathconf和fpathconf函数获取这些限制。最后,文章提到了POSIX.1选项和功能测试宏的作用。
摘要由CSDN通过智能技术生成

一、UNIX标准化:

1.ISO C

  ISO C (ISO是国际标准化组织)C程序设计语言的标准,适用于一切使用C语言编程的场合

  主要有两个版本的国际C标准:

           一个是C89,即ANSI C(ANSI是美国国家标准学会),这是通行的实际标准;

           另一个是C99,主要是在兼容C89的基础进行了扩充,如增加了restrict(强制所修饰类型只能为指针的修饰符)关键字等。

2.IEEE POSIX

IEEE是:电气与电子工程师协会,POSIX是可移植的操作系统接口,POSIXIEEE制定,通过ISO进行标准化。

该标准的目的是提高应用程序在各种UNIX系统环境之间的可移植性。

当前通行的标准为POSIX.1,其包含了 ISO C 标准库函数。

3.Single UNIX Specification

Single UNIX Specification(单一UNIX规范)是POSIX.1标准的一个超集,.定义了一些附加接口。

这些接口扩展了基本的POSIX.1规范所提供的功能,相应的接口系统全集被称为X/Open系统接口。

二、UNIX系统实现

1.SVR4(UNIX系统V第4版):是AT&T的UNIX系统实验室的产品

2.4.4BDS:此版是由加州大学伯克利分校的计算机系统研究组研究开发和分发的。

3.FreeBDS:其基础是4.4BSD-Lite操作系统

4.Linux是在POSIX标准指导下发布的独立UNIX分支,使用GPL许可证。

5.Mac OS X:Mac OS X内核称为Darwin,在Mach微内核和FreeBSD的基础上开发,主要运行于苹果计算机的PowerPC处理器。

6.Solaris:由Sun公司开发的UNIX系统版本,基于SVR4.

7.其他UNIX系统

三、限制

1.ISO C 限制

ISO C限制和常量被分为5类:

a.不变的最小值

在<limits.h>里定义的POSIX.1的不变最小值
名称 描述:...的可接受的最小值
_POSIX_ARG_MAX exec函数参数的长度 4,096
_POSIX_CHILD_MAX 每个真实用户ID的子进程数 25
_POSIX_HOST_NAME_MAX gethostname返回的主机名的最大长度 255
_POSIX_LINK_MAX 一个文件的链接数 8
_POSIX_LOGIN_NAME_MAX 登录名的最大长度 9
_POSIX_MAX_CANON 终端最简洁的(canonical)输入队列的字节数 255
_POSIX_MAX_INPUT 终端输入队列的可用空格 255
_POSIX_NAME_MAX 文件名的字节数,不包括终止字符null 14
_POSIX_NGROUPS_MAX 一个进程的同步的补充组ID的数量 8
_POSIX_OPEN_MAX 一个进程打开的文件数 20
_POSIX_PATH_MAX 路径名的字节数,包括终止符null 256
_POSIX_PIP_BUF 可被原子写入管道的字节数 512
_POSIX_RE_DUP_MAX 当使用间隔标记“\{m,n\}”时,被regexec和regcomp函数认可的基本正则表达式的重复出现次数 255
_POSIX_SSIZE_MAX
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值