Fault-tolerant deadline-monotonic algorithm for scheduling hard-real-time tasks