linux 设备驱动程序 (1)—— 设备驱动程序简介

  一 设备驱动程序的作用
驱动程序是应用程序和实际设备之间的一个软件层。
为用户提供访问设备的机制,而不是提供策略。
不带策略的驱动程序典型特征包括:同时支持同步和异步操作,驱动程序能被多次打开(并发使用)。
二 内核功能划分
进程管理
负责进程的创建和销毁,进程间的通信,CPU调度
内存管理
用来管理内存,内核为每个进程创建一个虚拟地址空间
文件系统
内核在没有结构的硬件上构造结构化的文件系统,支持多文件系统
设备控制
也就是驱动程序
网络功能
负责在应用程序和网络接口之间传递数据包,根据网络活动控制程序的执行。

三 可装载模块
可在运行时添加模块,linux内核支持好几种模块类型,不只是设备驱动程序

四 设备和模块的分类

字符设备
字符设备是个能够像字符流一样被访问的设备,通常需要实现open close, read,write系统调用,大多数设备只能顺序访问。
块设备
块设备可以容纳文件系统。进行i/o操作时块设备只能传输一个或多个完成的块,每块包含512字节或2的更高次幂的数据。与字符设备相比,块设备驱动程序有完全不同的接口。
网络接口
网络接口通常是个硬件,也可以是个软件,由于不是面向流的设备,因此将网络接口映射到文件系统中的节点比较困难,而是分配一个唯一的名字(eth0),但这个名字在文件系统中不存在对应的节点。

某些模块时通过某种设备的附加层一起空座(usb, scsi)

文件系统是软件驱动程序,将底层数据接口映射成高层数据结构

也可以在一个模块中实现不同类型的设备驱动程序

五 安全问题
内核有安全漏洞,则整个系统有安全漏洞,在正式发行版本中只有授权用户才能装在模块
尽量避免在驱动中实现安全策略,最好在系统管理员的控制之下,而通常只有特权的用户执行,而相关的安全检查必须由驱动程序本身完成。

六 版本编号
偶数为正式发行的稳定版本
技术为开发过程中的一个快照
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值