非リアルタイムOSでのリアルタイムの優先順位


8

標準のLinux Mintインストールで次のコマンドを実行すると、

comp ~ $ ps -eo rtprio,nice,cmd
RTPRIO  NI CMD
...
99   - [migration/0]
99   - [watchdog/0]
99   - [migration/1]
 -   0 [ksoftirqd/1]
99   - [watchdog/1]

リアルタイム優先度が99のプロセスの一部を取得します。

rtprio非リアルタイムLinux の意味は何ですか?これは、rtprio99でプログラムを実行すると、リアルタイムで実行されることを意味しますか?この話では、リアルタイムOSはどこに分類されますか?

回答:


5

「リアルタイム」とは、期限までに終了しなければならないプロセス、またはBad Things(TM)が発生するプロセスを意味します。リアルタイムカーネルは、カーネルによるレイテンシが厳密に制限されており(時間どおりに応答しないハードウェアの誤動作の可能性があるため)、ほとんどのアクティビティを中断して、優先度の高いタスクを実行できます。Linuxの場合、バニラカーネルはリアルタイム用に設定されていません(パフォーマンスにコストがかかり、リアルタイムパッチは、コア開発者が全体的に考えているいくつかのハックに依存しています)。その上、追いつけないマシン(ほとんどの個人用マシン)でリアルタイムカーネルを実行しても意味がありません。

とはいえ、バニラカーネルはリアルタイムの優先度を処理するため、通常のタスクよりも高い優先度が与えられ、それらのタスクは通常、自発的にCPUを解放するまで実行されます。これにより、これらのタスクへの応答が向上しますが、他のタスクが延期されることを意味します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.