組み込みOS・Windows Embeddedについて

組み込み機器がネットワークに接続され、多機能・高品質・短納期化が求められている昨今、
ますます、その存在感を増してきている「Windows Embedded」。
ここでは、Microsoftが開発・提供している、この優れた組み込みOSについて解説していきたいと思います。

組み込みOS・Windows Embeddedについて

組み込みでWindowsが使われるようになった経緯

Windows Embedded(ウィンドウズエンベデッド)とは、組み込み機器を対象にMicrosoftが開発・提供しているリアルタイムオペレーティングシステムの総称です。マイクロソフトは1996年11月、組込み開発向けに提供された、複数のCPUアーキテクチャに対応するWindows CE 1.0のリリースにより、公式に「組み込み」市場に参入しました。今では様々な業種に応用できるように現在のポートフォリオになっています。

ちなみに、Windows Embedded CEは、Windows CE 1.0 から、2.0、3.0、4.0、5.0と改良が加えられていき、次世代バージョンとしてCE6.0が登場。さらに、CE6.0の発展版として「Windows Embedded Compact 7」も開発されています。
2013年には、Compact 7の後を継ぐものとして、「Windows Enbeded Compact 2013」が最新OSとして一般利用可能となっています。

1996年にWindows CEが発表されてから約17年以上たちましたが、当時はPDA(携帯情報端末/Pocket PCなどとも呼ばれていました)に特化したオペレーティングシステムというイメージが強く残っていました。
1980年代以前は、組み込みシステムを実現するにはアセンブラ言語を用いてプログラム開発を行うのが普通であり、ほとんどの組み込み機器開発プロジェクトでは、フットプリントへの配慮など機器単体の最適化について考慮する必要がありました。また、組み込み機器を動かすために必要なソフトウェアを全て自前でゼロから開発する必要があったため、時間もお金もある程度確保することが許可されていました。

ところが、半導体の集積技術の向上によるメモリ容量増加に伴うフットプリントに対する制限が少なくなったおかげで、必ずしもアセンブラ言語を用いることでプログラムサイズの最適化に神経をすり減らす必要性も減ってきました。

更に、クラウドという言葉が一般的になってきた今日、これまでスタンドアローンで動作していればよかった組み込み機器がネットワークに接続されるようになると、既存のシステムと組み込み機器とがスムーズに通信できるようになる必要が出てきたため、組み込みシステムに求められる機能は複雑化してきました。

結果として、組み込み機器単体の閉じた世界での最適化ではなく、組み込みソフト、開発ツール、ハードウェア、そして、組み込み機器が接続されるネットワークやデータベースなど、システム全体の最適化が必要になってきました。

これに追い打ちをかけるように、組み込みシステムにおいても高品質・短納期・低価格が当たり前という風潮に移行していき、それに対応していくために、汎用オペレーティングシステム(Operating System/OS)を応用したWindows Embeddedのような組み込みオペレーティングシステムが登場。これまでの地道な開発手法から、より効率的で簡単な開発手法が採用されるようになってきました。

組み込みウインドウズとは―、その特徴

Windows Embeddedを考える上で欠かすことができないのが、“インテリジェントシステム”という概念です。この考え方にしたがうと、組み込み機器をスタンドアローンで使用される”モノ”として捉えるのではなく、組み込み機器の開発ツールに始まり、個々の機器がつながるネットワークシステムやそれらによって提供されるサービスをまとめて捉えることになります。

「Microsoftが提供する“インテリジェントシステム”の開発、運用、保守を組み込み機器のライフサイクルを含めて全体最適化しようとした場合に強力なソリューションを提供してくれる」というのが、Windows Embededの最大の特徴と言えます。

まず、Microsoftが提供するインテリジェントシステムは、次の6つの特徴を持っています。

  • ・効果的なID管理
  • ・高いセキュリティ
  • ・さまざまな機器との接続のしやすさ
  • ・組み込み機器の構成・管理ができる
  • ・わかりやすいユーザインターフェイス
  • ・高速・高品質な分析能力

また、1995年のWindows95誕生からもうすぐ20年が経過しようとしています。その間に、WindowsのOSも様々な変遷を遂げてきました。
Microsoft Windows 98を経て、2000年にはWindowsNTが、2001年にはWindowsXP Home EditionとWinXP Professional Editionが登場。2007年にはWindowsXP Home Premiumが世に出て、そして、ウィンドウズ7(win7)、ウィンドウズ8と続いています。
余談ですが、「ウインドウズ7」とは、文字通り、Windows95の発売から7番目のOS、ということです。

