Florian's most newest Diary

ふろりあんの再最新日記

WOAのはなし

妄想してみる。

Windows On ARM(以下WOA)が普通の携帯電話に乗るという未来がWindowsPhone8から来るらしい。今となっては、WindowsCEベースである必要はあまりないわけで、だったらWindowsNTベースのOSの方がエレガントに各種問題を解決できると思う。WindowsCE6もがんばってはいた(らしい。WindowsPhone7)けど、カーネル的には無理にサブセットにするよりも同時起動するサービスを減らしてシンプルな作りのOSにした方が何かと都合はいいはず。

WOAと一般のWindowsVista/7/8のライン(要はWindowsNT系列)は大きくは違わなくて、もしドライバレベルで対応するのであればネイティブコードとWinRT、アプリレベルでマネージドコードとWinRTで対応するだろうと思われる。WOAはネイティブがx86じゃなくなるので、再コンパイルその他が必要になる……けど、それ以前にx86独自のOUTポートやIRQの考え方が異なるので再コンパイル以前に設計変更がいるだろうな、たぶん。

アプリ自体はネイティブコードで配布されることはほとんど無いはず。少なくともMETRO UI(WOAはこっちを重点的にサポートするっぽい)の上ではアプリはマネージドコードで作られ、Microsoftのアプリストアからダウンロード配信されるビジネスモデルになると思う。今の.Net Frameworkは実行されるアーキティクチャは決めうちだけど(そう! Javaみたいな中間コード形式のくせにアーキティクチャ決めうちという変な仕様)x86上のWindowsWOAで同じアプリが配信されるように新しいマネージドコードが生まれると思われる。入出力はWinRT経由じゃないと全く行えず、その代わり.Net Framework4.0(UI関連だけ取り出してWPFともいう)よりももうちょっと深くシステムをさわれるような感じになるんじゃ無かろうか(実はWinRTSDKまだ見てないの)

少なくとも、アプリ自体はクラウドから動的にダウンロードされ、アプリのセーブデータ(つまりこれは既存Windowsにおける「ドキュメント」そのもの)もクラウドに保管される感じで。少なくとも、x86WindowsWindowsPhone8やタブレットなどのWOAで共有できるようになるんじゃないかと。ネットワークにつながっていないときにはアプリ内から作ったデータは一次キャッシュにためておいてネットワークがアクティブになったとき一気にシンクをかけるくらいの感じ。

少なくともビューワくらいはHTML5JavaScript上で実装されて他のOSの上からでも見るくらいはできるんじゃないかな。書き換えができるのかはともかく。

あと、プリインストールされるアプリにたぶん新バージョンのWindowsMediaPlayerが載るはず。これもデータはクラウド上だけに置いておくタイプのもので、CDからのリッピングができるかどうかはちょっと微妙。その代わりWindowsのアプリマーケットと同様の音楽マーケットがiTunes Storeよろしくついてくると。

こうしてみていると、UbuntuUbuntu Oneでやろうとしている(で、いまいちうまくいってない)ことと、AppleiTunesを中心にいろいろやっていることと、WindowsにおけるMicrosoftの取り組みはよく似ている。

Microsoftは自分のところにいろいろロックインさせた上で安全でなるべくオープンになるようにストアとかを作ってくるんじゃないか……というのは、今更いうまでもないこと。

ただ、これを進めていくと、x86PCが必ずしも必要ではないということになってくる。たとえばサブノートを実行させるに当たって、今のAndroid搭載サブノート(DynabookAZとか)みたいなのとかハンドヘルドPC(NetWalker……というと縁起が悪いのでPomeraとしておこう)みたいなのがフルスペックのPC体験を実現してくれるならx86でなくても別にいいだろうと。なにせ、x86はもっとも省電力なAtomZのディープスリープを駆使しても結構電池が持たないことはWillcom D4F-06Cの実験でも(実験いうな)わかっているので、ここがWOAになるだけですごく長く持つようになればめっけもんって感じ。

もっとも、x86よりもARMの方が「原理上は」消費電力は少ないけど、WOAが既存のWindowsと同じだけの割り込みをかけてSleepさせないで使うと電池の持ちは悪くなる可能性は大いにある。まだ見ぬWOAだけが解決策ではないわけだ。WOAの方が可能性はある、というぐらいで。

OSの作りで電池の持ちがそんなに変わるのかという疑問を持つ向きには「かなり変わる」と答えたい。少なくともAtomZで採用されているC6ステートのような「一定時間以上HALTが続くと発動する」省電力機構を有効に生かすためにはOS側の細工がどうしても必要。もしそうじゃなくてもCPU HALTの稼働時間に対する割合を増やすだけでも結構差が出るはず。Linuxの方が電池の持ちがよくなりやすい(必ず持つわけではない)のはWindowsよりもより少ない割り込みで動作できるからだし、Linuxはそういう意味では省電力の細工がしやすい。

WOAWindowsCEの大きな差は実はそこじゃないかと思っている。WindowsCEはサービスらしいサービスを動かすことができなかった(プロセス数の上限がサービスのようなものの存在を否定していた)WOAでサービスを動かすことができるようになってしまって、デスクトップ(x86)Windowsと同様に際限なくサービスを動かすとWindowsPhone7でせっかく生きていた電池の持ち時間が元の木阿弥になるんじゃないかと。さすがにMicrosoftも実際の性能を見て定めてくるだろうから、WOAがそこまで使えないものになるとは思えないけど、一応危惧だけ持っておく。

ともあれ、Windows8と同時に出るだろうWOAの端末がどういう形状で、どういう機能を持っているのかはちょっと見定めたい。というか、試しにほしい。誰か下さい(ぉ。