WindowsCE をもっと知ろう WindowsCE OSの歴史とその製品構成を知ろう!

このページをDeliciousに追加 このページをはてなブックマークに追加 このページをYahoo!ブックマークに追加

2002年2月26日(火)版

WindowsCE をもっと知ろう WindowsCE OSの歴史とその製品構成を知ろう!

分かりにくい WindowsCE OS/プラットフォーム製品構成を総力紹介

 ↑↑CEを買う前に↑↑ 

■ はじめに

 2002年2月19日、ホテルニューオータニで開催された Windows Embedded Developers Conference 2002 in Japan で、日本でも「WinodwsCE.NET」が正式発表となった。(ちなみに米国版は、1月7日 CES2002 の Bill Gates の基調講演で発表となった)。これで、WindowsCE OS は、無事、Version 4、すなわち第4世代を迎えたことになる。

■ 分かりにくい WindowsCE 関連製品

 ところが、WindowsCE 関連製品の流れは、OS そのものの進化に比べて速い。例えば、日本で人気のキーボード付きのハンドヘルドプラットフォームは、WindowsCE OS Version1.0 ベースで開発された H/PC1.0 から始まって、WindowsCE OS Version 2.x ベースにおいては、H/PC 2.0、H/PC 3.0 (H/PC Pro) という2つのプラットフォームが開発された。この結果、続く WindowsCE OS Version 3.0 ベースで構築された H/PC2000 プラットフォームは、H/PC 的には第4世代のプラットフォームでありながら、OS 的には第3世代であるといえる。

 逆の視点で、自分が使っているマシンは、実は WindowsCE OS でいうとどのバージョンに当たる製品なのかということも、年々、製品が出荷されるたびに分かりにくくなっている。

 というわけで、今回は、WindowsCE.NET の登場にあわせて、最新版の WindowsCE 関連製品群を一枚の図にまとめてみた。WindowsCE OS がこれまでどのような流れで進化してきたのか。また、その上ではどのようなハードウエア開発環境が利用でき、ソフトウエア開発環境は何が利用できたのか、またできるのか、それぞれの標準プラットフォームは、どのバージョンの WindowsCE OS 上でリリースされたものなのかが一目でわかる(はず) である。

 似たようなものは、以前にも、WindowsCE 3.0 の提供時に WindowsCE FAN 特製として紹介させていただいたが、今回はなんと年号まで入っているという豪華版だ! (と思って欲しい) 

↑このままだと読みにくいですが、クリックすると拡大します↑

■ WindowsCE OS の読み方

 さて、この図を見て「お、便利じゃん」と思っていただける方は、実は、この図なんか必要ない方々であろう。WindowsCE 関連の開発に携わってこられた方なら、多少の抜けはあるにせよ、ほぼこれと同じ図式が頭の中にあるはずだ。

 一方で、これを初めてみる人にとっては、この図そのものが分かりにくいのではないかと思う。というわけで、ちょっと長くなるが、ぜひ読んで、WindowsCE に関する知識を深めて欲しい。

 まず、マイクロソフトが提供する WindowsCE 製品群には、全部で 4つの大きなカテゴリがある。

A) WindowsCE OS
B) ハードウエア開発ツール
C) ソフトウエア開発ツール
D) 標準プラットフォーム

 それぞれについて紹介していこう。この違いが分かれば、さまざまな WindowsCE 製品をみても、それぞれのどれがどれだか分からなくなるといったことはなくなるはずだ。それぞれの製品で何ができるかを考えれば、製品の名前は変われど、それがどのカテゴリの製品かは、自ずとわかるはずだ。

Pocket PC のバージョン表示画面

