Linux设备模型 - fengzhao/fengzhao-notes GitHub Wiki

Linux 设备模型

设备模型和驱动开发

在Linux中,设备驱动的代码量占内核程序的50%

为了降低设备多样性带来的Linux驱动开发的复杂度,以及设备热拔插处理、电源管理等,Linux内核提出了设备模型(也称作Driver Model)的概念。

设备模型将硬件设备归纳、分类,然后抽象出一套标准的数据结构和接口。

驱动的开发,就简化为对内核所规定的数据结构的填充和实现。

因为硬件设备多种多样,使得设备驱动程序繁多,设备模型将硬件设备分类,抽象出一套标准的数据结构和接口。

字符设备

提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。

举例来说,键盘、串口、调制解调器都是典型的字符设备。