ASCII.jpではすでに発表会の様子をリポートしたWindows Phone 7だが(関連記事)、その後の取材でいくつか判明したことがあるので続報としてレポートしよう。
ついに使用するカーネルをバージョンアップ
まず、気になるカーネルのバージョンだが、Windows Phone 7では、最新のWindows CE 6ベースのカーネルが採用される予定だ。現行のWindows Mobile 6.xではCE 5ベースのカーネルを採用しており、この点で大きく違っている。
CE 6のカーネルは中身も大きく改良され、アプリケーションが利用できる仮想メモリが大きくなるほか、管理できる物理メモリサイズも拡大する。またI/O処理などで、カーネルモードとユーザーモードの行き来がなくなるため、処理効率が高くなる。
実はCE 5.0ではI/O処理はユーザーモードで行なっていたため、アプリケーションからのAPI呼び出しによるI/Oのアクセスでは、ユーザーモードにあるアプリケーションがAPI呼び出しを行なうと、カーネルモードへ移行、その後I/Oアクセスのためにユーザーモードへ行き、結果を持ってカーネルモードへ帰る。そしてAPIの処理終了とともにまたユーザーモードへ戻るといった経路をたどっていた。
このモードの遷移が従来のWindows Mobileでは大きなオーバーヘッドになっていた。CPU内部のコンテキストをメモリへ保存するなどの手間がかかるからだ。たとえば無線LANで通信する場合、プロセッサーの処理速度によっては、IEEE802.11g本来の速度が出せないといったことが起こっていた。つまり、Windows Phone 7では、メモリ管理などで高速化が期待できるだけでなく、ハードウェア本来の性能を出しやすくなっているのである。
また、マイクロソフトとしてはWindows Phone 7では、CPUやグラフィックスアクセラレータなどの基本的なハードウェアを限定するようだ。ハードウェアを限定することで、ソフトウェアの移植や調整、検証が短期間になり、製品を市場にリリースするまでの時間を短縮できるからだ。また多くのメーカーが同一仕様の部品を使うことでコストを下げられる。これを自動車にたとえ、シャーシ戦略と呼んでいる。同じシャーシを使うがボディを変えることで複数の自動車を作ることができるのと同じというわけだ。
また海外ではXbox 360は成功を収めており、Xbox Liveで同じコンテンツ(ゲーム)が共有できるというのも1つのメリットになるという。ハードウェアパートナーにクアルコムが入っていたことから、プロセッサー自体はSnapdragonのようなクアルコム製になる可能性が高い。またグラフィックスの高速化やメディア機能のハードウェアアシスト(ハードウェアコーデックなど)の必要性を考えると、なんらかのグラフィックスアクセラレータが搭載される可能性がある。
