2009年9月19日土曜日

Taskの性質

FreeRTOS V4.0.0までのバージョンでは自立したタスク構造によるリアルタイムアプリケーションのみが提供されていた。 これはRTOSスケジューラによる従来のモデルである。

概要:
RTOSを用いたリアルタイムアプリケーションは独立したタスクのセットにより構成することができる。 それぞれのタスクは、システム内部の他のタスクやスケジューラ自身によって使用することのない自身のコンテキストを使って実行される。 どの瞬間でも実行されるアプリケーションは1つで、リアルタイムスケジューラにはその決定をする責任がある。 スケジューラはそれ故にアプリケーション実行に際して各タスクの開始と停止を繰り返し行なう。 各タスクはスケジューラの活動について知らず、リアルタイムスケジューラの責任でプロセッサのコンテキスト(レジスタ値、スタック内容、その他)をスワップイン、スワップアウトする。これら各タスクのための保存は自身のスタックによって提供される。 各タスクのスタックへコンテキストをセーブすることで、後で完全に復帰させることが可能になる。 更なる情報は「FreeRTOSはどのように機能するのか?」を参照のこと。

Task要約
O単純
O使用時の制約なし
O完全なプリエンプション
O完全なプライオリティ付け
X各タスクがスタックを持つ結果RAM使用率が増加
Xプリエンプションを用いる場合再突入に関して十分な考慮が必要


0 件のコメント:

コメントを投稿