版权归原作者所有,如有侵权,请联系我们

[科普中国]-驱动程序验证程序

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

驱动程序验证程序(Driver Verifier)是Microsoft Windows中包含的一个工具,该工具的功能是将操作系统默认的子程序替换为专门为开发者捕获驱动程序缺陷所用的子程序

简介在启用该工具后,它将监控和凸显可能因驱动程序导致系统损坏的非法函数调用或操作。它可以模拟一些条件,如低内存、I/O验证、记忆池跟踪、IRQL检查、死锁检测、DMA检测、IRP记录等。检查器通过迫使驱动程序以最少的资源运行使其凸显不太容易发生的潜在缺陷。

驱动程序验证程序(Verifier.exe)在Windows 2000中作为一个命令行实用工具引入。Windows XP起则有了一个便于使用的图形用户界面,称为驱动程序验证程序管理器(Driver Verifier Manager)。每个新版本Windows都会引入一些新的、更加严格检查,用以测试和验证驱动程序是否存在缺陷。

驱动程序验证程序通常不会在生产用途机器上使用。它可能触发某些未被发现并且不太有害的缺陷,从而导致蓝屏,这更容易发生在那些没有经过WHQL测试并数字签名的驱动程序上。如果验证器施加的约束没有在调试后解除,它也会导致驱动程序资源匮乏,从而表现不佳和速度放缓。微软建议不要同时为所有驱动程序进行验证。1

数字签名数字签名(又称公钥数字签名,英语:Digital Signature)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证,但法条中的电子签章与数字签名,代表之意义并不相同,电子签章用以辨识及确认电子文件签署人身份、资格及电子文件真伪者。而数字签名则是以数学算法或其他方式运算对其加密,才形成电子签章,意即使用数字签名才创造出电子签章。

数字签名不是指将签名扫描成数字图像,或者用触摸板获取的签名,更不是落款。

数字签名了的文件的完整性是很容易验证的(不需要骑缝章、骑缝签名,也不需要笔迹鉴定),而且数字签名具有不可抵赖性(即不可否认性),不需要笔迹专家来验证。12

内存池内存池 (Memory Pool),又被称为固定大小区块规划 (fixed-size-blocks allocation),允许程序员以类似C语言的malloc或是C++的 new 运算对象进行动态的存储器规划。对于其它动态存储器规划的实践来说,因为会变动存储器区块大小导致的碎片问题,导致在实时系统上受限于性能因此,根本无法使用。内存池提供了一个更有效率的解决方案:预先规划一定数量的存储器区块,使得整个程序可以在运行期规划 (allocate)、使用 (access)、归还 (free) 存储器区块。

有许多实时操作系统采用了内存池,IBM的Transaction Processing Facility便是其中一个例子。1

死锁死锁(英语:Deadlock),又译为死结,计算机科学名词。当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁。在多任务操作系统中,操作系统为了协调不同进程,能否获取系统资源时,为了让系统运作,必须要解决这个问题。

这里指的是进程死锁,是个计算机技术名词。它是操作系统或软件运行的一种状态:在多任务系统下,当一个或多个进程等待系统资源,而资源又被进程本身或其他进程占用时,就形成了死锁。有个变种叫活锁。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所