PSE 中的差异

尽管PSE是根据AT&T文档中的规范编写的,但在某些地方并未实现与该规范的兼容性,或者无法实现兼容性。

这些差异包括:
  • 包含文件。 并非所有AT&T包含文件中的结构和定义都在STREAMS文档中有所讨论。 模块和应用程序写程序只能使用文档中指定的那些符号。
  • 模块配置。 PSE环境下模块与设备的配置机制与AT&T System V Release 4存在差异,其特点在于不存在主文件或相关结构。 PSE 维护用于模块的 fmodsw 表,以及用于设备和多路复用器的 dmodsw 表。 当模块装入到正在运行的系统中时,条目将动态地放置在这些表中。 类似地, PSE 通常支持模块和设备的 init 例程,但不支持 start 例程。
  • 日志记录设备。 STREAMS 日志记录设备名为 /dev/slog/dev/log 节点指的是另一种类型的日志记录设备。
  • 结构定义。 PSE 在字段名称和类型方面支持标准 STREAMS 结构定义,但也包含针对特定于主机的需求的其他字段。 模块和应用程序不应依赖于从 STREAMS 文档获取的字段位置或结构大小。 此外, PSE 不支持扩展基本类型的概念以及相关联的 _STYPES 定义。
  • 队列标志。 PSE 定义但不实现 QBACKQHLIST 队列标志。
  • 内存分配。 PSE 不支持 rmallocrminitrmfree 内存分配例程。
  • 指定的流。 PSE 不支持指定的流和关联的 fdetach 程序。
  • 终端。 PSE 不包含基于 STREAMS 的终端或相关模块和实用程序 (包括作业控制原语)。 但是, PSE 中的任何内容都不会阻止添加基于 STREAMS 的终端。
  • 网络选择。 PSE 不支持对 TLI (传输层接口) 的 V.4 网络选择和名称到地址映射扩展。