RTOS

参考

  • 12ステップで作る組込みOS自作入門

    ISBN-13 978-4877832391

  • リアルタイム組込みOS基礎講座

    ISBN-13 ‏ 978-4798110042

用語

排他

ある資源にアクセスしている最中に他の処理がアクセスしないように保証すること。
ある処理がアクセスしている間は他の処理はアクセスできない。

セマフォ

複数のスレッドで共通利用する資源について、使用中に他のスレッドが使用しないように排他制御をかける仕組み。
資源を操作する前にロック処理(セマフォを獲得する)を行う。
他のスレッドがその資源を操作する際には、ロック解除(セマフォが開放)されるまでスリープ状態に入り待つ。

メッセージ

タスク間の通信。
メッセージの送信側は、メッセージ送信ようのシステムコールを呼び出す。
呼び出しの際は、メッセージIDを指定する。
メッセージIDのメッセージボックスにメッセージを送信する。

メッセージの受信側は、メッセージIDを指定してメッセージ受信用のシステムコールを呼び出す。
メッセージIDのメールボックスからメッセージを受信する。

メッセージはキューで管理される。

キュー

タスク間のデータ通信のためにメッセージ交換を行う。
メッセージキューは、バッファににたオブジェクト。タスクやISR(割込み)がデータのやりとりをする。
メッセージキューの生成時に下記を生成する。
キューコントロールブロック(QCB)、メッセージキュー名、ID、メモリバッファ、キュー長、最大メッセージ長、タスクの待ちリスト

割込み・タスク

優先度 処理 実行順の制御
割込み:マスク不可 Hardware
割込み:マスク可能 優先度高 Hardware
割込み:マスク可能 優先度低 Hardware
タスク :優先度高 Karnel
タスク :優先度低 Karnel
                   ___
ISR(高)        ___|   |___
ISR(低)    ___|           |___ 
task   ___|                   |___

task1()とtask2の優先順位が同じ場合、タイムスライス機能がある場合交互に処理が切り替わる?