平台 | 内核版本 | 安卓版本 |
---|---|---|
RK3399 | Linux4.4 | Android7.1 |
从内核的角度来看,驱动程序是一个设备的代表。当内核需要与某个设备交互时,它找到该设备的驱动程序,然后通过标准的接口调用驱动程序的相应函数,从而控制设备。内核不需要知道驱动程序如何工作,也不需要了解设备的细节。设备的细节由驱动程序掌握,驱动程序知道如何掌握一台具体的设备。
由于定义了内核与驱动程序间的接口,驱动程序的实现也变得非常统一,一个驱动程序就是利用硬件的特征对接口函数的一个实现。因此硬件厂商和第三方用户都可以开发自己的驱动程序,而且驱动程序可以动态的被加载和卸载,从而使内核可以只包含必须的设备控制代码。