一、什么是驱动
1:本质上是电力提供了动力,驱动程序提供了逻辑操作方法。驱动程序专指操作系统中用来才操控硬件的逻辑方法部分代码。
二、linux设备驱动分类
1:字符设备驱动
软件操作设备时是以字节为单位进行的。典型的如:LCD、串口、LED、蜂鸣器、触摸屏、蜂鸣器等。
2:块设备
块 设备被软件操作时是以块(多个字节构成的一个单位)为单位操作的。设备的块大小事设备本身设计定义好的,不同设备的块大小可以不一样。比如nandflash、SD卡、硬盘等。
3:网络设备
网络设备是专为网卡设计的驱动模型,linux中网络设备驱动主要目的是为了支持API中socket相关的函数工作。
三、驱动安全性问题
1:未初始化指针
2:恶意用户程序
3:缓冲区溢出
4:竞争状态