午後:組込みシステム2 応用情報
皆様 こんにちは今回も組み込みシステムのメモを書いておきます。1、同期制御 マルチプログラミングを行う場合あるタスクが 完了するのを待ってから 次のタスクの実行を開始する事。 タスクが完了するのを待たずに開始することを 「非同期」とも言います。 タスク完了の目印を「イベントフラグ」と言い、 これがONになればタスクが スタートするようになります。 ちなみにここでいう「同期」には「コピー」や「足並みを揃える」のような 意味ではありません。ご注意下さい。 2、排他制御 並行して動作する複数のタスクが、 共有のデータ変更を行う場合、 データの読み書きを一時的に制限することです。 例えとしては銀行のATMを考えるとよいでしょう、 仮にAさんがATMで現金を引き落とそうと している途中に、別のBさんからの振込を受付してしまうと Aさんの口座残高の正確な1 金額が分からなくなってしまいます。 そこで、Aさんが引き落とすまでは、Bさんからの振込は受付けないようにします。 Aさんの処理が終わるまでは Bさんという 「他人を排除」=「排他」するのです。 排他制御の代表例には「セマフォ」があります。 セマフォ変数を使用して「1」「0」のいずれかで表し 「1」→実行 「0」→待つ という使い方をします。 なお、排他制御を行う際には お互いが待ち状態となり、処理が進まない 「デッドロック」に注意が必要です。今回はここまでと致します。お疲れ様でした図解でなっとく!トラブル知らずのシステム設計 エラー制御・排他制御編 [ 野村総合研究所 ]価格:2750円(税込、送料無料) (2019/10/10時点)