上記を読んで理解した内容を備忘録として残しておく。間違っているかもしれないので、気づいたら修正する予定。
OSオブジェクト
OSの管理するものの単位と認識している。この中にOSAP(複数OSオブジェクトの集合)に所属するもの、コア1に割り付くもの、が存在するので、各々どの分類となるかを残す。
名称 | OSAPに所属するか | コアに割りつくか |
---|---|---|
スケジュールテーブル | ○ | ○ |
カウンタ | ○ | ○ |
イベント | ○ | ○ |
タスク | ○ | ○ |
アラーム | ○ | ○ |
ISR | ○ | ○ |
リソース | ✖️ | ○ |
IOC2 | ✖️ | ○ |
スピンロック | ✖️ | ✖️ |
2.6アプリケーションモード
アプリケーションモード=OSは1つ以上のアプリケーションモードを持つ。ユーザはこれに対応して、OS起動時に自動起動するOSオブジェクトを変更できる。StartOS()の引数としてアプリケーションモードを指定する。
自動起動が可能なOSオブジェクト=タスク、アラーム、スケジュールテーブル
マルチコアOSでは、コア毎に個別のアプリケーションモードを指定することはできない。反した場合、全てのコアで無限ループする。
コア1 | コア2 | 可=○、不可=x | 起動するモードor不可の理由 |
---|---|---|---|
モードA | モードA | ○ | モードAで起動する |
モードA | DONOTCARE | ○ | モードAで起動する |
モードA | モードB | x | モードが異なる |
DONOTCARE | DONOTCARE | x | 1つ以上のコアでモードが指定されていない |
2.7 割り込み処理
- 割り込み処理はスケジューリングポリシーに関係なく、タスクの処理を中断できる。
→割り込み処理は全てのタスクより処理レベルが高い - 割り込み処理はISR IDで区別する。
- コンテナ=複数のコンフィグレーション可能なパラメータで構成されるもの。コンテナはネストする。
2.7.6.4マルチコア対応OSにおける割り込み禁止・許可システムサービス
- 割り込み禁止、許可を行うシステムサービスの対象となる割り込み要因はシステムサービスを呼び出した処理単位が割りついているコアに接続されている割り込み要因のみとする。
=異なるコアから直接、別のコアの割り込み要因の割り込みを禁止、許可できない。