微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

操作系统如何处理外围数据缓冲区?

如何解决操作系统如何处理外围数据缓冲区?

一个简单的问题:

我正在使用 BLE 并试图了解数据缓冲区如何在操作系统级别工作(操作系统的基本知识)。例如。设备(可穿戴设备)向手机发送数据。

我对研究的理解:

  1. 建立连接,移动设备告诉设备驱动程序(BLE 模块)要发送数据的内存地址(缓冲区)。
  2. 然后将数据发送到 cpu 在需要时可以访问的地址。

我试图了解这种分配是如何工作的。更具体地说,手机如何确保在从传入的 BLE 读取数据时不会丢失数据包。

提前致谢。

解决方法

你问的是所谓的流量控制。

在 BLE 链路层(用于空中传输),有一个确认机制,可确保在远程设备确认前一个数据包之前不会发送下一个数据包。这样数据包永远不会在其他数据包之间丢失。

在设备和蓝牙堆栈内部,还存在跨不同层的流量控制,其中每一层都确保缓冲区不会在下一层填满。例如,在 HCI 层,有许多缓冲区可以填充数据包。当满时,发送层现在不能发送任何东西。当远程设备确认一个数据包时,它会通过 HCI 通知,以便可以发送一个新的数据包。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。