第一回目はWindowsXP Enbedded(1)です。
いまさら聞けない Windows XP Embedded入門 @IT
皆様、お仕事お疲れでございます。
本日から私dot3psoが仕事で役に立つ(?)技術メモを公開していこうと思います。
WindowsXP Enbeddedとは何か?
リンク先の@ITによると、
XP Embeddedは、Windows XP Professional(以下XP Professional)のすべての機能を1万個以上のコンポーネントに分割したOSである。必要なコンポーネントを組み合わせて、独自仕様の Windows XPデバイスを作成できる。
XP Embeddedの一種として、「Windows Embedded for Point of Service」(以下WEPOS)というOSも提供されている。WEPOSはPOS/KIOSK端末で利用するコンポーネントのみが実装されており、 XP Embeddedよりもフットプリントが小さく、より組み込み市場に特化している。そしてXP Embeddedよりも容易に利用できる。ただし、XP Professionalよりも機能は限定されている。
じゃあフツーのWindowsXPと何が違うのさ!!
- ディスクの保護
- ランタイムのアップデート
- ハードディスク以外の起動ストレージの対応
- ヘッドレスサポート
なお、XP EmbeddedはMUI(Multi User Interface)がベースになっている。つまり、通常の日本語版XP Professionalではなく、英語版のXP Professionalに日本語MUIリソースを追加した環境と類似している。
ディスクの保護には二つの意味があります。一つはシステムファイルなどを書き込みできないようにし、ファイルの破壊を防ぐことです。但し、メモリ上に展開したファイルは上書きできますので、電源を切るまでは変更が反映されます。二つ目はフラッシュメモリなどをストレージにした際、書き込み回数に制限がありますので、書き込まないようにすることで寿命を伸ばすことができます。
ランタイムのアップデートは詳しくわかりません。書き込み禁止を無効にして行うのでしょうか?
ハードディスク以外の起動ストレージは、先程のフラッシュメモリなどがあります。USBメモリからも起動できます。
ヘッドレスサポート・・・・これもわかりません。(T-T)
次に書き込みを禁止するEWF(Enhanced Write Filter)にいきましょう!
EWFは、書き込みの処理を「EWFボリューム」と呼ばれる領域にリダイレクトすることでオリジナルデータの変更を抑止するとともに、書き込み回数に制限があるストレージの寿命を延ばすのにも役立つ。
EWFには、EWFボリュームをディスク上に置く「Disk Overlay mode」と、RAMに置く「RAM Overlay mode」の2つのオーバーレイタイプがある。
つまり、OSやアプリケーションではHDDに書き込んだつもりなんだけど、実際はメモリ上のファイルに書き込むという状態になります。(リダイレクト)アプリケーション側は変更なしでそのままいけちゃうのがいいですねー。
ストレージを変更する時はこのEWFをDisableにする必要があります。
次に開発の流れにいきましょう
◇開発ツールと開発の流れ
XP Embeddedは、「Windows Embedded Studio」という開発環境を利用してOSの構築を行う。このWindows Embedded Studioは、複数のツールで構成されている。
- Target Analyzer
Target Analyzerは、対象となるハードウェア固有のデータを自動的に収集するプローブを実行することによって動作する。XP Embeddedの開発者は、開発の第一歩としてこのツールを使い、ターゲットとなるハードウェア上でXP Professionalがどのデバイスドライバを利用して、どのような状態で動作するのかといった情報を収集する必要がある。
- Target Designer
Target Designerは、XP EmbeddedのOSイメージを開発、カスタマイズおよび構築するツールである。コンポーネント群の追加・削除、初期レジストリの設定、開発後のOSのビルドなど、OS構築にかかわるすべての作業をTarget Designer上で行う。
- Component Designer
「カスタムコンポーネント」を定義するための環境を提供する。XP Embeddedでは、OS標準のコンポーネント以外に、サードパーティ製のアプリケーション・ミドルウェアや独自のデバイスドライバなどをカスタムコンポーネントとして開発環境に登録する必要がある。Component Designerを利用して、このカスタムコンポーネントを作成する。
- Component Database Manager
Component Databaseやリポジトリといったコンポーネントレベルの情報を管理するツール。XP Embeddedでは、コンポーネントをすべてデータベース上に配置してコンポーネントの抽出を効率化している。
さて、開発ツールですが、これはある程度お金を出せば買えそうです。但し、噂によりますと講習を受けないとだめとかという噂もありますので、その辺は調べた(調べないんかい!)方がよさそうですね。
あと、この開発ツールをインストールするターゲットにはWindowsXPを予めインストールした方がよさげみたいですよ。
最後に@ITの言葉で今回は終わりにしたいと思います。
XP Embeddedでは最終的なレジストリ設定やコンポーネント選択は開発者が行うため、XP Professionalと異なる動作をしてしまうことも多々ある。また、EWFはXP Professionalには存在しない機能であるため、これを熟知したうえでOSやハードウェア構成を設計する必要がある。
アチャ! やっぱ難しそうぢゃん。