平成23年度 特別 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
テクノロジ/ソフトウェアリアルタイムOSにおけるコンテキストの使用方法に関する記述のうち,適切なものはどれか。
出典:平成23年度 特別 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
- アアプリケーションタスクを,アプリケーションタスク共有のコンテキストで実行させる。
- イアプリケーションタスクを,カーネルのコンテキストで実行させる。
- ウカーネルを,アプリケーションタスクのコンテキストで実行させる。
- エ割込み処理を,割込み処理ごとのコンテキストで実行させる。
正解:エ
解説
リアルタイムOSでは,タスクごとに独立したレジスタ値やスタックなどの実行状態(コンテキスト)を保持し,切り替えることによって,各タスクが互いに影響を与えずに並行して動作できるようにします。アプリケーションタスク同士でコンテキストを共有したり,アプリケーションタスクとカーネルとでコンテキストを混同したりすると,タスク間やカーネルとの分離が保てなくなり,システムの安定性や保守性が損なわれます。割込み処理についても,発生した割込みごとに専用のコンテキストで実行することによって,割り込まれたタスクの実行状態を壊すことなく,独立して迅速に処理を行うことができます。
選択肢ごとの解説
- ア誤り。アプリケーションタスクを共有のコンテキストで実行させると,あるタスクの処理内容が他のタスクの実行状態に影響を与えてしまい,タスクごとに独立した処理を保証できなくなります。
- イ誤り。アプリケーションタスクをカーネルのコンテキストで実行させると,アプリケーションとカーネルの分離が失われ,アプリケーションの不具合がカーネルの動作全体に影響しかねません。
- ウ誤り。カーネルをアプリケーションタスクのコンテキストで実行させると,カーネルの処理がタスクごとの実行状態に依存してしまい,カーネルとしての一貫した動作を保証できなくなります。
- エ正しい。割込み処理を割込みごとに専用のコンテキストで実行させることによって,割り込まれたタスクの実行状態に影響を与えることなく,それぞれの割込み処理を独立に行うことができます。