山田祥平のRe:config.sys

OSの領域




 Vistaは重いというけれど、それは本当なんだろうか。どんなにシンプルなOSでも、厚化粧すれば重くなる。そんなの当たり前だ。どこからどこまでをOSと呼べばよいのか。デスクトップはOSなのか、ブラウザはどうなのか。

●エクスプローラを殺してもAeroは死なない

 MS-DOSの時代は話がわかりやすかった。ブートに際しては隠しシステムファイルであるio.sysとmsdos.sys、そして、command.comがあればそれでよかった。command.comはシェルだが、単なるプログラムだ。ユーザーはそれを任意のプログラムに置き換えてもよかった。また、特別なデバイスを制御しなければならない場合は、config.sysにデバイスドライバ組み込みの指示を書き込み、ドライバのファイルを用意して起動時に組み込めばそれでよかった。

 command.comは、コマンドインタプリタで、ユーザーが入力した呪文としてのコマンドを実行する役割を果たしていた。コマンドには外部コマンドと内部コマンドがあり、command.com自身が知っていて、その実行に他のプログラムを必要としないものが内部コマンドと呼ばれ、それ以外は外部コマンドと呼ばれていた。サードベンダーやユーザー自身が開発したプログラムは、アプリケーションと呼ばれることが多かったが、結局のところ外部コマンドと何も変わらない。最初からついてくるか、あとから追加するかの違いにすぎない。つまり、MS-DOSというOSは、カーネルと、コマンドインタプリタ、そしてプログラムに階層化することができた。

 今、Windowsの起動プロセスを見ていると、それはもう複雑怪奇で、モニタの向こう側でいったい何が起こっているのかを想像するのは難しい。

 Windowsにとってのデスクトップは、MS-DOS時代のcommand.com同様の役割を果たすシェルで、その実体はエクスプローラだ。そして、スタートメニューに用意された各種のプログラムは外部コマンドということになる。

 試しに、タスクマネージャを使ってexplorer.exeのプロセスを殺してみるといい。タスクバーは消え、スタートボタンも見えなくなる。ユーザーはWindowsに対して対話的GUIで何かを頼むすべをなくしてしまうのだ。だが、explorer.exeを再起動してやると、何事もなかったかのようにタスクバーが再表示され、スタートボタンも現れる。タスクマネージャの実体はtaskmgr.exeで、考えようによってはこれが影のシェルであるといってもいいかもしれない。エクスプローラを殺しても、Ctrl+Alt+Del経由で呼び出せるからだ。その気になれば、タスクマネージャにプログラムのファイル名を入力しての実行を繰り返しながらWindowsを使うこともできる。

 たとえば、ワープロソフトであるMicrosoft Wordの実体はwinword.exeなので、手でwinwordと入力して新しいタスクを起動すればWordのウィンドウが開く。excelだって同じだ。そして、WordとExcelの間では、クリップボードを介してデータのやりとりもできる。タスクの切り替えは当然タスクマネージャを使うが、Alt+TabやWin+Tabでも切り替わる。ということは、タスクの切り替えはシェルの仕事じゃないということか。

 こうして考えると、Windowsをtaskmgr.exeをシェルにして使えばエクスプローラはいらないということになる。あるいは、cmd.exeをシェルにしてもいい。もっとも、今さら、そんな原始的なシェルでパソコンを使う気にはなれないが、なくてもなんとかなるということがわかる。

 たまたまデフォルトのシェルがエクスプローラであるだけで、方法としてはレジストリデータベースを書き換えるだけだ。taskmgr.exeをシェルにしてもいいし、IEをシェルにしたっていい。

 ただ、エクスプローラを殺してしまっても、開くウィンドウのタイトルバーは半透明だ。すなわちAeroは死んでいない。だから、重さという点で変わりはないだろう。そして、裏で動いているさまざまなタスクもそのままだ。

