Windows 8 の影に隠れてなかなか正体が見えない Windows Phone 8 (Apollo) ですが、ロシアから面白い情報がもたらされました。

(画像と本文は関係ありません)
ロシアのガジェット系サイト「4PDA.ru」のフォーラムに、「mamaich」氏が Windows Phone 8 (Apollo) の内部構造についてのやたら詳しい情報を投稿しています。
NT カーネル
mamaich 氏によると、Apollo はプラットフォームとしては Windows 8 相当で、ユーザー体験としては Windows Phone Mango 相当となり、その上に Apollo の新機能が搭載されるとのことです。
これは、Windows Phone OS のカーネルが現在の Windows CE から、Windows NT ベースのものに変更されることを意味しています。具体的には、Apollo は Windows 8 の「コアシステム」を採用すると述べています。コアシステムとは OS の基本的な部分を指しており、起動やハードウェアリソースの管理、認証、ネットワーク接続などを含んでいるようです。
とはいえユーザー体験は Mango ベースとのことなので、ライブタイルや People ハブといった基本的な概念は共通と思われます。
ESENT の採用
mamaich 氏は、重要な変更として ESENT の採用を挙げています。ESENT は “Jet Blue” とも呼ばれており、Microsoft Access で使われていた “Jet” を拡張したデータベースエンジンです。ESENT は、Exchange Server や Active Directory のストレージとしても使われています。しかし、Windows Phone のどこに ESENT を採用するのか、それによってどのようなメリットがあるのかは言及されていません。
「Core CLR」とは?
もうひとつの重要な変更は .NET Framework です。mamaich 氏によると、Apollo は Compact Framework ではなく、Microsoft の開発部門が作った「Core CLR」を採用するとしています。たしかに、仮にカーネルが NT ベースになるのであれば、CE カーネル用の Compact Framework を使う理由はありません。
しかし、この「Core CLR」が具体的に何を指しているのかはネット上でも議論を呼んでいます。Mary Jo Foley 氏は、MIX07 で発表された Core CLR や、RedHawk プロジェクトとの関連性を指摘しています。少なくとも、単なるデスクトップ版の .NET Framework が搭載されるというニュアンスではなさそうです。
SD カード
SDカードについては FAT または exFAT でフォーマットされたものだけがサポートされるとしています。
SD カードについて気になるのは、これが Windows Phone 7 と同じ内部的なストレージの一部としてなのか、それとも Android のような外部ストレージなのかという点です。この点について mamaich 氏は、昨年末に xda-developers フォーラムに投稿しています。
- 組み込みの eMMC カード (NTFS) と、最大1つの SD カード (FAT または exFAT) がサポート
- eMMC カードのドライブレターは C:\、SD カードは D:\ になる
eMMC はオンボードの NAND フラッシュと思われるため、これに microSD を組み合わせるのであれば、現行の Windows Phone と変わらないようにも見えます。
しかしドライブレターが別々になるという仕様は、ユーザーが「Dドライブ」を指定してアクセスすることを想定しているようにも読み取れます。
PowerShell 対応
Texus Shell (TShell) というツールにより、Apollo を PowerShell から制御できるようになるそうです。これにより、ファイルコピーやプロセスの実行、デバッガ、電話のコマンドインタプリタ、WTT (Windows Test Technologies) によるテストの実行が可能になるとのことです。
センサー
Apollo のセンサーについては、Mango 同様の光センサー、近接センサー、磁気センサー、電子コンパス、ジャイロをサポートするとしています。
Hyper-V 対応
Hyper-V 上で Phone OS の x86 ビルドを実行できるようになるとされています。これはエミュレータのことを指しているものと思われます。
現行の Windows Phone エミュレータは、x86 版の Windows CE をベースに作られています。これにより電話機の ARM プロセッサをエミュレートする必要がないので、高速に (ときには電話機本体よりも高速に) 動作することができます。
Apollo も似たような仕組みになるとすると、実機では ARM 版の NT カーネル Phone OS が走り、開発環境のエミュレータでは x86 版の NT カーネル Phone OS が走るという仕組みになるのかもしれません。その基盤技術が Hyper-V ということになります。
投稿内容の信憑性は定かではありませんし、大部分はロシア語のため完全には理解できませんが、とくに Apollo の「NT カーネル説」を信奉する人にとっては、かなり納得のいく内容になっているのではないでしょうか。
開発者視点で気になるのは、これまでのアプリが動作するか、そしてこれまでの開発技術が応用できるかという点でしょう。これについては Metro スタイルアプリのように、極力シームレスに移行できるシナリオが用意されると期待したいところです。











徐々に NT カーネル説が現実味を帯びてきたね……