ソフトウェア開発技術者試験 2002年度 = 平成14年度 午前 問26

 タスクを分割した際、複数のタスクがある同じ条件で待ち状態になった。このときに、ほかのタスクから、条件の成立したタスクすべての待ち状態を同時に解除できるタスク間の同期制御方法はどれか。

ア イベントフラグ イ セマフォ
ウ メールボックス エ ランデブ

解答



解説

ア イベントフラグ
 複数のタスクから共用して参照・更新できるフラグ領域であり、条件の成立したタスクすべての待ち状態を同時に解除できます。

イ セマフォ
 手旗信号を意味する言葉であり、E.W.Dijkstraが提案した、カウンタと待ち行列からなるデータ構造を指です。資源の状態を待ち(P)、続行(V)の二つの操作で表すことで共有データの排他的アクセス、同一資源の割当てなどの作業を行い、プロセス間で同期を取り、資源を共有する複数のプロセスの処理を円滑に行います。複数のタスクの待ち状態の解除に用いることはできません。

ウ メールボックス
 タスク間のデータ通信方法の一つです。

エ ランデブ
 送信要求と受信要求のタイミングが一致したときに、タスクの再開と通信を行う方式です。複数のタスクの待ち状態の解除に用いることはできません。


BohYoh.comトップページへ