【正解の解説】
システムを構成する特定のハードウェアに障害が発生した際、予備系統へ自動的に切り替えて処理を継続させることでシステムの信頼性を確保する。
これは障害が起きることを前提として、予備の仕組みでカバーする「フォールトトレランス」の考え方です。例えるなら、自動車がパンクしたときに自動でスペアタイヤに切り替えて走り続けるようなもので、問題文の「フォールトアボイダンス」とはアプローチが異なります。フォールトアボイダンスはそもそもパンクしないよう頑丈なタイヤを作る思想です。
【その他の選択肢の解説】
システムを構成する部品や要素の信頼性を限界まで高め、そもそも障害や不具合が発生しないように徹底した作り込みを行う。
フォールトアボイダンスは「障害(フォールト)を回避(アボイダンス)する」という意味です。極めて高品質な部品を採用したり、バグのない堅牢なプログラムを書いたりして、そもそも絶対に壊れないシステムを作り上げるアプローチであり、宇宙探査機や医療機器などの絶対に止まってはならない心臓部でよく活用される手法です。
システムの一部に障害が発生した場合でも、機能を縮小させながら全体の運転を継続できるようにあらかじめ設計しておく。
一部が壊れても機能を落として動き続ける「フォールトトレランス」の一種であり、フォールトアボイダンスの説明ではありません。日常で例えると、片方のエンジンが故障した飛行機が、出力を落として安全に着陸するような状態です。障害発生後の対応策を指しているため、事前に対策するアボイダンスとは区別して覚えましょう。
システム内のどこかにエラーが検知された場合速やかに処理を中断し、被害が他の領域へ拡大するのを防ぐ安全機能を組み込む。
エラーが起きたときに被害を最小限に抑えて安全にストップさせる「フェールセーフ」の仕組みを説明しています。例えば、電車のブレーキが故障した際に自動で線路の安全な場所で停車するような挙動です。障害の発生を未然に防ぐことを目的とするフォールトアボイダンスの定義からは外れるため、誤った選択肢となります。