一、linux驱动分为三大类
1、字符设备驱动
2、块设备驱动
3、网络设备驱动
1、字符设备: 是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。
2、块设备: 是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。
3、网络设备:它用来完成高层网络协议的底层数据传输及设备控制。 网络设备与其他两种设备的区别:
(1) 网络接口不存在于linux的文件系统中,及/dev下没有设备文件,用户通过套接口socket函数使用网络。
(2) 网络除了响应来自内核的请求外,还需要处理外界的异步数据除了数据处理,网络设备还要完成地址设置、配置网络参数及流量统计等管理任务。