Linux驱动简介

一、什么是驱动

操作系统是通过各种驱动程序来驱使硬件设备的,也就是说,驱动是操作系统内核与机器硬件之间的桥梁,它为内核操作硬件提供接口。驱动程序在Linux系统中以内核模块的形式存在,其编写方式遵循模块的编程方式。


驱动程序在系统的程序中介于HAL层与硬件层之间,向上与系统各部分衔接,向下处理硬件的各种操作请求。


驱动主要完成以下功能:
1. 对设备初始化和释放。
2. 把数据从内核传送到硬件或者从硬件读取数据。
3. 读取应用程序传送给设备文件的数据或 回送应用程序请求的数据。

4. 监测和处理设备出现的错误。


二、驱动分类

Linux系统与驱动之间有标准的接口定义,驱动就是实现系统调用的接口(系统调用是操作系统内核与应用程序之间的接口)。Linux系统提供3种基本的设备驱动接口:
1. 字符设备:数据传输以字节为单位,按照固定的顺序,以流的方式进行传递。是没有缓冲的,实时的如:LED、按键、摄像头、显卡、声卡、串口、触摸屏等。
2. 块设备:数据传输以块为单位,没有固定的顺序。带有文件系统和缓冲的,非实时的。如:U盘、硬盘SD卡等。
3. 网络设备:与网络相关的设备,如:网卡,有线网卡、无线网卡等。

其中,字符设备与块设备在Linux的/dev/下存在设备文件,而网络设备在Linux中没有对应的设备节点。但可通过查看/proc/net来了解当前系统中的网络设备。字符设备是应用最广、与用户应用程序联系最直接的驱动模型。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值