首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > 汇编语言 > 生日感言:作为设备驱动程序开发者的这些年头
【标  题】:生日感言:作为设备驱动程序开发者的这些年头
【关键字】:
【来  源】:http://blog.csdn.net/Changjiang/archive/2006/11/11/1378951.aspx

生日感言:作为设备驱动程序开发者的这些年头

今天是笔者的生日,已虚度28个春秋。

笔者早年研究病毒、破解和系统底层开发,当年因研究CIH病毒初涉Windows 95虚拟设备驱动程序(VxD)的开发,当时只是将设备驱动程序作为Ring 0最高特权级应用程序开发。那个VxD的时代,开发设备驱动程序都需要自己访问硬件I/O端口、物理内存、中断和DMA,要开发设备驱动程序,必须对保护模式和Windows 95内核有深入了解,还要使用汇编语言,但是一切硬件和操作系统底层对于开发者是透明的,如同DOS时代的透明。

随着Windows 98/2000的推出,分层结构,支持即插即用的WDM驱动程序取代了VxD,WDM驱动程序仍然运行在Ring 0上,但是一层HAL层,和复杂的支持即插即用的层次结构使得开发者无需直接访问硬件,只需要使用C语言按照WDM驱动程序编程体系结构,调用内核调用就能开发设备驱动程序。虽然WDM驱动程序仍然是最高特权级应用程序,但是其作用显然强化了驱动程序开发,淡化了作为Ring 0最高特权级应用程序的意义,硬件和操作系统底层蒙上了一层薄薄的面纱,很少有程序员开发WDM驱动程序直接访问硬件和控制操作系统底层了,除了Hacker、Cracker等有特殊要求的系统底层程序员。

DriverWorks——“DDK类库”的广泛使用,就如同使用MFC简化了Win32 SDK应用程序开发一样,大大简化了WDM驱动程序的开发,DriverStudio和DriverWorks可以使设备驱动程序程序员使用向导直接生成特定要求的设备驱动程序框架程序,程序员只需要编写很少量的程序就完成一个功能完整的设备驱动程序,不需要了解或者只需要很少了解保护模式和操作系统内核,功能强大,但是我们离硬件和操作系统底层更远了。

笔者现在部分转向了硬件和嵌入式系统开发,有时候要开发USB设备驱动程序,使用DriverStudio和DriverWorks中的向导,一次就生成了完整的USB设备驱动程序框架源程序,编译链接后,直接就可以驱动USB设备,基本无需编程,回忆当年,现在开发的只是用于驱动硬件的设备驱动程序,Ring 0最高特权级应用程序的意义,已经很淡了。

随着Windows Vista的推出,全新的WDF(Windows驱动程序基础)驱动程序开发模型将取代WDM,尽管WDF中的KMDF(核心模式驱动程序框架)仍然基于WDM,但蒙在硬件和操作系统底层上的面纱,显然更厚了。
 
时代总是在进步的,“沉舟侧畔千帆过,病树前头万木春”,盲目的怀旧是没有意义的,但是如果有一天还要直接访问硬件和控制操作系统内核,不要忘记了设备驱动程序的本质意义。君不见Rootkits基于设备驱动程序实现?3721、“冰刃”和各种反病毒软件的背后,都有设备驱动程序的身影?

在visual C#2005中添加对System.Configuration引用:【上一篇】
javascript 简单高效判断数据类型 系列函数 By shawl.qiu:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • CF卡
  • 基于统计的攻击防范
  • Liferay 的 Javascript 函数类——Calendar
  • What is BNF notation?
  • 在RH9.0下显示树形目录--调试成功
  • MySQL进阶_SELECT篇(三)
  • 不再担心重要数据丢失 刻录盘病毒清除方法
  • 在Red Hat 7.0上安装和配置PostgreSQL--4:允许远程的计算机连接
  • 给“我的电脑”改图标
  • matlab多项式
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.