セマフォ方式
Semaphore
せまふぉほうしき
共有資源へのアクセスを、セマフォと呼ぶ整数の変数とP操作・V操作によって制御する排他制御の方式で、E.W.ダイクストラが考案した。P操作でセマフォの値を減らし、値が負になれば待ち状態に入り、V操作で値を増やして待っているプロセスを起こす。値が0と1だけの2値セマフォは相互排除に、計数セマフォは台数に限りのある資源の割当てに使う。
Related
他の資格での定義
共有する資源の使用の可否を表す変数(セマフォ)を使って、複数の処理の排他制御や同期をとる方式。資源を使う前にセマフォの値を減らすP操作を行い、値が0なら空くまで待つ。使い終わったら値を増やすV操作を行い、待っている処理を再開させる。
共有資源を同時に使えるプロセス数を計数値で管理し、排他制御や同期を実現する仕組み。P操作で獲得、V操作で解放を行い、値が0のときは待ち行列に入る。使い方を誤るとデッドロックの原因となる。
並行処理における排他制御と同期の仕組み。カウンティングセマフォとバイナリセマフォがある。P操作(取得)とV操作(解放)で共有資源へのアクセスを制御する。優先度逆転問題が生じる場合は優先度継承プロトコルで対処する。
共有資源へのアクセスを制御するための同期機構。カウンティングセマフォ(カウンタで管理)とバイナリセマフォ(0/1で管理)がある。P操作(取得/Wait)とV操作(解放/Signal)で資源の排他制御を行う。
並行処理における排他制御と同期の仕組み。カウンティングセマフォとバイナリセマフォがある。P操作(取得)とV操作(解放)で共有資源へのアクセスを制御する。優先度逆転問題が生じる場合は優先度継承プロトコルで対処する。
共有資源の利用を、セマフォと呼ぶ整数の変数で管理して排他制御や同期を行う方式。資源を使う前にP操作で値を減らし(0なら待つ)、使い終えたらV操作で値を増やして待っている処理を再開させる。値が0と1だけのバイナリセマフォは相互排除に使われる。
Past Exams
過去問での出題
過去問で 13 回出題(エンベデッドシステムスペシャリスト試験 9・応用情報技術者試験 3・高度試験 午前Ⅰ 1)。うち 1 回は用語そのものを問う問題です。
- 令和7年度 秋期 応用情報技術者試験 午前 問16正解の選択肢(IPA の PDF を新しいタブで開きます)
- 令和7年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問6(IPA の PDF を新しいタブで開きます)
- 令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問6(IPA の PDF を新しいタブで開きます)
- 令和4年度 春期 応用情報技術者試験 午前 問17選択肢(IPA の PDF を新しいタブで開きます)
- 令和4年度 春期 高度試験 午前Ⅰ 問6選択肢(IPA の PDF を新しいタブで開きます)
- 平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8(IPA の PDF を新しいタブで開きます)
- 平成30年度 春期 応用情報技術者試験 午前 問18(IPA の PDF を新しいタブで開きます)
- 平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8用語を問う問題(IPA の PDF を新しいタブで開きます)
- 平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7選択肢(IPA の PDF を新しいタブで開きます)
- 平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問5選択肢(IPA の PDF を新しいタブで開きます)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「用語を問う問題」は、この用語の説明や特徴そのものを問う問題です。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
複数のトランザクションが同じデータに同時にアクセスしても、1つずつ順に実行した場合と同じ結果になる(直列化可能性)ように制御すること。制御しないと、変更の消失(ロストアップデート)、ダーティリード、ノンリピータブルリードなどの不整合が起きる。実現方式には、ロック方式、時刻印(タイムスタンプ)方式、楽観的方式、多版同時実行制御(MVCC)がある。
ロックをかける対象の大きさ。表単位、ページ単位、行単位などがある。粒度を細かくすると同時に実行できる処理は増えるが、管理するロックの数が増えて処理の負担が大きくなる。
相互排他(Mutual Exclusion)を実現する同期機構。バイナリセマフォと似ているが、ロックを獲得したスレッドのみがロックを解放できる所有権の概念を持つ。優先度継承プロトコルをサポートし、優先度逆転の問題を緩和する。
複数のタスクが共有資源へ同時にアクセスすると不整合を起こすため、同時に1つのタスクしか実行してはならない処理区間。セマフォやミューテックスで排他制御する。区間を長く取りすぎると応答性が下がる。
共有資源に複数のタスクが同時にアクセスしないよう、一度に1つのタスクだけに使用を許す制御。セマフォやミューテックスで実現する。優先度逆転やデッドロックを招かないよう、獲得順序と優先度継承の設計が要る。
2つ以上のトランザクションやプロセスが、互いに相手が確保している資源の解放を待ち続け、どれも処理を先に進められなくなる状態。DBMSは待ちグラフなどで検出し、いずれかのトランザクションをロールバックして解消する。資源を確保する順序を統一することで発生を防げる。