●エクスプローラに代わるシェルの可能性

 Microsoftは、OSの開発チームとアプリケーションの開発チームは完全に分離されていて、Micorosft自身がWindows用のアプリケーションを開発する際、サードベンダーよりも有利になることはないと主張する。確かに、OSのオマケとしてついてくるアプリケーションにはセンスがない。いや、センスというか、特別な作法を主張せず、できるだけ抑制したストイックな印象さえ受ける。

 たとえば、エクスプローラでピクチャフォルダ内の写真を表示してみよう。今どきの写真用アプリケーションは、ほとんどすべてがEXIFの回転情報を理解し、撮影時のカメラの向きを判断し、サムネール表示やファイルの表示に際して、適切な方向に写真を回転させる。だが、エクスプローラはそれをしない。縦位置の写真は横に寝たままだ。まるで、それはOSの仕事ではないと主張しているかのようだ。大いなる勘違いかもしれないが、ぼくは、Microsoftのこうした頑なな態度が嫌いではない。OS付属のアプリケーションはサンプルに過ぎず、OSだけですべてを完結すべきではないというポリシーを、きちんと訴えているからだ。つまり、中途半端にしておくことで、第三者のビジネスチャンスを確保する。ただ、その中途半端で満足してしまうエンドユーザーが少なくないことも確かだ。

 こういうことを考えていくと、今後、あるタイミングで、エクスプローラに代わる新たなシェルを提供するベンダーが現れても不思議ではない。Microsoftがそれを歓迎するかどうかは別としても、それができる構造になっているし、それができないようにする動きもない。そして、その新たなシェルが、特定のOSに依存せず、マルチプラットフォームに対応したものであったらどうか。

●OSの領域を再定義する時期に来ている

 アドビがAIR 1.1を発表し、新たなアプリケーションの実行環境が整いつつある。Ajaxなどで作成されたアプリケーションがブラウザのウィンドウ内に閉じて、その制限を強く受けるのに対してAIRの自由度は高い。そして、一度プログラムを書けば、あらゆる環境でそれが動く。こうしたトレンドを見ていると、もう、OSの時代でもないのかなとも思うのだ。

 もし、Microsoftが次のWindowsのリリースに際して、カーネルとシェルを分離するようなことがあったらおもしろいことになりそうだ。 カーネルは共通で、ビジネス用のシェルとパーソナル用のシェルを用意するのだ。PCベンダーは、両方をプリインストールして出荷、ユーザーがどちらかのシェルを選ぶ。あるいはどちらのシェルでもなく、別の環境を選ぶことができてもいいかもしれない。ちょうど、Mac OSがUNIXの上に構築されているようにだ。

 ただ、OSの役割は、単にファイルシステムとAPIの提供だけではない。OSとGUIが一体化してしまっている今は、操作環境を統一し、複数のアプリケーションを往来するユーザーの混乱を招かないように、一定のガイドラインを提供するのも重要な仕事だ。どんなプログラムのウィンドウも、右上には閉じるボタンがありタイトルバーをダブルクリックすれば最大化するといった具合だ。

 ただ、そのガイドラインも、ちょっとずつ無視されるようになってきている。たとえば、IE7やエクスプローラのウィンドウにはデフォルトではメニューバーが表示されないし、iTunesはタイトルバーにメニューバーが同居している。OfficeはOfficeでリボンのGUIにご執心だ。

 ユーザー側も、そういうことを気にしなくなってきているのかもしれない。ブラウザ内で実現されるGUIが本当にまちまちなので、ネイティブアプリケーションのGUI作法が違っていても混乱しないのだ。だから、MacのアプリがWindowsっぽくなり、WindowsのアプリがMacっぽくなったりもする。

 パーソナルコンピューティングの世界のGUIは、Mac、Winとは関係なく、気がつけばアドビが仕切っていたということになってもおかしくない。逆に、エクスプローラがLinux上で動くことだってあるかもしれない。OSの領域は、どこからどこまでなのか。それを再定義する時期にきているのではないか。

□Adobe Air
http://www.adobe.com/jp/products/air/

バックナンバー

(2008年6月20日)

[Reported by 山田祥平]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2008 Impress Watch Corporation, an Impress Group company. All rights reserved.