为什么设备驱动程序不存储在设备本身中?

为什么设备驱动程序不存储在设备本身中?

为了使用硬件,必须在计算机上安装该设备将与之交互的特定操作系统的特定硬件的特定驱动程序。

我的问题是,为什么特定设备的驱动程序不存储在设备本身上?(或者有吗?)

例如,假设我已将键盘插入计算机。设备本身是否可以存储特定版本的 Windows、Linux 和 OS X 的驱动程序?这样首次插入时,设备将与操作系统交互并安装适当的驱动程序?

这是否与操作系统众多且这些操作系统有多个版本有关,因此设备需要为不同的平台存储大量相同用途的代码?

编辑:顺便说一句,我提出这个问题的原因是,如果我们要设置一台没有互联网接入的计算机,该怎么办?我想现在大多数操作系统都附带了常用驱动程序,但如果我们的设备需要操作系统中尚未提供的驱动程序,那么我们可能会遇到问题,对吧?

答案1

我的问题是,为什么特定设备的驱动程序没有存储在设备本身上?

这意味着设备需要有存储空间,操作系统必须访问它。在某些情况下,存储设备存在安全问题。总的来说,这是一个糟糕的解决方案,只需下载驱动程序本身就可以解决问题。USB 设备可以向操作系统指示它是任何类型的设备,这就是为什么有安全策略只允许某些类型的 USB 设备并阻止任何无法识别的设备。

例如,假设我已将键盘插入计算机。设备本身是否可以存储特定版本的 Windows、Linux 和 OS X 驱动程序?

在这个特定的例子中,通用键盘 I/O 驱动程序将会起作用。

这样,当第一次插入时,设备就会与操作系统交互并安装适当的驱动程序?

这种情况已经在某种程度上发生了。即使驱动程序存储在设备本身上,您仍然必须安装它。

这是否与操作系统众多且这些操作系统有多个版本有关,因此设备需要为不同的平台存储大量相同用途的代码?

设备要么有针对特定操作系统的驱动程序,要么没有。如果它们是为操作系统编写的,则可以轻松找到并安装。由于设备驱动程序也经常更新,因此包含驱动程序的内存几乎永远不会包含当前版本。驱动程序磁盘就是这样。除非是自愿的,否则很少有计算机不连接到互联网。如果是自愿的,通常会有一个设备可用于将数据传输给它。

我想现在大多数操作系统都已预装了通用驱动程序,但如果我们的设备需要操作系统中尚未安装的驱动程序,那么我们可能会遇到问题,对吗?

因此,您从制造商处下载驱动程序并将其放在可以传输到机器的介质上。如果这仍然不可能,那么在 99.99% 的情况下,需要使用驱动程序的设备本身会附带制造商提供的介质,并且该介质比任何其他介质都便宜。如果这仍然不可能,那么应该提前配置机器,以便可以使用该设备。

相关内容