A) WindowsCE OS

 WindowsCE OSは、そのものずばり WindowsCE という OS そのものだ。WindowsCE1.0、WindowsCE2.0、WindowsCE3.0、WindowsCE.NET と進化してきた。ちなみに WindowsCE の場合、バージョンがひとつ変わるということは、Windows95 が、Windows2000 になった、というくらいの違いがある。まだまだ Windows に比べて新しいプラットフォームであるがゆえに、各バージョン間で、OS のカーネルコードを含め大幅なバージョンアップがあるのだ。

 WindowsCE OS に依存する部分というのは、H/PC や Pocket PC のユーザーにはあまり分かりにくいかもしれないが、組込用の機器を開発する際には大きな違いがでてくる。初期バージョンの WindowsCE1.0 では、例えば、割り込みが発生してから、それをプライオリティに応じて決められた時間内に優先的に処理したりする機能はなかった。例えば、WindowsCE OS を搭載した電話があったとしよう。そうすると、電話帳を見ている間に、電話がかかってきても、おそらく1〜2秒の間には、割り込みが発生して必ず着信音がなる。この部分にはまったく問題がない。ところが、FAX を受信している間に、電話帳を操作すると、その間のデータ受信に失敗して、再送信してもらうハメになりかねない。(実際にはここまでひどくはないのだが、あくまでも例えとして読んでほしい) こうした問題は、電話なら少々時間がかかるだけで済むが、これが車のエンジン制御や、ブレーキ制御だとこうはいかない。こうした問題は、WindowsCE3.0 以降では、かなり改善されているようだ。新しい OS を利用して作った電話機ならさきほどのような問題点は発生しない。電話帳を操作しても、FAX のデータが送られてきたら、電話帳の操作より優先して受信が処理される。少し重たくなったなあと思うかもしれないが、万事うまく行くようになっている。

 その他、WindowsCE1.0 では「外部記憶媒体」という概念がなく、外部のハードディスク等にアクセスすることができなかった。こうした点は、WindowsCE2.0 以降では改善された。さらに、最新の WindowsCE.NET では、DVD再生や、Bluetooth 通信をサポートするところまで進化した。OS レベルのデバイスサポートに関しては、WindowsXP 並みといってもよいだろう。後は、実際の LANカードや、Bluetooth カードを作っているメーカーが、WindowsCE 用のドライバを書いてくれれば、ユーザーはそれをすぐに利用することができる。

WinodwsCE.NET製品パッケージ

B) ハードウエア開発ツール

 次の「ハードウエア開発ツール」は、今回もし、パソコン用の Windows OS というものしか知らない人にとっては、もっとも理解しにくいものだろうと思う。逆に、分かってしまうと、これこそが WindowsCE のもっともエキサイティングなところであることも分かっていただけると思う。

 まず、WindowsCE用のハードウエア開発ツールと紹介する前に、一般的なパソコン用の OS について考えてみよう。通常 Windowsパソコンと呼ばれるものは、もちろん、多くの場合「Windows がプリインストールされている」パソコンを指す。この事実を、もう少し、これをハードウエアと OS とに分離して説明すると、

A) AT互換機あるいは PC9x規格に沿ったハードウエア
B) AT互換機あるいは PC9x規格で利用できる WindowsOS

