(toppers-users 754) Re: calltex の呼び出しコンテキストについて

Imai Kazuhiko kimai @ mit.pref.miyagi.jp
2003年 2月 17日 (月) 11:51:37 JST


酔漢さん

今井と申します。

> m68kのマスター/割り込み切り替えはマスタースタックを使うか、
> あるいは割り込みスタックを使うか、という話であってどちらも
> m68kの用語で言うEXCEPTION状態であることにはかわりません。

タスク/非タスクコンテキストとプロセッサの物理的状態の対応は
OSの実装者に任されています。ですから、
 (1) m68kの用語で言うEXCEPTION状態であるか否か
 (2) μITRONのタスク/非タスクコンテキストの判別
は別問題です。要はタスク例外処理ルーチン実行中にアプリケー
ションから見て矛盾がなければ良いわけで、タスク例外処理ルーチ
ン実行中に
 ・sns_ctx()の戻り値がタスクコンテキストを示しているか
 ・タスクコンテキストで使えるとされているサービスコールが
  正しく動作するか
 ・割込みが入ったときに矛盾が起こらないか
などの点がクリアされていればいいと思います。

# その点ではm68k版は正しくて、他機種版は要検討ですね...


> この場合のように、タスクに物理的に割り込みがかかっていても
> ITORNに登録されたユーザーの割り込みハンドラを実行していな
> い場合(つまり、ITRON自身のコードを実行している場合)、便
> 宜的にタスクコンテキストと考えてもいいのでしょうか。

μITRON4.0仕様書ではカーネル実行中のコンテキストは
規定していません。
(仕様書3.5.2節の「μITRON3.0仕様との相違」参照)



宮城県産業技術総合センター
今井和彦
E-mail kimai @ mit.pref.miyagi.jp