次の方法で共有


Windows IoT Enterprise のソフト リアルタイム

Windows 10 ソフトリアルタイムは、Windows 10 IoT Enterprise バージョン 21H2 の新機能で、デバイス メーカーがデバイスにソフト リアルタイム機能を導入できます。

このリアルタイム動作は、4 つの重要な設定によって導入されます。

  1. CPU の分離: システムレベルの障害を分離された CPU から移行することで、ユーザーのリアルタイム アプリケーションへの潜在的なジッターを低減します

  2. 分離された CPU 上のカスタム ISR/DPC ピニング: すべてのハードウェア割り込みは、システム コアと非リアルタイム コアにルーティングされますが、カスタム ISR/DPCドライバーを記述することで、デバイス固有の割り込みをリアルタイム コアにルーティングできます。

  3. ミューテックスの優先度継承: この設定により、複雑なマルチスレッド シナリオでも、優先度の高いスレッドが確実に実行されます。

  4. 最大 16 個の RT スレッド優先度レベル: これにより、プログラマは、最も重要なものが最初に実行されるように、リアルタイムのタスク間でリソースを分割できます。

リアルタイム オペレーティング システムとは

プログラムを実行するとき、通常のオペレーティング システムでは決定論的な結果が得られますが、タスクを完了するには非決定論的な時間が必要です。 リアルタイム オペレーティング システムでは、プログラムの実行結果とそれらの結果を取得するためにかかった時間の両方が、(少なくとも部分的に) 決定的になります。

ハード リアルタイムとソフト リアルタイム

ハード リアルタイム オペレーティング システムは、時間を正確に決定するものです。 これらのオペレーティング システムは、結果を時間通りに得られないとシステム全体の故障となるようなユースケースに導入されます。 例としては、自動車エンジンや飛行機内のマイクロコントローラー、プリンター、レーザーカッターなどがあります。Azure Real-Time OS は、このような OS の例です。

ソフト リアルタイム オペレーティング システムでは、オペレーティング システムからのわずかなずれによる正確なタイミングではなく、プログラム完了に一定の短時間が必要です。 ソフト リアルタイム システムは、正確ではありませんが、複数のコアで実行でき、アプリケーションに対する制限が少なくなります。 このガイドを把握した後、Windows 10 IoT Enterprise に期待できるのは、このようなリアルタイムのパフォーマンスです。

リアルタイム パフォーマンスが必要がなのはいつですか?

リアルタイム パフォーマンスでは、必ずしもパフォーマンスが向上するとは限りません。 パフォーマンスが予測可能なだけです。 システム全体のパフォーマンスを向上させる必要がある場合は、ソフト リアルタイムがそれを実現する最適な方法とは限りません。 しかし、現実的な制約がある場合 (ロボットの環境が変わる前に計算をしなければならないとか、ベルト コンベアが動く前にモーターを作動させなければならないなど) には、ソフト リアルタイムが必要になるかもしれません。

ソフト リアルタイム デバイスは、より広範な制御ループ内で、ステート マシンからの動作をトリガーするために頻繁に使用されます。 より小さなハードリアルタイム制御ループは、より広いループ内に位置し、ソフトリアルタイムマシンが動作を変更するための入力を提供するまで独立したマイクロコントローラーで動作します。 コマンドと制御のループの多くはサイクル タイムの要求が厳しいため、ループ内でハード リアルタイム デバイスを使用して直接制御する必要があります。

ソフト リアルタイムのユース ケース

次: リアルタイムのパフォーマンスのデバイスを設定する方法