USB设备可以直接访问硬件吗?
这就是我想知道的原因。最近,我为笔记本电脑购买了一个外部电视调谐器,该调谐器具有一个功能,当被推挤时,硬盘驱动器将停止旋转。但是,即使移动笔记本电脑,来自电视调谐器的视频(处理所有视频处理,根据其书中的内容)也不会停顿。我想知道这台电视调谐器是否在直接访问视频卡和显示系统,而不是直接写入HDD并显示出来。
这使我想到了我的问题。外部设备可以做什么/不能做什么?
解决方案
回答
无辅助的USB设备无法直接访问主机中的任何其他硬件。但是,我们肯定可以在主机上安装的任何软件驱动程序都可以。
回答
啊。因此,在我的示例中,我与调谐器一起安装的应用程序允许调谐器访问视频卡/显示控件,这就是它的工作方式。谢谢。
回答
它没有直接访问硬件,但也没有写入驱动器。我们正在使用的程序正在从调谐器中读取并将其推送到窗口系统,然后该窗口系统经过操作系统的各个层,最终显示在视频卡上。
更一般而言,USB设备永远无法直接访问硬件。 USB设备必须由主机访问,然后它们才能来回发送由驱动程序处理的数据(是操作系统还是软件中的真正"驱动程序",完全取决于用例)。但是,请记住,firewire确实支持DMA(直接内存访问),因此可以访问系统内存,这可能意味着直接硬件访问,虽然这不是一般用途,但是可以加快数据复制等操作。
回答
USB电视调谐器很可能直接与视频显示驱动程序进行通信,而不是将电视内容假脱机到硬盘驱动器,然后再次读取以将其发送到显示器。
即使使用DVR类型的设置,我们也可能会同时后台处理HDD以发送到显示器,而不是串行(TV-> HDD然后HDD->显示器)。
回答
USB设备可能自己影响系统的一种方法是,如果USB设备设计不良/流氓/损坏,并且不恰当地拉动各种接口信号。例如,一台设备可能偶尔将地线或者+ 5v线拉出并保持不稳,这取决于整个系统的设计,这可能会引起更大的问题。