Windowsベースの組み込み機器開発に役立つ「ソフトリアルタイム機能」とは:Windows 11時代に突入するIoT機器向けWindows(3)(2/2 ページ)
2021年10月に正式リリースされたWindows 11。組み込み機器向けあらためIoT機器向けのWindowsは、このWindows 11の登場によってどうなるのだろうか。本連載では、何が変わるのか、そして何が変わらないのかを中心に最新情報を紹介する。第3回は、Windows 10 IoT Enterprise 2021 LTSCで追加された「ソフトリアルタイム機能」について解説する。
アプリケーションをソフトリアルタイム用のコアで動作させる簡単な方法
ちょっとだけソフトリアルタイム機能を試してみたいというとき、簡単に利用できるのが「cmd.exe」です。cmd.exeはコマンドプロンプトという認識がありますが、別のプロセスを起動するときのラッパとして利用することもでき、さまざまなパラメータが備わっています。
cmd.exeを経由してアプリケーションを起動すること、で簡単に動作するコアを指定できます。下記は「サンプル.exe」をコア3に限定して、プロセスの優先度をRealtimeで実行する場合のパラメータです。
cmd /c start "サンプル.exe" /Realtime /affinity 8
【注】コア3で実行したい場合/affinityがなぜ8か?
コアの指定は2進数のマスクで行います。ただし、/affinityで指定するのは、この2進数を16進数に変換した値になります。
例)
コア0指定 2進数 0000 0001 16進数 1
コア3指定 2進数 0000 0100 16進数 8
コア0、1指定 2進数 0000 0011 16進数 3
上記で実行された結果が下記の図2になります。サンプル.exeは、mainスレッド内で計算をしながらループをし続ける簡単なアプリケーションです。通常実行した場合にはWindowsが4コアに処理を割り振りながら動作しますが、コア3に限定して実行しているためCPU利用率はコア3のみが増加していることが分かります。
WindowsのCPU、プロセス、スレッドの詳細については、下記のマイクロソフトのドキュメントが大変参考になります。
Windows 10 IoT Enterpriseのソフトリアルタイム機能は、複数のコアの中からOSが利用するコアとアプリケーションが利用するコアを分離することが特徴となります。予約されたコアの中でスレッドやプロセスの優先度を設定しながらアプリケーションやドライバを開発することができます。
Windows 10 IoT Enterpriseはハードリアルタイムに対応していないOSですが、このソフトリアルタイム機能を利用することで開発者は自身のアプリケーションやドライバのスレッドが他のOSのスレッド要因によって停止することがなくなり、ある程度開発者が予測したスレッドコントロールができるようになります。
(連載完)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「Windows 11時代に突入するIoT機器向けWindows」バックナンバー
- 仮想マシンなしでLinuxのGUIアプリも動作、IoT機器向けWindows10/11の最新機能
2021年10月に正式リリースされたWindows 11。組み込み機器向けあらためIoT機器向けのWindowsは、このWindows 11の登場によってどうなるのだろうか。本連載では、何が変わるのか、そして何が変わらないのかを中心に最新情報を紹介する。第2回は、Windows 10 IoT Enterprise 2021 LTSCを中心に最新機能を紹介する。 - ついに登場したWindows 11、IoT機器向けでは何が変わるのか
2021年10月に正式リリースされたWindows 11。組み込み機器向けあらためIoT機器向けのWindowsは、このWindows 11の登場によってどうなるのだろうか。本連載では、何が変わるのか、そして何が変わらないのかを中心に最新情報を紹介する。第1回は、IoT機器向けWindows 10/11の全体像について解説する。 - 組み込み機器でもサポート終了するWindows 7、Windows 10世代は何を使うべきか
組み込み機器向けの「Windows」として愛用されてきた「Windows Embedded Standard 7」のサポート期間が2020年10月13日に終了します。本連載では、このWindows Embedded Standard 7から、最新の「Windows 10」世代へ移行するにはどうすればいいのかを解説します。 - 組み込み機器のWindows 7からWindows 10への移行で考慮すべき互換性問題
2020年10月13日にサポートが終了する「Windows Embedded Standard 7」から最新の「Windows 10」世代へ移行について解説する本連載。第2回は、ハードウェアやドライバ、アプリケーションなどの互換性の問題や構築とインストールについて解説する。 - いまだから知っておきたい! XP EmbeddedからStandard 7への移行ポイント【前編】
2014年4月9日(日本時間)で「Windows XP」のサポートが終了。組み込み機器向けに提供されている「Windows XP Embedded」についても2016年1月に期限を迎えてしまう……。そろそろOSの移行を前向きに検討するときなのではないだろうか。本特集では、Windows XP Embeddedから「Windows Embedded Standard 7」への乗り換えを前提に、その移行ポイントを解説する。 - いまだから知っておきたい! XP EmbeddedからStandard 7への移行ポイント【後編】
2014年4月9日(日本時間)で「Windows XP」のサポートが終了。組み込み機器向けに提供されている「Windows XP Embedded」についても2016年1月に期限を迎えてしまう……。そろそろOSの移行を前向きに検討するときなのではないだろうか。本特集では、Windows XP Embeddedから「Windows Embedded Standard 7」への乗り換えを前提に、その移行ポイントを解説する。 - Windows Embedded Standard 7 SP1でアップデートされた機能
Windows 7 SP1の提供開始に伴い、Windows 7をベースとする組み込みOS「Windows Embedded Standard 7」でもSP1に対応したバージョンがリリースされた。今回は、特に重要なアップデート内容について解説する。