Linux设备模型 - fengzhao/fengzhao-notes GitHub Wiki
Linux 设备模型
设备模型和驱动开发
在Linux中,设备驱动的代码量占内核程序的50%
为了降低设备多样性带来的Linux驱动开发的复杂度,以及设备热拔插处理、电源管理等,Linux内核提出了设备模型(也称作Driver Model)的概念。
设备模型将硬件设备归纳、分类,然后抽象出一套标准的数据结构和接口。
驱动的开发,就简化为对内核所规定的数据结构的填充和实现。
因为硬件设备多种多样,使得设备驱动程序繁多,设备模型将硬件设备分类,抽象出一套标准的数据结构和接口。
字符设备
提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。
举例来说,键盘、串口、调制解调器都是典型的字符设备。