デッドロック
Deadlock
でっどろっく
他の資格での定義
複数のトランザクションが互いに相手がロックしている資源の解放を待ち合い、どちらも処理を進められなくなる状態。検出した場合は一方のトランザクションを強制終了して解消する。
2つ以上のトランザクションが互いに相手がロックしているリソースの解放を待ち合い、処理が永久に進まなくなる状態。DBMSがデッドロックを検出した場合、一方のトランザクションを強制的にロールバックして解消する。
2つ以上のトランザクションが互いに相手のロック解放を待ち続け、いずれも先に進めなくなる状態。検出時にはいずれかのトランザクションをロールバックして解消する。予防策として資源の獲得順序を統一する方法がある。
2つ以上のトランザクションが互いに相手のロック解放を待ち合い、処理が永久に進まなくなる状態。待ちグラフによる検出や、タイムアウトによる検出を行い、一方のトランザクションをアボートして解消する。
複数のタスクが互いに相手の保持する資源の解放を待ち合い、どのタスクも処理を進められなくなる状態。相互排他、保持と待ち、非プリエンプション、循環待ちの4条件が全て揃うと発生する。資源の獲得順序の統一などで予防する。
関連キーワードの用語
ネットワークやシステムに障害が発生した際に、障害の検知・切分け・原因特定・復旧を行う一連のプロセス。稼働統計の収集・分析を通じて、障害の予防や迅速な対応を図る。
人間の誤操作や判断ミスによって引き起こされる障害や事故。システムの信頼性を脅かす要因の一つであり、フールプルーフやフェールセーフなどの設計で対策する。
情報システムが正常に機能しなくなる状態。ハードウェア故障、ソフトウェアバグ、ネットワーク障害、人的ミスなどが原因となる。現行システム分析において障害の影響と対策を分析することが重要となる。
ネットワーク障害が発生した際に、問題箇所を特定するための調査手法。ping、traceroute、show系コマンド等を使用して、物理層から上位層へ順に確認する。ネットワーク機器、回線、サーバ、アプリケーションのどこに問題があるかを切り分ける。
稼働中のシステムや機器に障害が発生した際に、待機系のシステムや機器に自動的に切り替える仕組み。冗長構成のネットワーク機器やサーバで使用され、サービスの継続性を確保する。切替時間の短縮が設計上のポイントとなる。
障害の根本原因を特定し、再発防止策を策定するための分析手法。表面的な事象ではなく、障害を引き起こした真の原因を追究する。なぜなぜ分析(5 Whys)やフォルトツリー分析(FTA)等の手法が使用される。