さらに、その20年弱の間に、次に示すようなMicrosoft製品も誕生し、既に世界中のユーザに使用されています。

  • ・Windows Azure
  • ・KINNECT(モーション検知型非接触操作デバイス)
  • ・Microsoft System Center
  • ・Microsoft .NET
  • ・Microsoft SharePoint
  • ・Microsoft ForeFront
  • ・Microsoft SQL Server
  • ・Microsoft Office

前述したインテリジェントシステムの6つの特徴は、これらの強力な製品によって実現されています。ID管理は、実績のあるActive Directoryを利用しています。ユーザインターフェイスについては、KINNECT、Windows8やWindows Phoneで採用されているモーションキャプチャ/ジェスチャ/タッチ/マルチタッチ機能により直観的でわかりやすい操作性が提供されています。セキュリティに関しては、堅牢なMicrosoft ForeFrontの資産が有効活用されています。データベースについては、Microsoft SQL Server(サーバー)によって、構造化/非構造化データベースを高速かつ効率的に分析できます。

このように、Windows Embeddedファミリーのおかげで、既存のMicrosoft製品と組み込み機器、アプリケーションをスムーズにつなげる為の最適なソリューションを選択できるようになりました。

冗長な表現を恐れずに言い換えると、Windows Embeddedを利用し、Windows Azure、KINNECT、Microsoft System Center、Microsoft.NET、Microsoft SharePoint、Microsoft ForeFront、Microsoft SQL Server、Microsoft Officeなどの実績あるMicrosoft製品を効果的に組み合わせることで、直観的にわかりやすい組み込み機器を、様々なシステムに、高いセキュリティで接続・管理・制御して、そのオペレーションデータを効果的にビジネス(business)データとして分析できるインテリジェントシステムを効率的に構築することが可能になったということです。

このように他のサービスとの連携などを含めた機能導入が行いやすい点で言うと、別のコラムでも記載をしていますが、オープンソースをベースとして広がってきたLinuxと同じような特徴ととらえる方も少なくないかと思いますし、その認識は間違っていません。
しかし、オープンソースがベースとなるLinuxは、オープンソースであるが故に情報が様々に拡散しており、良い意味では情報があふれています。しかし、Windows Embeddedはマイクロソフト社がOSの方向性、ラインナップを決定し、目的達成のために必要となる情報を、まとめた形で提供しているという点に大きな違いがあります。
ここに関しては、OSのあり方、考え方の相違から生まれている違いであり、どちらが正しい、間違っているという事はありません。

組み込みWindows(Windows Embedded)の製品ラインナップ

このように、エンベデットシステムの開発に従事する組み込み系の開発技術者にとって、非常に便利なWindows Enbeddedファミリーですが、マイクロソフトの専用ページからダウンロード版を取得しインストールすることで、すぐにこのプラットフォーム及びツールを使うことができます。

ちなみに、ダウンロードできるWindows Embedded製品ラインナップ・名称は以下になります。

※「ウインドウズエンベデットとは」など、組み込みWindowsの種類や各製品の特徴・違い、開発環境の詳細に関しては、次回のコラムにて追加でご説明していきます。

Windows Embedded 8 ファミリ

  • ・Windows Embedded 8.1 Pro
  • ・Windows Embedded 8 Standard
  • ・Windows Embedded 8.1 Industry
  • ・System Center 2012 SP1

Windows Embedded Compact ファミリ

  • ・Windows Embedded Compact 2013
  • ・Windows Embedded Automotive 7

※Windows Embedded Compact用のネイティブ(C++)UI開発frameworkとしては、Silverlight for Windows Embedded(Microsoft Silverlight 3を基とする)があります。

Windows Server 2012 R2 / Microsoft SQL Server 2012

  • ・Windows Server 2012 R2 for Embedded Systems
  • ・Microsoft SQL Server 2012 for Embedded Systems

Windows Embedded 7 ファミリ

  • ・Windows Embedded Enterprise(エンタープライズ)
  • ・Windows Embedded Standard 7
  • ・Windows Embedded POSReady 7

その他の Windows Embedded 製品

  • ・Windows Embedded Compact 7
  • ・Windows Embedded Handheld 6.5
  • ・Windows Server 2008 R2 for Embedded Systems
  • ・Microsoft SQL Server 2008 R2 for Embedded Systems
  • ・Windows Embedded Standard 2009
  • ・Windows Embedded POSReady 2009

また、Windows Embeddedの実績のあるサポートや無料のセキュリティアップデート(update)を利用できるのも嬉しいところです。「Windows Embedded Compact 2013」などでは、Visual Studio 2013とVisual Studio 2012の両方がサポートされるようになっています。

こういったサポートやライセンス情報に関しても、問題やポイントを絞って、次回のコラムでお話していきたいと思います。