WEB开发网
开发学院操作系统windows 2008 深入了解 Windows Server 2008 内核变化 阅读

深入了解 Windows Server 2008 内核变化

 2008-03-27 12:35:20 来源:WEB开发网   
核心提示: WHEA 为各种平台设备(包括处理器、内存、缓存和类似 PCI 和 PCI Express 之类的总线)提供了统一的错误源发现和报告机制,其原理是实现图 2 中所示的体系结构,深入了解 Windows Server 2008 内核变化(6),其中核心是错误源调用来报告错误的内核 API,此

WHEA 为各种平台设备(包括处理器、内存、缓存和类似 PCI 和 PCI Express 之类的总线)提供了统一的错误源发现和报告机制。其原理是实现图 2 中所示的体系结构,其中核心是错误源调用来报告错误的内核 API。此 API 要求所有错误都以同一方法进行格式化,然后使用 Windows 事件跟踪 (ETW) 事件来记录错误(严重错误则在重启后再记录)。  

深入了解 Windows Server 2008 内核变化

图 2 WHEA 错误报告基础结构

ETW 早在 Windows 2000 中就已引入,而当 ETW 使用 WHEA 后,硬件制造商和软件供应商就可轻松地开发利用 WHEA 事件的设备诊断管理应用程序。如果某事件已严重到足以导致系统崩溃,WHEA 会确保将该致命错误记录存储到崩溃转储文件中,这样管理员就可确定崩溃的根本原因。

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) 配置为密切监控可能导致系统崩溃的可疑设备驱动程序的行为。驱动程序验证程序可捕获非法驱动程序操作,这样崩溃转储文件就可以直接指出罪魁祸首。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:深入 了解 Windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接