というものに分けることができる。ここで重要なのはパソコン用の Winodws OS というものは、Windows3.1 から WindowsXP にいたるまで、いずれも「AT互換機あるいは PC9x 規格」という規格のハードウエア専用の OS なのである。世の中には、1年間で何百種類ものパソコンが発売されるため、一見万能の OS のような気がしてしまうが、Pentium あるいはその互換 CPU を持ち、HDD 空き容量が 300MB 以上、画面サイズが 640 x 480 以上、メモリが 32MB 以上(最近は、64MB) 以上ないと起動すらさせることができないというのが、パソコン用の Windows だ。

 これに対して、WindowsCE OS は、非常に多くのデバイスをカバーすることができる。メジャーなものだけでも、CPU は、Intel系の x86 の他、MIPS(NECのVRシリーズなど)、ARM(StrongARM 等)、SHx などをサポートしている。さらにメインメモリのサイズも数MB 程度のものから、256MB 程度のものまで幅広くサポートする。もちろん、ハードディスクがなく、ROM からでも起動することができるし、液晶パネルのサイズも 240 x 320 でも十分利用できる。極論を言えば、電卓のような LCD でも使えるし、そもそも電話機や、WindowsCE for Automotive 3.5 のように、モニタが存在する必要すらない。

 こうした幅広いデバイスを 1つの OS サポートするということはどういうことだろうか。パソコン用の Windows でお分かりのように、実際には使わないデバイス・ドライバや、おまけの機能が全部入った巨大な OS が出来上がってしまうことになる。CPU だけで、細かく分けると 16種類もサポートしている WindowsCE OS が1つのパッケージになっていたら、パソコン用 Windows を遥かに超えるサイズになってしまう。

 長い前置きだったが、そこで導入されるのが、WindowsCE 用のハードウエアの開発ツールである。WindowsCE OS が Version 2.0 から Version 3.0 の頃までは「Platform Builder」という名称で呼ばれていたが、今回から「WindowsCE.NET」というと、この製品も指すことになった。OS そのものバージョンと同じ名称となっているため分かりにくいが、「WindowsCE.NET」というパッケージとして販売されているのは、WindowsCE.NET OS を含み、.NET OS をカスタマイズする開発ツールがセットになったパッケージだ。

 本来はデモを見ると、直感的に分かりやすいのだが、ハードウエアの開発ツールでは、簡単に言うと、WindowsCE.NET の全機能が一覧で表示される。その中から、自分が使いたい機能、例えば、DVD へのアクセス機能と、グラフィックの描画機能、それからキーボード入力の機能、といった具合にチェックボックスで選択し、利用する CPU のタイプを指定すれば完成だ。WindowsCE.NET の場合、OS のコア機能だけを選択すると パソコン用 OS の 1/1000 となる 200KB(単位を間違えているわけではない) というサイズにすることもできる。また、H/PC2000 くらいのことを実現しようとすると、Internet Explorer などを含んで 20MB 程度となるようだ。

 WindowsCE 搭載デバイスといえば、いわゆる Pocket PC やシグマリオン/II 以外に、NTTドコモの「Pocket PostPet」というポストペット端末がある。これは、WindowsCE OS Version 2.12 をベースに、Platform Builder 2.12 を利用して、この端末専用に作成した「プラットフォーム」を ROM に焼きこんである。ベースは同じだが、その端末の目的、スペックに合わせた構成を柔軟に取ることができる。これこそが、WindowsCE OS が持つ、パソコン用の OS にない最大の利点であるといえる。

最新開発ツール Visual Studio.NET

C) ソフトウエア開発ツール

 上記で紹介したように、WindowsCE では、ターゲットのハードウエアが異なれば、それぞれに異なった WindowsCE の「プラットフォーム」を作ることができる。ところが、このように少々環境が異なっても、そのためのアプリケーション開発は、基本的には、マイクロソフトが提供する開発ツールを用いて行うことができるようになっている。もちろん、ハードウエアに依存した部分については、各社でライブラリを起こす必要があるが、基本部分は、標準の開発ツールに頼ることができる。

 例えば、カシオが昨年発売し、ブレイクしている CASSIOPEIA l'agenda BE-500 は、WindowsCE OS Version3.0 をベースにしているため、その OS 用の開発ツール「eMbedded Visual Tools」に、l'agenda 用の SDK を追加することで、後は快適な統合開発環境を利用することができる。

 また、WindowsCE.NET になってから、最新の開発環境は「Visual Studio.NET」というパッケージに「統合」された。従来、WindowsCE OS3.0 用の開発キットは、マイクロソフトのパソコン用 Windows 向けの開発ツールとは別に無償配布されていたのだが、今回から、パソコン用の開発環境である「Visual Studio.NET」に統合された。マイクロソフトのビジョンによると、WindowsCE 機の中だけである程度の互換性を保っていた状態から、パソコン用のソフトウエアと、WindowsCE 用のソフトウエアを、.NET Framework 上でかなりの部分を共通化して開発でき、開発者の利便性は向上する。

 とはいえ、今後日曜プログラマにしてみれば、そのために数十万円する開発ツールを購入する必要があるため、辛い面があるのも事実だ。もっとも、現在もっとも普及しているデバイスとして、Pocket PC や Pocket PC 2002 用の開発ツールは、現状の無料のものが使えるため問題はないはずだ。この問題がでてくるのは、早くとも今年(2002年)の夏以降だろう。

※ この問題に関して、池田様より、「eMbedded Visual Tools 4.0」という製品も存在するとのコメントをいただいた。同氏がおっしゃるとおり、このあたりのプライシングの問題は、今後3ヶ月〜半年程度の期間の間に、明らかになってくるだろうと思う。


