一、Linux驱动_设备驱动程序简介

一、设备驱动程序的作用
1、内核功能划分
进程管理
内存管理
文件系统
设备控制
网络
2、可装载模块
insmod
rmmod
3、设备和模块分类
字符模块
字符终端(/dev/console),串口(dev/ttyS0)
字符设备通过文件系统节点来访问,比如/dev/tty1和/dev/lp0
和普通文件的区别:普通文件可以前后移动访问位置,字符设备是一个顺序访问的数据通道。有些字符设备也可以前后移动访问位置如帧抓取器可以用mmap或lseek访问抓取整个图像。

块模块
/dev目录下文件系统节点访问。一般传输一个或多个完整的块,512字节或更多。块设备和字符设备区别仅仅在于内核内部管理数据方式。

网络模块
接口是个硬件设备也可能是个软件设备,是用于和其他主机交换数据的设备。比如回环接口。Unix访问网络接口的方法仍然是给他们分配一个唯一的名字比如eth0,但是这个名字在文件系统中不存在对应的节点。

文件系统:文件系统是个软件驱动程序,将底层数据结构映射到高层数据结构。文件系统模块必须实现访问目录和文件的最底层系统调用,方法是将文件名和路径映射到数据块中的数据结构中。数据的传输由块设备驱动程序负责完成。
解释文件系统信息的功能位于内核层次结构的最底层。
4、安全问题
权限:
调用init_module会检查调用进程是否会具有将模块转载到内核的权利。只有超级用户才能使用特权代码。
某些种类的设备访问会影响整个系统如影响全局资源的设备操作设置中断线,通只能由特权用户执行,安全检查必须由驱动程序本身完成。

C语言也会有几类错误:比如1缓冲区溢出。还有未初始化内存,防止内存泄漏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值