当前位置: 首页 > 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.jsqmd.com/news/88506/

相关文章:

  • 2025年年终呼叫中心系统服务商推荐:不同规模企业预算下的性价比分析与5款适配方案盘点 - 品牌推荐
  • 6、日期时间与算法数据结构相关问题及解决方案
  • Python property魔法:让属性访问变得智能又安全
  • Java---小球移动案例(附代码)
  • 7、算法与数据结构:多种问题的解决方案
  • 分享一个夸克网盘不限速的下载方法-在线免费工具
  • Windows系统文件wimgapi.dll丢失损坏问题 下载修复
  • 8、C++算法与数据结构实用案例解析
  • 不需要下载夸克直链网盘下载-在线免费工具
  • Windows系统文件Windows.ApplicationModel.Store.dll缺失损坏问题 下载修复
  • 南昌航空大学-23207201-lyy
  • 设备预测性维护技术拆解与落地实战
  • Windows系统win32k.sys文件 缺少下载文件
  • 爬虫遇到AST加密怎么办?AST逆向入门到精通
  • 65、文件管理子系统与网络协议通信概述
  • 当差分进化遇上自适应:手把手拆解CEC2005优化实战
  • openpnp - Smoothieware - MKS SGEN_L V1.0 + JLink-edu-mini 连接测试
  • AWR1843毫米波雷达Python数据采集与可视化完整指南
  • Proceed 英文单词学习
  • 【30天从零学Python】重要补充四、检测有向环 - Kahn算法
  • C++中noexcept关键字提出动机和使用
  • DAY18 机器学习
  • 7层深度的招商引资,进入财情共创时代:价值倍增的新质生产力,实现高质量发展
  • 2025年B站视频下载终极指南:bilili工具完整使用教程
  • 贪心算法简介
  • Cursor高级技巧与最佳实践
  • 告别面经焦虑!接口测试核心面试题一次搞定
  • a星学习记录 通过父节点从目的地格子坐标回溯起点
  • 2025年回弹仪十大品牌实力盘点,谁主沉浮?裂缝测宽仪/一体式楼板测厚仪/填土密实度检测仪/钢筋位置测定仪/高强回弹仪回弹仪品牌哪家好 - 品牌推荐师
  • JSP如何结合多线程技术提升大文件上传效率?