IT用語帳
ES組込みシステムのソフトウェア設計・製造 · ソフトウェア仕様書の作成

デッドロック

Deadlock

でっどろっく

複数のタスクが互いに相手の保持する資源の解放を待ち合い、どのタスクも処理を進められなくなる状態。相互排他、保持と待ち、非プリエンプション、循環待ちの4条件が全て揃うと発生する。資源の獲得順序の統一などで予防する。

共有:

Related

他の資格での定義

IPデッドロック

複数のトランザクションが互いに相手がロックしている資源の解放を待ち合い、どちらも処理を進められなくなる状態。検出した場合は一方のトランザクションを強制終了して解消する。

FEデッドロック

2つ以上のトランザクションが互いに相手がロックしているリソースの解放を待ち合い、処理が永久に進まなくなる状態。DBMSがデッドロックを検出した場合、一方のトランザクションを強制的にロールバックして解消する。

APデッドロック

2つ以上のトランザクションが互いに相手のロック解放を待ち続け、いずれも先に進めなくなる状態。検出時にはいずれかのトランザクションをロールバックして解消する。予防策として資源の獲得順序を統一する方法がある。

SAデッドロック

複数のプロセスやスレッドが互いに相手のリソース解放を待ち続け、すべての処理が停止する状態。相互排他、保持と待機、非横取り、循環待ちの4条件が同時に成立すると発生する。タイムアウトや資源の順序付けで回避する。

DBデッドロック

2つ以上のトランザクションが互いに相手のロック解放を待ち合い、処理が永久に進まなくなる状態。待ちグラフによる検出や、タイムアウトによる検出を行い、一方のトランザクションをアボートして解消する。

PD-Dデッドロック

複数のトランザクション(プロセス)が、互いに相手が確保している資源の解放を待ち続け、どれも処理を進められなくなる状態。DBMSは待ちグラフに閉路ができたことでこれを検出し、いずれかのトランザクションをロールバックして解消する。予防策には、資源を確保する順序をそろえる、Wait-Die方式やWound-Wait方式のように時刻印で待つか中止するかを決めるといった方法がある。

PD-Sデッドロック

複数のタスクが互いに相手の保持する資源の解放を待ち合い、どのタスクも処理を進められなくなる状態。相互排他、保持と待ち、非プリエンプション、循環待ちの4条件が全て揃うと発生する。資源の獲得順序の統一などで予防する。

A-1デッドロック

2つ以上のトランザクションやプロセスが、互いに相手が確保している資源の解放を待ち続け、どれも処理を先に進められなくなる状態。DBMSは待ちグラフなどで検出し、いずれかのトランザクションをロールバックして解消する。資源を確保する順序を統一することで発生を防げる。

Past Exams

過去問での出題

過去問で 61 回出題(データベーススペシャリスト試験 21・応用情報技術者試験 13・高度試験 午前Ⅰ 6・エンベデッドシステムスペシャリスト試験 5・基本情報技術者試験 4・ITパスポート試験 3・ITサービスマネージャ試験 3・情報処理安全確保支援士試験 3・情報セキュリティマネジメント試験 1・システムアーキテクト試験 1・システム監査技術者試験 1)。うち 2 回は用語そのものを問う問題です。

残り 51 件を表示

出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「用語を問う問題」は、この用語の説明や特徴そのものを問う問題です。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。

エンベデッドシステムスペシャリスト試験の過去問によく出る用語

Related

関連キーワードの用語

ES優先度逆転

低優先度タスクが共有資源をロック中に、高優先度タスクがその資源を待つことで、実質的に低優先度タスクが高優先度タスクより先に実行される現象。中優先度タスクによるプリエンプションにより待ち時間が無限に延びる可能性がある(無限優先度逆転)。

ESセマフォ

共有資源へのアクセスを制御するための同期機構。カウンティングセマフォ(カウンタで管理)とバイナリセマフォ(0/1で管理)がある。P操作(取得/Wait)とV操作(解放/Signal)で資源の排他制御を行う。

ESミューテックス

相互排他(Mutual Exclusion)のための同期機構。バイナリセマフォと似ているが、所有権の概念を持ち、ロックしたタスクのみがアンロックできる。優先度逆転問題への対策として優先度継承プロトコルをサポートするものが多い。

ES優先度継承プロトコル

優先度逆転問題の対策手法。低優先度タスクが共有資源をロック中に高優先度タスクがブロックされた場合、低優先度タスクの優先度を高優先度タスクと同じレベルに一時的に引き上げる。これにより中優先度タスクによるプリエンプションを防止する。

ESイベントフラグ

ビットパターンによって複数のイベントの発生を管理するタスク間同期機構。各ビットが異なるイベントに対応し、AND条件(全イベント発生待ち)やOR条件(いずれかのイベント発生待ち)で待ち合わせが可能。RTOSの基本的な同期機能の一つ。

ES優先度上限プロトコル

優先度逆転とデッドロックを防止する同期プロトコル。各共有資源にその資源を使用するタスクの最高優先度(優先度上限)を設定し、資源をロックしたタスクの優先度を即座に優先度上限まで引き上げる。優先度継承より保守的だが安全性が高い。