当前位置: 首页 > news >正文

54、深入解析STREAMS机制:从流头操作到终端控制

深入解析STREAMS机制:从流头操作到终端控制

1. 流头操作:qattach()与qdetach()

当打开一个模块或驱动程序时,qattach()函数会被调用。其主要作用是为驱动程序或模块设置一个队列对,并调用其open函数。qattach()的参数之一是一个现有的队列对,新的队列对将链接到该队列对之下。具体处理步骤如下:
1. 分配一个新的队列对。
2. 从cdevsw[]fmodsw[]条目中找到驱动程序或模块的streamtab
3. 调整新队列对和现有队列对中的指针,使它们相互指向,从而将它们链接到流中。
4. 初始化队列对的qinit结构,该结构保存了队列的处理例程信息,如最小和最大数据包大小、高低水位标记等。
5. 调用新附加模块或驱动程序的open程序。
6. 如果打开操作导致设备信息发生变化,qattach()会识别这是一次克隆打开操作,并调整qinfo指针,使其指向实际打开的驱动程序的streamtab

qdetach()函数则执行相反的操作。它将队列从流中解除链接,调用模块或驱动程序的close函数,然后释放该队列。

2. 基于STREAMS的管道和F
http://www.cnnetsun.cn/news/52153.html

相关文章:

  • 当数据回归遇上暴击流:SVM Adaboost实战手札
  • 65、文件管理子系统与网络协议通信概述
  • DAY18 机器学习
  • jd.item_review获取京东商品评论 及tb.item_review获取taobao商品评论
  • Windows11系统文件verifier.dll丢失或损坏问题 下载修复
  • C++树形数据结构————树状数组、线段树中“逆序对”的问题
  • 2025年B站视频下载终极指南:bilili工具完整使用教程
  • 教程 32 - 几何体系统
  • Cursor高级技巧与最佳实践
  • Cursor + MCP:冲击的不仅是前端,而是整个软件开发范式!
  • 2025年十大旗舰对决:极致轻薄成高端手机新战场
  • 【Vue3】 中 ref 与 reactive:状态与模型的深入理解
  • 毕设 stm32 RFID员工打卡门禁系统(源码+硬件+论文)
  • 全球最大、最领先的吉利全球全域安全中心正式发布
  • Android中Compose系列之按钮Button
  • wangEditor导入excel数据到html富文本编辑
  • 光伏电池simulink仿真模型 光伏电池建模仿真 包括改变温度 改变辐照度的特性分析 模型可...
  • JSP中如何利用分块技术实现百万文件上传优化?
  • 60、Ubuntu 安装硬件规划全攻略
  • 2025年12月— CET四六级答案
  • 锐捷RGSP | 端口安全技术原理与应用
  • Cameralink采集卡软件EspeedGrab使用讲解:4图像处理
  • 31、脚本编程进阶:Here文档、自上而下设计与流程控制
  • 信捷XDH系列PLC的追剪/飞剪/电子凸轮程序模板
  • 【大模型】-LangChain--stream流式同步异步
  • 兜兜英语每日短语:逃单篇
  • 计算机毕业设计springboot汽车智慧检修系统 基于SpringBoot的智能汽车故障预测与维修管理平台 融合IoT的SpringBoot车辆健康监测与维修决策系统
  • python3
  • 【3D图像技术分析与实现】Apple Vision Pro三维成像技术栈深度解析
  • 经典算法题详解之统计重复个数(三)