USB重定向
来源:互联网 发布:佳能mp280清零软件 编辑:程序博客网 时间:2024/05/20 16:13
USB重定向(转载)
第一期中,我们一起简要的看了下传统PC和桌面云下USB重定向和USB设备重定向方式的差异,了解了桌面云下外设兼容性问题来源的根源-USB设备本身驱动不规范/不支持,
或者虚拟机驱动实现上与USB设备对接存在疏漏。
本期我们来详细的了解下传统PC和桌面云的外设工作原理
目前,在通用操作系统上,USB外设占主流,下面就以USB摄像头举例说明其两种重定向技术的区别。
传统PC
先认识一下传统(PC机模式)USB外设工作的原理
从上图可以了解到,所有USB外设正常工作,在软件层面依赖的是USB总线驱动。一个应用需要使用USB外设必须与USB设备驱动进行交互,而设备驱动的工作
完全依赖USB总线驱动来交互设备数据,与硬件交互都是由总线驱动来代理完成。
桌面云
在桌面云环境下实现对USB外设的支持,可以有两种方式,一种是基于USB总线的虚拟化重定向,称之为USB端口重定向,即替换掉USB总线驱动;另外一种
是USB设备驱动的重定向,称之为设备重定向,即替换掉USB设备驱动。
上图所示,即为USB端口重定向方式,它通过在虚拟机和客户端各内置一个虚拟USB总线驱动,实现原物理下USB总线驱动的拉远。而设备对应的真实USB设备驱动安装
并运行在虚拟机中,与虚拟机USB总线驱动进行交互,这样对虚拟机中的USB设备驱动来说,并不会感知到所控制的设备实际上在TC远端,同样应用程序也不会感知到
这个差异。因为USB端口重定向与具体的设备和应用无关,直接将USB端口重定向到桌面虚拟机中,所以USB端口重定向具有良好的设备兼容性。但同时,也正是因为这个原因,USB端口重定向也有一定的局限性,由于没有经过设备驱动层的压缩和预处理,对于某些扫描仪和摄像头等图像类应用,可能会导致带宽过大,网络时延敏感等问题。在这种情况下,需要使用设备重定向技术。
桌面云下USB重定向各模块作用(如上图)
USB客户端:负责发现和断开客户端设备,接收服务端总线数据转发到设备,以及获取设备的总线数据转发到服务端
虚拟USB驱动:作为一个虚拟的功能驱动,负责双向透传总线数据包
USB服务端:负责获取服务端的总线数据包转发到客户端,以及接受客户端回应的总线数据包转发到虚拟总线驱动
虚拟USB总线驱动:作为一个虚拟的总线驱动,向上和真实的各类USB功能驱动交互,负责转发各类USB设备的总线数据包,以及将USB 服务传递进来的数据包
透传到上层功能驱动。
- USB重定向
- RemoteFX 中的USB重定向功能
- spice windows客户端usb重定向支持
- virt viewer Usbredir USB重定向
- XenDesktop中如何重定向USB设备
- 也谈USB重定向的方式
- Proxmox USB穿透(pass through)或者USB重定向(Redir)
- Spice Windows Client 利用 USBDk 实现USB重定向
- Spice下命令spicy的USB重定向过程分析
- proxmox VE 4.4 增加USB 重定向功能
- linux主机使用rdesktop连接windows进行usb重定向
- 重定向
- 重定向
- 重定向
- 重定向
- 重定向
- 重定向
- 重定向
- phoenix 批量插入优化(一次commit,多次commit比较)
- Java基础知识--数组
- C语言中全局变量赋值的陷阱
- Flume 使用exec及avro方式实现数据收集
- 一张图看懂手机CPU性能——手机CPU性能天梯图
- USB重定向
- Nexys2七段LED显示操作
- 雅虎网站页面性能优化的34条黄金守则
- 解锁Activity的跳转新姿势———使用scheme跳转
- super的使用(二)
- 网页注册登录数据库(五)
- shell脚本字符截取
- Reverse String(leetcode)
- Tips of C++