A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
一箇所間違っていました。
> 非タスクコンテキストへの切り替えでは、周期ハンドラを抜けたことにはなりません。
非タスクコンテキストへの切り替えでは、無限ループを抜けたことにはなりません。
No.2
- 回答日時:
何を持って無限ループを抜けるといわれているのか分かりませんが、μITRONの場合、タスクディスパッチや周期ハンドラのような非タスクコンテキストへの切り替えでは、周期ハンドラを抜けたことにはなりません。
どんなに他のコンテキストに切り替わっても、元のコンテキストに戻ってくれば、依然として無限ループの中だからです。無限ループを抜ける可能性があるのは、次の場合に限られます。
・ter_tskで無限ループに入ったタスクを強制終了させる。
・ras_texまたはiras_texでタスク例外処理ルーチンを起動し、その中からlongjmpで無限ループの外に抜け出す。
・ras_texまたはiras_texでタスク例外処理ルーチンを起動し、その中でext_tskまたはexd_tskを呼び出すことでタスクを終了させる。
・プログラムを実行時に書き換える。
・ウォッチドッグタイマーのオーバーフロー等、何らかの方法でシステムにリセットがかかる。
・exitやabort等の終了関数がサポートされている場合にそれらを呼び出す。
・その他、カーネルの実装依存の機能や、カーネルの管理外の機能を用いて脱出する可能性あり。
No.1
- 回答日時:
詳しい状況がわからないため「自信なし」にします。
RTOSのタスクスイッチングで、キューを自らリリースして
次キューに移らせるものと、TSS(timesharing system)時分割処理システムがあります。
後者であれば、ソース上無限ループでも一定時間になると
タスクのスィッチングを行うはずです。
まずはOSの仕様を御覧になられたほうがよいかと思います。
または、コンフィグレーションのご確認も手段の1つだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パラメーターが間違っています...
-
trustedinstaller.exeが原因で...
-
「構成システムを初期化できま...
-
コマンドプロンプトが重い
-
アクセスが拒否されるプロセス
-
メッセージキューのスレッド間...
-
CPU使用率下げる方法
-
μITRONのスタック見積もりについて
-
igfxTray.exeの常駐を止めたい。
-
自分自身のプロセスID
-
CPU使用率100%
-
メモリの「コミット済み」の意...
-
プロファイルエラーについて
-
FORMが開いているかどうかの確...
-
メモリが"written"になることは...
-
Windows98SE ・Meの動作「上限...
-
PCを起動すると画面が真っ黒で...
-
最先端のCPUを詰んだAndroidス...
-
DLLをREGSVR32しないで利用する...
-
CPU稼働率を向上させる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パラメーターが間違っています...
-
コマンドプロンプトが重い
-
これは何ですか?igfxext.exe
-
メッセージキューのスレッド間...
-
CPUコアの使われ方についてご教...
-
自分自身のプロセスID
-
explorer.exeのCPU使用率が100%...
-
I/Oとは?
-
CPU使用率を上げる方法をご存じ...
-
「構成システムを初期化できま...
-
ディスクアクセスしているアプ...
-
μITRONのスタック見積もりについて
-
何もしてないのにCPU使用率100%
-
PCの重い原因と「svchost.exe」...
-
仕事で使うパソコンが遅い!!...
-
ubuntuにタスクマネージャー的...
-
trustedinstaller.exeが原因で...
-
アクセスが拒否されるプロセス
-
CPU使用率100%
-
msmsgs.exe
おすすめ情報