web-dev-qa-db-ja.com

RTOSについて、通常のプログラミングと比べて何が違うのですか?

従来のプログラムは、優先度の高いISRでループを実行します。 RTOSこれを別の方法で行うにはどうすればよいですか?

すべての割り込みサービスルーチン( ISR's )を最高の優先度として扱わないこと。

RTOSのカーネルはプリエンプティブルですが、GPOSカーネルはプリエンプティブルではありません。優先度の高いプロセス/スレッドを最初に処理する場合、これは大きな問題です。カーネルがプリエンプティブルでない場合、カーネルからの要求/呼び出しは、他のすべてのプロセスとスレッドをオーバーライドします。例:-ドライバーまたは他のシステムサービスからの要求が着信すると、それはカーネル呼び出しとして扱われ、他のすべてのプロセスとスレッドをオーバーライドしてすぐに処理されます。 an RTOSカーネルは非常にシンプルに保たれ、非常に重要なサービス要求のみがカーネル呼び出し内に保持されます。他のすべてのサービス要求は外部プロセスおよびスレッドとして扱われます。カーネルからのそのようなサービス要求はすべて関連付けられていますこれにより、RTOSでの制限されたレイテンシを実現します。これにより、RTOSから非常に予測可能で迅速な応答が保証されます。

circuitstoday.com:GPOSとRTOS

人々は「タイ​​ムクリティカル」であることに大騒ぎしますが、タイムクリティカルではないもののようなものは本当にありません。リアルタイムオペレーティングシステム(RTOS)が実際に行うことは、汎用オペレーティングシステム(GPOS)でのスケジューリングのランダムな性質の一部を排除することです。

6
candied_orange