|
|
1
1
你在虚拟机中。虚拟机中“插入”的所有硬件都会(以某种方式)桥接到主机操作系统,这需要花费时间。 你不能期望VM以与本机相同的性能运行——甚至在ESX这样的裸机虚拟机监控程序上都不是这样,它甚至没有主机操作系统的额外成本。。。除非您只使用CPU、RAM、SATA磁盘和网络,否则所有这些设备都可以轻松地在应用程序之间以本机方式“共享”,这就是为什么裸机虚拟机监控程序上的虚拟服务器运行得非常好的原因,尤其是如果它们为每台服务器(有时甚至是它们自己的网卡)使用专用物理大容量存储的话。 对于具有独占/昂贵访问权限的资源/硬件来说,它开始变得更加复杂:GPU/屏幕、声卡、通信端口(通过并行端口从串行到USB)、光驱/慢速磁盘、一般的人机界面设备(鼠标、键盘等),等 这意味着您的执行路径或多或少是:VM应用程序(VM用户)——>虚拟机驱动程序(虚拟机内核)>虚拟机VMWare桥接器(虚拟机内核)>主机VMWare网桥(主机用户)->;主机VMWare应用程序(主机用户)->;主机驱动程序(主机内核)->;硬件 然后,添加返回路径以获取确认和读取数据。。。 请注意,有些步骤可以是简单的直通包装,所以它们可以非常快,但仍然有很多步骤。。。 “稍”长于:应用程序(用户)——>操作系统驱动程序(内核)>硬件——本机应用程序就是这样。 对于USB,情况可能更糟,因为驱动程序部分位于用户区(USB设备驱动程序本身),部分位于内核区(USB控制器)。因此,与大多数驱动程序相比,与大多数其他硬件相比,您还有一层需要跨越。在来宾操作系统和主机操作系统上都实现了这一点。 |
|
|
Julio Guerra · 为什么使用libusb需要分离内核驱动程序? 10 年前 |
|
|
ahamed101 · /dev/bus/usb未创建/找到 10 年前 |
|
|
Raulp · 虚拟Com端口下的底层硬件 10 年前 |