セマフォ
Semaphore
せまふぉ
共有資源を同時に使えるプロセス数を計数値で管理し、排他制御や同期を実現する仕組み。P操作で獲得、V操作で解放を行い、値が0のときは待ち行列に入る。使い方を誤るとデッドロックの原因となる。
Related
他の資格での定義
共有する資源の使用の可否を表す変数(セマフォ)を使って、複数の処理の排他制御や同期をとる方式。資源を使う前にセマフォの値を減らすP操作を行い、値が0なら空くまで待つ。使い終わったら値を増やすV操作を行い、待っている処理を再開させる。
並行処理における排他制御と同期の仕組み。カウンティングセマフォとバイナリセマフォがある。P操作(取得)とV操作(解放)で共有資源へのアクセスを制御する。優先度逆転問題が生じる場合は優先度継承プロトコルで対処する。
共有資源へのアクセスを制御するための同期機構。カウンティングセマフォ(カウンタで管理)とバイナリセマフォ(0/1で管理)がある。P操作(取得/Wait)とV操作(解放/Signal)で資源の排他制御を行う。
共有資源へのアクセスを、セマフォと呼ぶ整数の変数とP操作・V操作によって制御する排他制御の方式で、E.W.ダイクストラが考案した。P操作でセマフォの値を減らし、値が負になれば待ち状態に入り、V操作で値を増やして待っているプロセスを起こす。値が0と1だけの2値セマフォは相互排除に、計数セマフォは台数に限りのある資源の割当てに使う。
並行処理における排他制御と同期の仕組み。カウンティングセマフォとバイナリセマフォがある。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
関連キーワードの用語
OSの中核部分で、ハードウェアの抽象化、プロセス管理、メモリ管理、ファイルシステム管理、デバイス管理などの基本機能を提供する。カーネルモード(特権モード)で動作し、ハードウェアに直接アクセスできる。モノリシックカーネルとマイクロカーネルの設計方式がある。
実行中のプログラムのインスタンス。独自のアドレス空間、プログラムカウンタ、レジスタ、スタックを持つ。生成、実行可能、実行、待ち、終了の状態遷移を経る。スレッドはプロセス内の軽量な実行単位。
プロセス内で並行実行される軽量な処理単位。同一プロセス内のスレッドはメモリ空間を共有するため、スレッド間の通信が高速。ただし共有資源への同時アクセスによる競合条件を防ぐため排他制御が必要。
OSがタスクの実行を強制的に中断させて他のタスクにCPUを割り当てるスケジューリング方式。タイムスライス方式(ラウンドロビン)や優先度ベースのスケジューリングが代表例。応答性が高くリアルタイムシステムに適する。
各タスクに均等なタイムスライス(CPU割当て時間)を順番に割り当てるスケジューリング方式。タイムスライスが経過すると実行中のタスクは待ち行列の末尾に回される。公平性が高いが、タイムスライスの長さが性能に影響する。
複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。
