![]()
| トップ > 1時間でわかる組込みリアルタイムOS−目次 > Chap.5 |
| Chap.5 | タスク分けと優先度付けの応用事例 |
|
|
| この事例では下の図のように、2つのメールボックス(MBX1とMBX2)を使用します。 通信(受信)タスクは、受信したデータを受信バッファに格納し、復号化処理のために復号化タスクへメールボックスMBX1を使用してデータを送信します。 復号化タスクは、メールボックスMBX1を通じて受け取った受信データを復号化し、復号化バッファに格納します。 復号化タスクは、復号化したデータをメールボックスMBX2を使用して印刷タスクに送信します。 印刷タスクは、メールボックスMBX2を通じて受け取った復号化データ(イメージデータ)を印刷します。 |
|
メールボックス
予め必要数のメールボックス(郵便箱) を用意しておきます。送り手側のタスクがそこに投函する(snd_msgサービスコールを発行する)と、投函を待っている(rcv_msgサービスコールを発行した)タスクがいれば、OSはタスクを起床しそのタスクはデータを受け取ることができます。投函がなければ受け手のタスクは投函があるまで待ち状態にします。投函するデータが複数の場合にはデータ行列を作り、受け手が複数の場合には待ちタスク行列を作ります。
|
| トップ > 1時間でわかる組込みリアルタイムOS−目次 > Chap.5 | 前のページ | 次のページ |