How can hardware be designed for fault tolerance? Are these methods applicable to software? Why or why not?
What will be an ideal response?
The primary hardware control is redundancy, sometimes massively so.
Note that hardware is expected to wear out, and mean time between failure is an important measure of the degree of hardware redundancy that is required to meet criticality requirements. Software, on the other hand, does not “wear out”: software that is 20 years old will function just as well as new software in an appropriate setting. Software failure rate is much harder to estimate correctly.
Computer Science & Information Technology