This paper provides information about writing drivers for High Availability and Fault Tolerant environments for the Microsoft Windows family of operating systems. It provides guidelines for driver writers to ensure that the system keeps running during hardware failures and online configuration changes.
These guidelines cover the following main areas:
| • | Design and coding practices; a Fault Tolerant system has some special characteristics that must be taken into account when designing and implementing drivers. |
| • | Serviceability requirements; again, since a Fault Tolerant system should never stop, it must be possible to diagnose problems with the system whileit is running and without requiring reboots. |
| • | Testing requirements; since a Fault Tolerant system should never stop operating no matter what, it is important to perform a lot of negative testing on drivers that might be used in such a system. |
It is also important to note that, although the guidelines in this paper are aimed specifically at good practices for drivers running in a fault tolerant system, they are also completely applicable to any system and following them can help improve drivers for all environments.
Included in this white paper:
| • | Fault Tolerant Design and Coding Practices |
| • | Serviceability Requirements |
| • | Test Plan and Test Tools |
| • | Resources |