組込み教育委員会
7-2 トロン技術者認定試験(TRON) 第2回
即戦力の人材がほしい
「トロン技術者認定試験」
そこで今回は,
- 注1)
- 「T-Kernelのスケジューリングの説明として,
正しいものを以下の中から1つ選べ。」 という例題。詳しくは, ここから見ることができます。
タスクの形式
T-KernelやμITRONでは,
T-KernelやμITRONでは,
このような形式で記述した関数をT-KernelやμITRONに登録するとタスクとなります。ただし,
リスト1 T-Kernelのタスクの例
void taskA(INT stacd, VP exinf)
{
/* 処理 */
tk_ext_tsk();
}
リスト2 μITRON4.
void taskA(VP_INT exinf)
{
/* 処理 */
ext_tsk();
}
タスクの終了
まずは次の例題
正常に動作しないタスクを次の中からすべて選べ。【問】 T-Kernelにおいて, タスクとして動作させる関数task1~task4を作成した。この中でいくつかのタスクは正常に動作しない (動作が不定となる)。 -
[1] task1 void task1(INT stacd, VP exinf) { /* 処理 */ tk_
exd_ tsk(); } [2] task2 void task2(INT stacd, VP exinf) { /* 処理 */ tk_
ter_ tsk(TSK_ SELF); } [3] task3 void task3(INT stacd, VP exinf) { /* 処理 */ tk_
del_ tsk(TSK_ SELF); } [4] task4 void task4(INT stacd, VP exinf) { /* 処理 */ return; }
※正解は
例題の解説
正解できたでしょうか? この例題はT-Kernelに絞った内容になっていますので,
T-Kernelではタスクの終わり方について次のように定義しています。
「関数からの単純なリターン (return) でタスクを終了することはできない (してはいけない)。その場合の動作は不定 (実装依存) である (注2)」
T-Kernelでは,
tk_
T-Kernelでは,
これに対し,
- 注2)
- T-Kernel仕様書
(TEF020-S001-01. 00. 00/ ja) より抜粋。
まとめ
μITRONは8ビットから32ビット以上のCPUまで対応し,
一方のT-Kernelは新しいRTOSであり,
μITRONにはこれまで開発されてきたさまざまなソフトウェアがありますので,
トロン技術者認定試験では,
- 注3)
- 以下の書籍には,
μITRONとT-Kernelの違いをまとめた資料が含まれています。 『組込みシステム 実践プログラミングガイド ITRON仕様OS/ T-Kernel対応』, 坂村健 監修, 社団法人トロン協会 著, 技術評論社 刊, ISBN978-4-7741-3528-1