详解Windows Server 2008内核新变化
2008-08-21 12:36:42 来源:WEB开发网WHEA 的另一关键部分是位于 %Systemroot%System32Pshed.dll 中的平台特定的硬件错误驱动程序 (PSHED)。内核与 PSHED 链接,而它与平台和固件硬件连接,实质上是用作错误通知和 WHEA 错误报告 API 之间的转换层。Microsoft 为每种平台体系结构(x86、x64、Itanium)提供有一种 PSHED 并且 PSHED 公开了插件模型,所以硬件供应商和制造商可使用特定于其平台的行为来覆盖默认行为。
最后,与其他错误源相连的系统组件 — 包括设备驱动程序、硬件抽象层 (HAL) 和内核 — 可实现底层硬件错误处理程序 (LLHEL)(它将首先处理错误状况)。LLHEL 的工作是从设备中提取错误信息,通知 PSHED 允许其收集其他平台错误信息,然后调用内核的 WHEA 错误报告 API。
驱动程序验证程序
从 Windows 2000 起,每个 Windows 副本中都包含有驱动程序验证程序,它是一个用于跟踪出错的设备驱动程序和故障硬件的强大工具。管理员通常将驱动程序验证程序(%Systemroot% System32Verifier.exe) 配置为密切监控可能导致系统崩溃的可疑设备驱动程序的行为。驱动程序验证程序可捕获非法驱动程序操作,这样崩溃转储文件就可以直接指出罪魁祸首。
之前驱动程序验证程序的缺陷在于大多数配置更改都需要重新启动系统,而生产服务器明显不愿出现这种情形。Windows Server 2008 中的驱动程序验证程序通过取消最有用验证的重启要求而改进了这一过程,因此可在不重新启动系统的情况下对出现问题的服务器进行故障排除。
此外,驱动程序验证程序还引入了三种新的验证(如图 3 所示)。安全检查确保设备驱动程序在用于与应用程序连接的对象上设置了安全权限。强制挂起 I/O 请求测试了驱动程序对于需立即完成而非一段延迟后再完成的异步 I/O 操作的恢复能力。杂项检查则确认驱动程序有无错误释放使用中的资源、错误使用 Windows 管理规范 (WMI) 注册 API 以及泄漏资源处理程序。
更多精彩
赞助商链接