【驱动详解】如何理解驱动程序

简介: 【驱动详解】如何理解驱动程序

驱动的官方解释

首先,用官方一些的话来描述一下驱动的定义:

驱动,计算机软件术语,是指驱动计算机里软件的程序。驱动程序全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,没有驱动,计算机中的硬件就无法工作。不同的操作系统,硬件驱动程序也不相同。(摘自百度)

驱动的个人理解

其实,驱动程序就是我们添加到操作系统中的一块代码,这段代码包含了和硬件设备有关的一些信息,通过这些信息告诉计算机如何和硬件设备进行通信。总的来说,驱动是属于硬件的一部分,当我们需要安装一个原本不属于自己电脑的硬件时,我们的计算机并不知道这个硬件是什么东西,或者不知道如何和这个硬件进行交互。这时,操作系统就会要求我们安装硬件的相关驱动,通过驱动程序,计算机和我们安装的硬件就可以连通。举个例子,驱动就像一个中间商,计算机和硬件就是交易双方,只有通过中间商交易双方才知道对方出什么价格,要交易什么物品,在哪交易等信息。驱动就扮演这么一个沟通的角色,他把硬件的信息告诉计算机,并把计算机的指令传达给硬件,这样硬件就可以在我们的计算机上工作了。比如我们经常使用的USB转串口驱动,有了这个驱动,当硬件设备连接在计算机USB接口时就可以被计算机识别为串口设备,并给这个硬件设备分配串口号。

我们通过右击电脑左下角开始标志,点击设备管理器可以看到电脑连接的各种设备

打开后显示如下

如果我们通过电脑USB接入一个设备,但是在端口处没有显示,可能就是没有串口驱动,我们需要安装一个串口驱动程序才能识别到设备。

总结

总结来说,驱动就是应用层和硬件之间的一个桥梁,通过驱动层接口可以实现对硬件的操作。

驱动本质上是软件代码,其主要作用是计算机系统与硬件设备之间完成数据传送的功能,只有借助驱动程序,两者才能通信并完成特定的功能。如果一个硬件设备没有驱动程序,只有操作系统是不能发挥特有功效的,也就是说驱动程序是介于操作系统与硬件之间的媒介,实现双向的传达,即将硬件设备本身具有的功能传达给操作系统,同时也将操作系统的标准指令传达给硬件设备,从而实现两者的无缝连接。(摘自百度)


相关文章
|
Linux
Linux驱动开发(使用I2C总线设备驱动模型编写AT24C02驱动程序)
Linux驱动开发(使用I2C总线设备驱动模型编写AT24C02驱动程序)
157 0
|
7月前
|
Ubuntu 网络协议 Linux
【操作系统】探究驱动奥秘:驱动程序设计的解密与实战
【操作系统】探究驱动奥秘:驱动程序设计的解密与实战
75 0
|
7月前
|
Unix Linux 编译器
Linux驱动设计(一):驱动是什么?
Linux驱动设计(一):驱动是什么?
57 0
|
7月前
|
Linux API
Linux驱动的软件架构(三):主机驱动与外设驱动分离的设计思想
Linux驱动的软件架构(三):主机驱动与外设驱动分离的设计思想
119 0
|
7月前
|
Linux Shell Android开发
内核,驱动,应用程关系
内核,驱动,应用程关系
103 0
|
Linux
编译进内核的驱动是如何工作的
编译进内核的驱动是如何工作的
111 0
编译进内核的驱动是如何工作的
|
Linux
【Linux系统开发】 x210开发板 虚拟驱动创建流程(驱动编译进内核)
【Linux系统开发】 x210开发板 虚拟驱动创建流程(驱动编译进内核)
147 0
|
Linux
一文搞懂 USB 设备端驱动框架
hello 大家好,今天带领大家学习一下USB 设备端驱动 内核版本:4.4.94
1198 0
|
传感器 Linux 芯片
Linux驱动开发——内核I2C驱动
Linux驱动开发——内核I2C驱动
371 0
Linux驱动开发——内核I2C驱动
|
Linux API
Linux驱动之I2C驱动架构
Linux驱动之I2C驱动架构