Windows 7驱动开发系列(五)--WDM驱动设计原则

本文介绍了Windows驱动模型(WDM)下内核模式驱动程序的设计原则,包括使用C语言编写以适应不同平台、保持可配置性、处理程序中断与调度、确保多核系统中的数据一致性、采用面向对象编程思想及支持异步输入输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一篇说过了WDM模型的介绍之后,我们来继续说一下内核模式驱动程序的设计原则

1.一般来说内核模式的驱动要用C编写,因为这样才有利于针对各个不同的平台进行编译和链接.
2.可配置,不要假定你的驱动程序能申请到某个特定的IO或者某些RESOURCE,在这方面永远等待系统的分派而不要写任何硬代码.
3.做好你的程序可能随时被打断也随时有可能被调度起来.
4.要考虑多核系统的安全性:
这部分比较关键,一定要记得不能让一个CPU在更改的数据,另外一个CPU不要碰.所以当你需要更改一部分关键数据的时候,根据上一条你的程序随时可能被打断,那么这时候就需要加上锁(SPIN LOCK)
5.虽然是用C来编写程序但是也要记得面向对象编程的原则.在WINDOWS 驱动中对象分为三种,文件对象,设备对象和驱动对象.比如利用我们后面会说到的IOMANAGER就可以创建出DEIVCE OBJECT(设备对象),后面的操作都是针对这个设备对象来进行的.这其实是面向对象设备当中比较重要的原则封装.
6最后比较重要的一点就是要能够支持异步的IO.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值