STREAMS

2015-02-17 15:07:33   最后更新: 2015-02-17 15:07:33   访问数量:1311




STREAMS 就是流

流在用户进程和设备驱动程序之间提供了一条全双工通道,从而无需和实际的硬件设备直接会话,也因此,流可以用来构造伪设备驱动程序

任意数量的处理模块可以被压入流,流类似于栈,模块以先入后出的策略被压入,如下图所示:

 

写到流首的数据顺流而下传送,由设备驱动程序读到的数据你流向上传送

整个 STREAMS 类似于设备驱动程序,是作为内核的一部分执行的

 

linux 以可选择包方式提供支持,而其他系统暂不支持

 

正如之前介绍的,可以通过 open、close、read、write 和 ioctl 函数访问流,流设备通常存放在 /dev 目录下,但我们并不能直观的知道 /dev 目录下哪些设备是流设备

getmsg、putmsg 和 poll 是在 SVR3 内核中新增的流访问函数

getpmsg、putpmsg 是 SVR4 内核中新增的处理流内不同优先级波段消息的函数

 






读书笔记      linux      unix      龙潭书斋      apue      unix环境高级编程      io      进程间通信            streams      system v     


京ICP备15018585号