编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

定期运行状况检查

潜在故障是在其他某个操作发生后才显现的故障。例如,冷待机设备中出现的硬件故障在主设备出现故障之前无法检测到。此时,系统包含两个有缺陷的设备,并且可能无法继续运行。

未检测到的潜在故障往往最终会导致系统故障。如果不执行潜在故障检查,冗余系统的整体可用性将受到危害。为避免出现这种情况,设备驱动程序必须检测潜在故障,并以与报告其他故障的方法相同的方法来报告这些故障。

应为驱动程序提供对设备进行定期运行状况检查的机制。在容错情况(其中,设备可以是辅助设备或故障转移设备)下,较早地检测到发生故障的辅助设备是确保在主设备出现故障前可以修复或更换辅助设备所必需的。

定期运行状况检查可用来执行以下活动:

  • 检查自上次轮询后值已更改的设备中任何寄存器或内存的位置。

    通常表现确定行为的设备功能包括心跳信号、设备计时器(例如,下载使用的本地 lbolt)以及事件计数器。从设备中读取更新的可预测值可提供一切事项的进行程度令人满意的置信度。

  • 时间戳外发请求,如传输块或驱动程序发出的命令。

    定期运行状况检查可以查找尚未完成的任何可疑请求。

  • 在设备上启动应在下一次预定检查前完成的操作。

    如果此操作为中断操作,则此检查是确保硬件设备能够送出中断的理想方法。