OSって何だ

| コメント(0) | トラックバック(0)
GoogleOSとかWebOSとかの議論を最近よく目にするようになった。最初は「何だそりゃバーカ」としか思ってなかったんだけど、ちょっと考えてみると結構面白いのかも、と思い始めてきた。

UIなフロントエンド(Google DesktopとかYahoo Konfabulatorとか)とHTTPdなバックエンドが通信してクールでアルファギークなアプリができると、それがWindowsを打倒するみたいな、異常に飛躍した話だけ聞くと「バーカ」にしかならない[1]し、「OS」って言葉の響きからすればMySQLのファイルシステムとPerlモジュール+HTTPのAPIとHTMLのUIからなる「はてなOS」のほうがよっぽど近いって話だろう。

Webサービスと呼ぼうがXMLHTTPと呼ぼうがRSSと呼ぼうがフィードと呼ぼうがWeb 2.0と呼ぼうがどうでもいいが、そのあれはアプリケーション間通信インターフェイスなわけで、アプリケーション間通信というのはWindowsのようなFat OSでは目玉機能だ。WindowsにはDDEやCOMがあり、Gnome(はOSか?)にはBonoboがある。

最近じゃアプリケーション間通信は物理ハードウェアをまたがって分散していて、企業システム(の軽いヤツね)はDCOM/COM+やCORBAやJ2EE/RMIで動いている。以前は「ばらばら=分散」と捉えていたものを、今は企業ネットワーク内にあるコンピュータ資源(ハードやネットワークやソフト)を有機的に結合した全体=SOAを考えるという視点の違いはあれ、見ているものは同じで、結局アプリケーション間通信に行き着く。スケールの違いに伴う複雑さの増加はもちろんあるが、WordとExcelが一つのPC内部のバスで通信するのと、IISとMTSが100Base-TXで通信するのとは高度10,000メートルから見れば同じことだ。

「~同じこと」だとすると、KonfabulatorとWeb○☆▼!■◎★がやってるのは、インターネットをはさんだアプリケーション間通信なんだから、インターネットをPC内部のバスに、フロントGUIとバックHTTPdをWordとExcelに置き換えれば、「それ」がOSに見えるって話にもなんだかうなずけそうな気がしてくる[2]。Yahoo!は素直に最大公約数的にXMLHTTPで、Googleはその環境で最善のものを追う(ブラウザならJavascript直、Windows上なら生COM)という違いはあるにせよ[3]、OSにおけるアプリケーション間通信の部分をインターネット上で進めているという点では同志だ。

流行のWeb 2.0がOSにおけるアプリケーション間通信だとすると、そのOSって何のことだ?

考えてみれば、「これがWindows(DOSでもLinuxでも何でもいい)です」って指をさす対象なんて存在しない。指の先にあるのはシェルだったりメモリ内を移動するビットだったりするだけで、OSってこれですっていうモノなんかないんだな。OSってものが持っているいろんな側面を記述して、それでOSを記述したつもりになる[4]けど、「群盲象を評す」ってことだ[5]。ことの本質には至らない。

ということは、GoogleやYahoo!がやっているのはOSを作っていることだ、WebOSばんざーいとかいう議論は、アプリケーション間通信という面を触って得た感触としては遠くないってことだ。

ん、いや待てよ、そうするとGoogleやYahoo!ってしょせんはそのOSの中での一アプリケーションに過ぎなくて、彼ら自身がOSだとか、彼らがOSを作ってるなんてことにはならないよな。だってXMLHTTPとかJSONとかRSSとかって彼らが決めたものじゃないし。OSが持つメモリ管理やタスクスケジューラ機能みたいなのは、インターネットではルータのQoSやIPSecなんかで実現する(のかな?)わけで、GoogleやらYahoo!やらはここいらにはぜんぜん手出しできないよ。

彼らのデータセンター内ではすげーファイルシステムが稼動しているらしいけど、それって上の抽象に当てはめるとWordが自分のデータをあるときはレジストリに、あるときは設定ファイルに書き込みますってことと同じレベルの話なんで、彼らのファイルシステム=インターネットOSのファイルシステムではない。Google検索はインターネットを巨大なファイルシステムに見立ててそこからデータを取り出せるからGoogle検索はOS機能の一部だって議論もあるけど、それってGDSがWindowsマシンのHDDからデータを取り出せるって言ってるのと同じで、GDSはOSの一部ではないんだから、Google検索だってやっぱりOSの一部にはなりえない。エライのはWindowsのファイルシステムAPI(=インターネットのAPIつまりHTTP)であって、GDSはそれを利用する字義通りのアプリケーションでしかない。

じゃあやっぱりWebOSって何なんだ。

...とまあ例によってまとまらないわけでした。ちゃんちゃん。


[1]大体GoogleはAPIをWindowsに頼りっきりだし、KonfabulatorはAppleにパクられた腹いせにWindows版を開発したらYahooがお買い上げしたってわけなんだから。←コメント参照。ご指摘感謝。そのフロントはWindowsに握られているのに、そこを無視して議論してもねぇ、ってことが言いたかった(追記)。
[2]もちろんスケールの違いに伴う複雑さの増加は、「複雑さの増加」なんていうチンケな言葉でかたづけられるような問題ではない。だがこの議論では重要ではないから無視。抽象度を上げれば何でも解決できるっていうアレですよ。
[3]この違いは重要なんじゃないかと思って少し考えてみたんだけど、やっぱ放置することにした。Googleが出している「API」たちを、大それたビジョンにそって関連付けできるとは思えなかったから。単に、Mapsを開発した人はJavascriptグルで、DesktopのほうはWindows専門家だったってだけなんだろうな、きっと。Webサービス好きな人は今はAdSense APIを開発してますってことで、Web APIは放置だし。ぜんぜんビジョンなんか見えない。Google Talkは「業界標準サポート」だって。もう訳わからん。
[4]Personに関するいろんな情報を記述して、それでPersonを記述したように見せかける/思い込むFOAFと同じ。
[5]このことわざの意味は「凡人がいくら集まっても大局は見通せない・ことの本質は見抜けない」ってことで、ここでの使い方は必ずしも意味どおりではありません。文字から浮かぶイメージのほうを見る。


--------

トラックバック(0)

トラックバックURL: http://www.luckypines.com/cgi-bin/mt/bt-tm.cgi/370

コメントする

このブログ記事について

このページは、Fumiaki Yoshimatsuが2005年8月24日 10:20に書いたブログ記事です。

ひとつ前のブログ記事は「PSP+GPS=???」です。

次のブログ記事は「iTunes Music Store Player (のパクリ) for Windows」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。