Linuxの代わりにQNXやVxWorksなどのRTOSを使用する利点は?


14

リアルタイムオペレーティングシステムを必要とするソリューションを開発する場合、QNXやVxWorksなどのオペレーティングシステムがLinuxに比べてどのような利点がありますか?

それとも別の言い方をするために、これらのオペレーティングシステムのため、特にリアルタイム、組み込み使用するために設計されている- Linuxのとは対照的に、リアルタイムでの使用に合わせて調整することができる、より一般的なシステムである-あなたが考えたときに必要なのいずれかを使用しますLinuxの代わりにこれらのオペレーティングシステム?

回答:


13

一部の組み込みシステムは、(a)困難なリアルタイム要件を満たす必要がありますが、(b)ハードウェアが非常に限られています(これにより、これらの要件を満たすことがさらに難しくなります)。

ハードウェアを変更できない場合、Linuxを除外し、代わりに別のものを使用せざるを得ない状況がいくつかあります。

  • おそらくCPUにはMMUさえないので、Linuxを実行できません(uClinuxを除き、uClinuxはリアルタイムではありません)。
  • おそらく、CPUが比較的遅く、Linuxの最悪の場合の割り込みレイテンシはいくつかの厳しい要件を満たすことができず、極端に低い最悪の場合の割り込みレイテンシに合わせて調整された他のRTOSは要件を満たすことができます。
  • おそらく、システムのRAMはごくわずかです。数年前、最小限のLinuxセットアップには約2 MBのRAMが必要でした。最小限のeCosセットアップ(Linuxで実行するように設計された一部のアプリケーションを実行できる互換性レイヤーを使用)には、約20 kBのRAMが必要でした。
  • おそらく、ハードウェアへのLinuxの移植はなく、システムを起動(しゃれ!)する前にLinuxを移植するのに十分な時間がないでしょう。単純なRTOSの多くは、Linuxよりも新しいハードウェアへの移植にかかる時間がはるかに短くなります。

異なるRTOS間でどのようなコードを移植できますか?また、一部のソリューションはトップダウン(RTOSを使用)であり、他のソリューションはボトムアップ(OS機能を必要に応じてベアメタルに段階的に追加する)であると聞きました。
CMCDragonkai

@CMCDragonkai:EL / IX APIに書き込まれたプログラムは、EL / IX互換OSで実行できます。POSIX APIに書き込まれたプログラムは、POSIX互換OSで実行できます。uITRON APIに書き込まれたプログラムは、uITRON互換OSで実行できます。
デビッドケーリー

@CMCDragonkai:おそらく、programmers.stackexchange.comは、さまざまなRTOSについて質問するのにより適した場所でしょうか?
デビッドケーリー

8

リアルタイムの作業をまったく行っていないので、これを一粒の塩で取ります...

「リアルタイム」には、ハードリアルタイムとソフトリアルタイムの2つのカテゴリがあると言われています。

「ソフトリアルタイム」とは、非公式には「できるだけ早く処理する」ことを意味します。最近のCPU上のLinuxは、このようなことには適していると思います。

「ハードリアルタイム」とは、非公式には「必要な時間枠内で完了させる」ことを意味します。ウィンドウは、ミリ秒単位などの非常に小さい場合があります。巡航ミサイルまたは衛星打ち上げ機の飛行制御システムは、標準的な例のようです。産業用プロセス制御システムにもこれが必要な場合があります。Stuxnetワームは、この種の制御を行うシステムに干渉しているようです。

後者の状況ではRTOSを使用します。RTOSは、多くの場合、非常に少ない数の命令またはクロックティックなどで割り込みを配信することを保証します。

もう1つの考慮事項は、RTOSが、スタックスペースを無制限に消費しないように設計、テスト、および/または「実証」されていることです。それは特定の最小量のメモリ内に住むことができ、「OOM Killer」のようなものは、それらが必要とされる可能性がないため、存在しません。初期のFORTRANの機能の一部は、このタイプの要件に基づいています。FORTRAN IIプログラムをコンパイルしたとき、再帰することができず、動的に何も割り当てることができなかったため、必要なスタックとヒープの量が正確にわかりました。

現実的に、2番目の考慮事項(最大メモリ消費量の保証)は、「0.001秒の割り込み遅延の保証」よりも安全性が重要なアプリケーションでより重要になる場合があります。

また、言葉遣いをサポートするためにいちじくの葉の選択プロセスを取り除くと、「要件が言っている」ためにエンジニアがRTOSを選択することに気付くでしょう。

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