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

Operating system 操作系统如何处理外围数据缓冲区?,operating-system,bluetooth-lowenergy,buffer,Operating System,Bluetooth Lowenergy,Buffer,一个简短的问题: 我正在与BLE合作,并试图了解数据缓冲区在操作系统级别的工作原理操作系统的基本知识。例如,可穿戴设备向移动电话发送数据 我对研究的理解是: 建立连接后,手机会告诉设备驱动程序BLE模块发送数据的内存地址缓冲区。 然后,数据被发送到CPU可以在需要时访问的地址。 我正在努力理解这种分配是如何运作的。更具体地说,手机如何确保在读取传入数据包时不会丢失数据包 提前感谢。您所问的是流量控制 在用于空中传输的BLE链路层,存在一种确认机制,该机制确保在远程设备确认前一个分组之前不会发送下

一个简短的问题:

我正在与BLE合作,并试图了解数据缓冲区在操作系统级别的工作原理操作系统的基本知识。例如,可穿戴设备向移动电话发送数据

我对研究的理解是:

建立连接后,手机会告诉设备驱动程序BLE模块发送数据的内存地址缓冲区。 然后,数据被发送到CPU可以在需要时访问的地址。 我正在努力理解这种分配是如何运作的。更具体地说,手机如何确保在读取传入数据包时不会丢失数据包


提前感谢。

您所问的是流量控制

在用于空中传输的BLE链路层,存在一种确认机制,该机制确保在远程设备确认前一个分组之前不会发送下一个分组。这样,数据包就不会在其他数据包之间丢失


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

您所问的问题称为流量控制

在用于空中传输的BLE链路层,存在一种确认机制,该机制确保在远程设备确认前一个分组之前不会发送下一个分组。这样,数据包就不会在其他数据包之间丢失


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

谢谢Emil,这很有意义。我要去读更多的东西!谢谢你,埃米尔,这很有道理。我要去读更多的东西!