一、认识驱动
1、什么是驱动
不知道的情况下,我们一般会去问度娘,但是度娘的这个回答比较专业化,对小白来说并不容易理解,依旧不明白驱动到底是个啥。 度娘:驱动,计算机软件术语,是指驱动计算机里软件的程序。驱动程序全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。
俺的理解:驱动,字面意思:想要某种东西动起来、运作起来,就得给它施加外力。比如风车能动起来,受到了风力,洗衣机要运作,得给它供电(电力),因此我们的硬件要运作起来就需要用代码去操纵、驱动它,而这段代码就叫硬件的驱动程序。因此狭义上,驱动程序专指操作系统中的用来操控硬件系统的代码。
2、驱动的作用
驱动的主要作用是计算机系统与硬件设备之间完成数据传送的功能,只有借助驱动程序,两者才能通信并完成特定的功能。如果一个硬件设备没有驱动程序,只有操作系统是不能发挥特有功效的,也就是说驱动程序是介于操作系统与硬件之间的媒介,实现双向的传达,即将硬件设备本身具有的功能传达给操作系统,同时也将操作系统的标准指令传达给硬件设备,从而实现两者的无缝连接。
3、驱动的分层思想
驱动的上层是API(即应用程序调用API,API调用驱动),驱动的下层是硬件(硬件抽象为寄存器)。
二、Linux设备驱动分类
根据设备读写操作特征差异的原则,分为以下三类: