過去問解きまくり研究所 ホーム

令和4年度 春期 午前 問17

ソフトウェア

排他的に関する問題

一つの I²C バスに接続された二つのセンサがある。それぞれのセンサ値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイム OS の機能として,適切なものはどれか。

答えと解説を見る

✓ これが正解イセマフォ

解説

一本の資源を一つずつ通す旗を使います。

設問は、一つのバスにつながった二つのセンサの値を読み込む二つのタスクを排他的に制御したいときに使う、リアルタイムオペレーティングシステムの機能を選ばせています。状況を単純にすると、共有されている一本の通信路を二つのタスクが取り合うので、同時に触れると通信が壊れてしまうという場面です。ですから見分けの軸は、その機能が一度に一つだけ通すという仕掛けを備えているか、という一点だけです。正解はセマフォで、これは資源を使える数を数える旗のようなものです。使う前に取得の操作を行い、旗が空いていなければ空くまで待たされ、使い終わったら解放の操作で旗を戻します。使える数を一つに絞っておけば、一方が読んでいる間はもう一方が待たされるので、読み込みが重なりません。なお解放の操作を書き忘れると、待っている側が永久に動けなくなります。

ほかの選択肢はなぜ違うのか

出典:令和4年度 春期 応用情報技術者試験 午前 問17

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)