Windows驱动开发技术详解

张帆等

出版时间

2007-12-31

ISBN

9787121068461

评分

★★★★★
AI导读
核心看点
  • 由浅入深讲解Windows驱动开发原理与调试技巧
  • 涵盖NT与WDM驱动模型及PCI、USB等实例
  • 精选针对性案例,强调动手实验掌握底层知识
适合谁读
  • 中高级系统程序员及从事底层开发的工程师
  • 高校计算机专业操作系统实验课师生参考
  • 对Windows内核机制及驱动调试感兴趣的读者
读前提醒
  • 书中部分技术如DDK已过时,需结合WDK学习
  • 内容较深且枯燥,建议配合实际代码动手实践
  • 注意书中个别小错误,建议结合其他资料对照
读者共识
  • 内容系统基础,图文并茂,适合入门学习
  • 相比其他书籍更清晰易懂,但略显陈旧
  • 是学习Windows底层驱动开发的经典指南

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "驱动程序被加载在内核模式下,它与windows操作系统其他组件进行密切互交。"
  • "PC上有三条总线,数据总线,地址总线和控制总线。32bit的CPU寻址能力为(2^32bytes=4GB)字节。用户最多可以使用4GB的真实的物理内存。"
  • "windows所有程序(ring0,ring3)可以操作的都是虚拟内存。之所以称为虚拟内存,是因为它的所有操作最终会变成对物理内存的操作。 在CPU中有一个重要的寄存器CR0,32位的。其中一位PG位表示系统是否分页。windows启动前将它置为1,允许分页。页大小一般为4KB。4GB的虚拟内存会被分割为1M(4GB/4KB=2^20)个分页单元。"
  • "虚拟地址0x0~0x7FFFFFFF范围内的地址(即低2G的虚拟地址),被称为用户模式地址。而0x80000000~0xFFFFFFFF范围内的地址(高2G的虚拟地址),被称为内核模式地址。 windows的核心代码和windows驱动程序加载的位置都在高2GB的内核地址里,一般应用程序不能访问到这些核心代码和数据 windows操作系统在进行进程切换时,保持内核模式地址完全相同。也就是说所有进程的内核地址映射完全一致,进程切换的时候,只改变用户模式地址切换。"
  • "可以交换到磁盘文件上的虚拟页称为分页内存,不能交换到磁盘文件上的虚拟页称为非分页内存。 当程序的中断请求级别在DISPATCH_LEVEL之上(包括DISPATCH_LEVEL),程序只能使用非分页内存,否则将导致蓝屏死机。(所以使用内核API时注意中断请求说明。)"
  • "帮助程序员在不知道内存是否可写可读。"
  • "如果不可读写,会引发一个异常。用结构化异常处理来检测。"
  • "DDK(过时了,现在是WDK)中,不鼓励使用ANSI字符串,因为标准的C字符串处理函数容易导致缓冲区溢出等错误。"
目录
第1篇 入门篇
第1章 从两个最简单的驱动谈起 2
1.1 DDK的安装 2
1.2 第一个驱动程序HelloDDK的代码分析 3
1.2.1 HelloDDK的头文件 4

显示全部
用户评论
为了工作。 学习。 写windows驱动必看的书。
驱动开发入门经典!通俗易懂!
WDM驱动,未包括文件过滤驱动
读了书中前8章,写的不错,收藏了
感觉写的顺序都点乱,初看的时候一头雾水。。。
内容详实,深入浅出
深入浅出,学习windows驱动开发的好书
windows底层驱动入门指南,非常不错。
作者对概念理解不够深入,与PROGRAMMING WINDOWS DRIVER MODEL相比还是有差距。
下载
收藏