linux设备分类

网络设备:
常见的有以太网卡、CAN总线、WIFI、蓝牙
重要的结构体:
net_device:用于描述网络设备的属性,为上层提供一个统一的操作接口。网络设备的驱动实际上就是填充此结构体,实现其中的各种接口函数,并向内核注册此net_device
sk_buffer:代表一个要传输的网络数据包,是一个比较复杂的数据结构。负责数据包在底层硬件与上层应用协议之间传输

块设备:
一些存储文件的设备,常见的有硬盘、nandflash、SD卡这些和文件相关的

字符型设备:
除上面两种设备外,都是字符型设备
主要向内核注册cdev结构体,创建file_operations 向上层提供open、read、write、iotrl等接口。并在系统dev目录下生成对应设备节点。我们编写的应用程序也是通过上面提供的四种接口来操作设备。

原文地址:https://www.cnblogs.com/Huluwa-Vs-Aoteman/p/3451721.html