环境
没有用户环境通常可用于 STREAMS 模块过程和驱动程序。
例外情况是模块和驱动程序打开和关闭例程,这两个例程都可以访问调用进程的 u_area ,并且这两个例程都可以休眠。 否则, STREAMS 驱动程序,模块放置过程和模块服务过程没有用户上下文,既不能休眠也不能访问 u_area。
多个流可以使用同一模块 (即,同一 fmodsw) 的副本,每个都包含相同的处理过程。 因此,必须重入模块,并且在模块中使用全局数据时必须小心。 放置和服务过程始终传递 QUEUE 的地址 (例如,在流详细信息图 (图 1) 中, Au 使用 Bu 作为参数来调用 Bu 放置过程)。 处理过程仅根据 QUEUE 内容 (通常是专用数据 (例如,状态信息)) 来建立其环境。