D) 標準プラットフォーム

 最後に、これも概念としては分かりずらいかもしれないが「プラットフォーム」というものがある。概念として理解する前に具体例を見ていこう。WindowsCE FAN をご覧の方なら、「Pocket PC」「Pocket PC 2002」「H/PC2000」「Auto PC」「Palm-size PC」という言葉を聞いたことがあると思う。

 これがまさに、マイクロソフトの提供する標準プラットフォームである。
 内容は、WindowsCE OS を、ハードウエア開発ツールに相当するもので、独自のリファレンスプラットフォーム用にカスタマイズ、その上に、Pocket Outlook 等のアプリケーションを加えたものに「Pocket PC」といった名称をつけて、各メーカーにライセンスされている。各メーカーは、Pocket PC なら「240 x 320」の液晶パネルを持ち、ROM が 32MB 以上、RAM は 16MB 以上といったスペックを満たすハードウエアを用意する。そこに、マイクロソフトからライセンスした「Pocket PC」というパッケージをインストールして、エンドユーザー向けに出荷するわけだ。

 図の中でも、具体的な製品事例の多くは、この標準プラットフォームに準拠して作られた製品だ。現在もっともメジャーなプラットフォームは、Pocket PC 2002 と、H/PC2000 だろう。この「Pocket PC 2002」を例に、今回説明してきたような書き方をすれば、

Pocket PC 2002 =
 WindowsCE 3.0 をベースにカスタマイズ。
 液晶パネルのサイズは固定し、タッチパネルで操作する。
 LAN、無線LAN 等に対応
 さらに、StrongARM 専用のコードだけを用意する。

ここまでがハードウエア開発ツールの役割だ。

これに、ソフトウエアとして、

 Today、Start メニュー等の UI を加える
 Pocket Outlook、Pocket Office を加える
 Windows Media Player を加える
 さらに、PPTP などのモジュールを加える

ということで出来上がっている。

 このパッケージを使って、各社 hp jornada568、東芝 GENIO e550X、カシオ CASSIOPEIA E-2000、NEC PocketGear PG/5000 などを発表/発売している。

 また、この Pocket PC 2002 を構築するのと同じ作業を、カシオがやると、CASSIOPEIA l'agenda というプラットフォームになり、具体的には、BE-500 という製品が発売されているわけである。

 ところで、図をみてもらうと、WindowsCE OS 2.0 の時代には、実にさまざまな「標準プラットフォーム」が提唱されたことに気がつくだろう。これらは、「Platform Builder」と呼ばれるハードウエア向けの開発ツールが整備される前に登場したもので、要は、各種デバイス向けにカスタマイズした WindowsCE ベースの製品をマイクロソフトしか作れなかったものの名残だといってもよい (さすがに今となってはいいだろう)。

 現在、こうした標準プラットフォームとして、継続的な開発が約束されているのは、

1) Pocket PC シリーズ
2) WindowsCE for Automotive (元 AutoPC)
3) H/PC シリーズ (※ 結構微妙だが WindowsCE FAN 的には 2003年頃に期待する)

で、今後は、基本的には各社が WindowsCE.NET を利用して、カスタマイズした製品を作って欲しいという方針のようだ。

 ただ、例えば Pocket PC のような一ジャンルを築いている製品については、ユーザーの利便性を考えて、当面、マイクロソフトがプラットフォームをリードしていくことになろう。各社独自のプラットフォームの製品をコンシューマー市場に投入されては、ソフトウエアの充実もままならないからだ。おそらく独自のプラットフォーム製品としては、カシオの CASSIOPEIA l'agenda シリーズとせいぜい後1つ程度の 3製品くらいに収斂されると思われる。

■ 終わりに

 以上で、WindowsCE 製品群の構成と、そのジャンルごとの内容についての説明を終わりにする。エンドユーザーとして知らなくてよいことだらけだといわれればそれまでかもしれないが、まずは、ここまで読んでくださった方には、まず感謝を述べたい。

 また、同様の質問が、掲示板等に書き込まれた際には、こちらの記事の URL を紹介していただきたい。なお、次回の WindowsCE 製品構成紹介は、おそらく 2003年の後半から、2004年の前半になると思われる。

※ なお、いろいろ細かいところで不備があると思われますが、遠慮なく、Webmasterまでご指摘をお願いいたします。



WindowsCE をもっと知ろう WindowsCE OSの歴史とその製品構成を知ろう!


Reported by けいたん


Last-modified: Sun, 24 May 2009 23:45:30 JST (3105d)