メイン コンテンツにスキップ このブラウザーはサポートされなくなりました。 Show Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Windows IoT Enterprise のソフト リアルタイム
この記事の内容Windows 10 ソフトリアルタイムは、Windows 10 IoT Enterprise バージョン 21H2 の新機能で、デバイス メーカーがデバイスにソフト リアルタイム機能を導入できます。 このリアルタイム動作は、4 つの重要な設定によって導入されます。
リアルタイム オペレーティング システムとはプログラムを実行するとき、通常のオペレーティング システムでは決定論的な結果が得られますが、タスクを完了するには非決定論的な時間が必要です。 リアルタイム オペレーティング システムでは、プログラムの実行結果とそれらの結果を取得するためにかかった時間の両方が、(少なくとも部分的に) 決定的になります。 ハード リアルタイムとソフト リアルタイムハード リアルタイム オペレーティング システムは、時間を正確に決定するものです。 これらのオペレーティング システムは、結果を時間通りに得られないとシステム全体の故障となるようなユースケースに導入されます。 例としては、車のエンジンや飛行機、プリンター、レーザー カッターなどのマイクロコントローラーがあります。Azure Real-Time OS は、そのような OS の一例です。 ソフト リアルタイム オペレーティング システムでは、オペレーティング システムからのわずかなずれによる正確なタイミングではなく、プログラム完了に一定の短時間が必要です。 ソフト リアルタイム システムは、正確ではありませんが、複数のコアで実行でき、アプリケーションに対する制限が少なくなります。 このガイドを把握した後、Windows 10 IoT Enterprise に期待できるのは、このようなリアルタイムのパフォーマンスです。 リアルタイム パフォーマンスが必要がなのはいつですか?リアルタイム パフォーマンスでは、必ずしもパフォーマンスが向上するとは限りません。 パフォーマンスが予測可能なだけです。 システム全体のパフォーマンスを向上させる必要がある場合は、ソフト リアルタイムがそれを実現する最適な方法とは限りません。 しかし、現実的な制約がある場合 (ロボットの環境が変わる前に計算をしなければならないとか、ベルト コンベアが動く前にモーターを作動させなければならないなど) には、ソフト リアルタイムが必要になるかもしれません。 ソフト リアルタイム デバイスは、より広範な制御ループ内で、ステート マシンからの動作をトリガーするために頻繁に使用されます。 小さなハード リアルタイム制御ループは、より広範なループ内に配置され、ソフト リアルタイム マシンからの入力で動作が変わるまで、独立したマイクロコントローラーで動作します。 コマンドと制御のループの多くはサイクル タイムの要求が厳しいため、ループ内でハード リアルタイム デバイスを使用して直接制御する必要があります。 次: リアルタイムのパフォーマンスのデバイスを設定する方法 組み込みOSのリアルタイム性とは、組み込みシステムがある入力を受けてから出力するといった処理に、時間的制約が設けられる性質のことです。組み込みOSにはリアルタイム性を持たないOSもありますが、ここではリアルタイム性を持った組み込みOSについて解説していきます。具体的には、組み込みOSの「リアルタイム性」・「リアルタイムOSの処理の種類」といったテーマを軸に、分かりやすく解説します。 組み込みOSにおけるリアルタイム(RT)性とは ソフトウェア(software)などの組み込みシステム(embedded
system)がある入力を受けて、対応した出力を行う際に、出力内容だけではなく入力から出力までに時間的制約を求められるという性質の事です。これは単純な早い遅いといった作業速度の話ではない為、通常は0.001秒で対応できるという高速なwindowsなどのパソコン(PC)であっても、ウィルスチェック・ネットワークの通信・アプリケーション実行中などの場合には速度が変動します。その時間を見積もる事ができないような場合には、リアルタイム性があるとは言いません。逆に、0.5秒かかるような組み込みシステムでも、どんな状況でも1秒以内に作業を完了する必要があるという時間制約がある場合には、リアルタイム性がある組み込みシステムとなります。この時の組み込みリアルタイムシステム(realtime system)の時間制約の事を、デッドラインといいます。組み込みOSの基礎知識として、割り込みハンドラなども知っておいた方がいいと思いますが、割込ハンドラについては別の組み込みOSのコラムで解説します。 組み込みOSのリアルタイム性について例えを挙げて説明していきます。ボタンを押してLEDを点灯させるといった、簡単な組込機器の組込み制御(マイコン機能)の例で考えてみましょう。この時、ボタンを押してからLEDを点灯させるまでに必要な時間は、「LED点灯させる為の時間(以後①)」だけではなく、「ボタンを押してからOS作業が開始されるまでの時間(以後②)」も含まれます。又、実際の組み込み機器は、1つのボタンに1つのLEDといった構成ではなく、複数の入出力制御を並列で扱っていますので、さらに「①の処理中に他のOS作業が動作した場合の時間(以後③)」も考える必要があります。
ボタンを押してからLEDが点灯するまでの時間 ①は単純な作業時間ですので、比較的簡単に見積ったり測定したりする事が出来ますが、②や③は組み込みシステムの設計やボタンが押された時の組み込みシステムの状態によって都度変化します。この②と③のワーストケースを見積る事ができて、ボタンを押してからLEDを点灯するまでの時間(①+②+③)が、最悪でもXXXまでには完了できる事が見積れる組み込みシステムを、リアルタイムシステム(real time systems)と呼びます。 リアルタイム処理の種類リアルタイム性を持ったコンピュータやデジタル機械の開発においては、目標時間内に処理が終了しなかった場合の結末を考慮して、組み込み開発を行う必要があります。組み込みリアルタイムOSは、優先度によって下記の3種類の特長を持った処理を選択し、プログラミングしなければなりません。 (1)OSのハードリアルタイム処理 (2)OSのファームリアルタイム処理 (3)OSのソフトリアルタイム処理(ファームリアルタイム処理を含めてソフトリアルタイム処理と表現する事もあります) ハードリアルタイム>ファームリアルタイム>ソフトリアルタイムという順番でより厳しい時間制約が課された処理という事になります。自動車のECU(EngineControlUnit)制御、ロボットの関節制御など組み込みシステムにおいては、応答の遅れが故障に結びつく様なケースが多く、ハードリアルタイム処理を求められることが多いです。最近では、多くの組込みソフトウェア(組込ソフト)・組み込みミドルウェア・組み込みハードウェアで使用されるオペレーティングシステム(OS)も、メリットの高いリアルタイム性を実現する為に設計されています。 組み込み技術者も目指す方へ組み込み開発の技術者を目指している人は、まず単行本などを読みc言語などの入門知識を得て下さい。「組込みシステムとは」「エンベデッドシステムとは」「オペレーティングシステムとは」「ソフトウェアとは(ソフトとは)」「rtとは」「オペレーティングとは」「組込みとは」「組み込み開発とは」「システムとは」などといった質問に、即答で意味の説明ができるようになれば、組み込みについての知識がついてきている証拠です。また、組み込み技術の資格を取ることもひとつの手です。自分で組み込み開発してみたい方は、開発支援・サポートソフトなどのサービスを使ってもいいかもしれません。いずれにしても、目的を持って組み込み開発の道を歩んでいってください。 関連記事
リアルタイム性の例は?ロボット掃除機、洗濯機、ゲーム機、インターホンといった家電機器から医療機器、自動改札機、発電機器、監視カメラなどの産業機器などの組み込み分野では、処理の完了に期限が設定されます。 例えば、自動車に使用されている組み込みシステムを具体例として考えます。 自動車には、自動車を制御するためのCPUが多く使用されています。
リアルタイム処理のシステム例は?例えば、自動車のエアバッグは、車両の激突時に即座に展開しなければ乗員の命が危険に晒される。 この場合、激突時に「乗員がダッシュボードに衝突するまでの時間」という期限内に「エアバッグを発動する」というタスクを行うよう設計されているため、エアバッグはリアルタイムシステムといえる。
リアルタイム制御処理の例は?例えば、自動車のブレーキアシストシステムが一回の障害物検知処理に何分もかけていたら、ブレーキ操作を行う前に障害物に激突してしまう。 このような場合に、反応を返すまでの遅延時間に許容範囲を設定して、それを超えないように命令の実行順序などを工夫する処理方式をリアルタイム処理という。
リアルタイムシステムの特徴は?リアルタイムシステム(Real Time System)は,即時性のあるデータや命令の入力に対応する仕組みです。 処理を決められた時刻(デッドライン)までに終了することが要求されます。 ハードとソフトの違いは,このデッドラインに対する厳密性です。
|