标准和实现的关系-cadence入门教程

时间:2024-07-02 09:19:44
【文件属性】:

文件名称:标准和实现的关系-cadence入门教程

文件大小:5.91MB

文件格式:PDF

更新时间:2024-07-02 09:19:44

Unix linux 环境 编程

2.4 标准和实现的关系 我们已提及的标准定义了任一实际系统的子集。虽然 IEEE POSIX正致力于在其他所需方 面(例如,网络界面,进程间的通信,系统管理 )制订出标准,但在编著本书写作时,这些标准 还并不存在。 本书集中阐述了两个实际的U N I X系统:S V R 4和4 . 3 + B S D。因为这两个系统都宣称是依从 P O S I X的,所以我们一方面集中阐述了 P O S I X . 1标准所要求的功能,同时又指出 P O S I X和这两 个系统具体实现之间的差别。故 S V R 4或4 . 3 + B S D特有的功能和例程都被清楚地标记出来。因 为X P G 3是P O S I X . 1的超集,所以我们还叙述了属于X P G 3,但不属于P O S I X . 1的功能。 应当了解, S V R 4和4 . 3 + B S D都提供了对它们早期版本功能的兼容性 (例如 S V R 3 . 2对 4 . 3 B S D )。例如,S V R 4对P O S I X规格说明中的非阻塞 I / O ( O _ N O N B L O C K )以及传统的系统V方 法( O _ N D E L AY )都提供了支持。本书将只使用 P O S I X . 1的功能,但是也会提及它所替换的是哪 一种非标准功能。与此相类似, S V R 3 . 2和4 . 3 B S D以某种方法提供了可靠信号机制,这种方法 也有别于P O S I X . 1标准。第1 0章将只说明P O S I X . 1的信号机制。 2.5 限制 有很多由实现定义的幻数和常数,其中有很多已被编写到程序中,或由特定的技术所确定。 由于大量标准化工作的努力,已有若干种可移植的方法用以确定这些幻数和实现定义的限制。 这非常有助于软件的可移植性。 以下三种类型的功能是必需的: • 编译时间选择项(该系统是否支持作业控制)。 • 编译时间限制(短整型的最大值是什么)。 • 运行时间限制(文件名的最大字符数为多少)。 前两个,编译时间选择项和限制可在头文件中定义。程序在编译时可以包含这些头文件。 但是,运行时间限制则要求进程调用一个函数以获得此种限制值。 另外,某些限制在一个给定的实现中可能是固定的 (因此可以静态地在一个头文件中定义 ), 而在另一个实现上则可能是变动的(需要有一个运行时间函数调用)。这种类型限制的一个例 子是文件名的最大字符数。系统 V由于历史原因只允许文件名有 1 4个字符,而伯克利的系统则 将此增加为2 5 5。S V R 4允许我们对每一个创建的文件系统指明是系统 V文件系统还是B S D文件 系统,而每个系统有不同的限制。这就是运行时间限制的一个实例,文件名的最大长度依赖于 文件所处的文件系统。例如,根文件系统中的文件名长度限制可能是 1 4个字符,而在某个其他 文件系统中文件名长度限制可能是2 5 5个字符。 为了解决这些问题,提供了三种限制: (1) 编辑时间选择项及限制(头文件)。 (2) 不与文件或目录相关联的运行时间限制。 (3) 与文件或目录相关联的运行时间限制。 使事情变得更加复杂的是,如果一个特定的运行时间限制在一个给定的系统上并不改变, 则可将其静态地定义在一个头文件中,但是,如果没有将其定义在头文件中,则应用程序就必 第 2章 U N I X标准化及实现 2 1


网友评论