ldd3流水笔记-2008.12.19 第一章 设备驱动程序简介

模块化:使得驱动程序独立于内核其它部分建立,可在内核运行时根据需要动态“插入”和“卸载”驱动模块。这个特点使得驱动的编写非常的简单。

机制和策略:
    机制是解决需要实现什么功能的问题;策略是如何使用这些功能的问题。
    尽量不要让驱动程序带有策略,可增加驱动程序的灵活性和增加系统的安全。

从另一个角度看:驱动程序是应用程序和实际设备之间的一个软件层。所以我们可以在编写驱动程序的时候编写者拥有如何展现设备特性的权利。
在有限的开发周期中,用尽量简单的程序提供尽可能多的功能。

通常开发好的驱动程序由这些部分组成:
    驱动程序
    简单的示例程序
    客户程序库

内核五大模块

模块:
    每个模块由目标代码组成(2.4内核是.o文件,2.6内核是.ko文件),可以使用insmod降魔快链接到内存,使用rmmod移出模块。  

设备和模块的分类:
    字符设备、块设备、网络接口。
    字符设备通常至少要事先open、close、read、write系统调用。
    块设备上能够容纳文件系统。
    对于网络接口:网络连接是面向流的,而网络设备确是面向包的,内核调用一套和数据包传输相关的函数而不是read和write。

安全问题:
    谨防内存溢出
    对于数据:1.任何用户空间传入的数据必须经过验证;2.内核传出的地址使用前必须清零或初始化;3.只有特权用户才允许一些危险操作。

什么是权能机制?待解释。   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值