TOP
連載一覧
@IT Special
セミナー
eBook
ブログ
アットマーク・アイティ ITエキスパートのための問題解決メディア
Loading
@IT総合トップ > 真実のアジュール体験記BLOG > 川俣晶のWindows Azureレボリューション > 第1回
@ITspecial
Tweet
このエントリーをはてなブックマークに追加

pr

川俣晶のオピニオン・ブログ ☆ Windows Azureレボリューション
第1回 なぜAzureは新OSなのか
2011/05/19

    前置き  

Tweet
  Windows Azureの実体はWindows Server 2008 R2の仮想マシンである。

 では、Windows Server 2008 R2と仮想マシンを理解しているならWindows Azureも使いこなせるのかといえば、そういう事実はまったくない。

 なぜだろうか。

 これは、Windows Azureが実際には新OSであり、新OSは思想を理解せずには使いこなせないことを意味する。たとえ、基本的な基盤として既知の技術が使われていても、理解はできない。新OSとはそういうものである。

 ここでは、そういう話をしてみよう。

 これは、筆者のところではもはやLinuxが稼働しているマシンが1台も存在しないことと、Windows Azureを本命として取り組んでいる理由の説明にもなるはずである。

    OSの本質は思想に宿る  

 かつて自分で開発したMINI-DOSの話をしようかと思ったが、恐らく状況を理解できる人は極めて少ないと思われるので横に置こう。ここでは涙を飲んで、Windows 3.1とそれ以前のWindowsを例題にしてOSについて語ってみよう。

 こう書くと年配の事情通の人が即座に笑うだろう。

 「当時のWindowsはOSではなく、MS-DOSのグラフィック・ライブラリでしかない。それをOSとして語るとはおかしい」

 これは典型的な都市伝説であり、トンデモの一種でしかない。よく事実を調べないで耳に心地よい風説を信じ込んだ、いわゆる「トンデモのビリーバー」である。本人はWindowsを笑っているつもりであるが、実際に笑われているのは本人の方である。

 では、実際はどうなのだろうか。

 当時のWindowsが独り立ちしたOSではない、という指摘は事実である。実際に、MS-DOSという別のOS上で起動することが要求されていた。しかし、起動後にファイル・システム以外のほとんどすべてを乗っ取ってしまい、自前で用意したシステム管理機構がシステムのほぼすべてを管理してしまうのである。プロセスやメモリまで、すべて自前で管理を行う。これをただのグラフィック・ライブラリでしかないと言い切るのはさすがに無理がある。

 無理があるが、独り立ちしたOSではないので、あえてOE(Operating Environment)という用語が開発されたこともある。

 しかし、現在の筆者はこの時代のWindowsを、OSと呼んでもよいのではないかと思っている。「独り立ちしたOSではない」のは事実だが、それを即座に「OSではない」と言い切るのも適切ではないような気がしている。むしろ、積極的に「独り立ちしていないOS」と呼んでよいのではないか、と思う。それはなぜかといえば、Windowsの思想を理解しない限り、Windowsは使えないからだ。いくらMS-DOSを理解していても、その知識では使うことはできないからである。

 問題は、この「基本構成要素を理解していても使用できない」という状況をどう考えるかである。

 筆者はその根拠を「思想の追加」であると考える。新しい思想が追加されてしまえば、基本構成要素をどれほど理解していても使用することはできない。

 このことを逆に見てみよう。

 OSとは「思想」を体現するために開発されるものであり、全体がその思想のために新規開発されることが理想的である。しかし、しばしばそれはさまざまな理由で不可能であり、既存のソフトウェアを組み込んで便利に利用することもある。それは必ずしも否定されるものではない。しかし組み込まれた部品をいくら理解してもそのOSを使いこなすことはできない。思想が欠けているからである。

    OSとはそもそも何だろう?  

 多くの人が誤解しているが、OSというソフトウェアは技術的な意味でそれほど難しくもないし、高度でもない。OSを作ったからといって、その人物が天才というわけでもない。なぜそう言い切れるのかといえば、8bit CPUの時代には筆者もOSを自作しているからである。すでに名前が出た「MINI-DOS」である。

 ちなみに、1980年代にTRONという構想があり、日の丸OSとしてもてはやされたのも典型的なこの種の錯覚が遠因にあるのだろう。日本人でOSを作れる人材はTRON関係者に限定されることは何もない。あちこちに、それだけの能力を持った人材はいるだろう。彼らの能力を比較して、本当にTRONが日本を代表すると見なされたのかあまり明確には見えてこない。むしろ、「あんなものが日本代表になるとは、何かがおかしい」と思って見ていた人もけっこういるのではないかと思う。

 さて、それにもかかわらず本格的にOSを自作している人の数は極めて少ない。実験的な実装の範囲を超えて、広範囲に普及するようなOSを作り、世界の秩序に対抗していこうとする人はとても少ない。なぜだろうか。

 それは、OSを自作できるほどに理解している人であればあるほど、「OSの自作には意味がない」ことをよく分かっているからではないかと思う。

 なぜ、OSの自作には意味がないのだろうか。

 OSとは、要するにデバイス・ドライバやアプリケーション・ソフトのための共通基盤である。共通基盤である以上、OSを作っただけでは何の意味も持たない。デバイス・ドライバやアプリケーション・ソフトがそろってこそ意味を持つのである。しかし、そのレベルまで行くと個人の熱意だけでは解決できない規模の壁が立ちはだかってしまう。

 多少の不満には目をつぶり、誰もが使っているOS向けにアプリケーションやドライバを書く方が実際には役に立つ。それこそ、例えば「コピーを行う際、転送元と転送先のどちらを先に書くのか、についての流儀が気に入らない」といったささいな問題であれば、順番を入れ替えて呼び出すコードを書いて対処するのが正しく、自作OSで対抗するのはあまりにも無駄が多く、実際には実行できない方策である。いや、コードさえ実際は必要ない。そのOSの流儀に合わせてしまう方が楽であるとすらいえる。

 だから、OSについての見識があればあるほど、OSは自作しないのだろう、と思う。思うだけで本当かどうかは知らないが。それ故に、あえて自作する者は目立つ。目立つが、たいていの場合それはセンスがないことを告白しているようなものである。

    あえてOSを作るのは  

 では、「センスがあればOSの自作をしない」のが事実であれば、それでもあえてOSを作るのはどういうときだろうか。いくつか事例を考えてみた。

(1)何らかの理由で既存の実装が利用しにくいとき(クローンOS)
(2)既存環境との互換性を高めたいとき
(3)新しい思想を表現したいとき

 (1)の典型的な事例は、Linuxであろう。UNIXという研究用OSがライセンスの問題で揺れたとき、タイミングよく供給されて多くのUNIX利用者が乗り換えた。しかし、この事例は実装の問題であって、思想の問題ではない。

 (2)の典型的な事例は、「Windows」の名を冠したOSのシリーズ(Windows 7/Windows Phone/Windows Embedded/Windows Azureなど)だろう。OSがシリーズ化され、異なるOSであってもAPIの名前や使い方が同じであれば、容易に別の対象に向けてコードを書くことができる。この事例に思想はないように思えるが必ずしもそうではない。実は、異なる対象に同じAPIを提供するにはかえって強い思想性を持たねばならない。

 さて、最大の問題は最後の(3)である。すでに見たWindowsの事例はまさにこれに当たる。MS-DOSとは違う思想を表現するためにWindowsが作られたわけである。ちなみに、「WindowsなどMac OS(厳密には旧来の名前である「Macintosh」)の猿まねであって思想などない」と笑う人もけっこう多いだろう。しかし、この話もかなり怪しい都市伝説臭いのだが本論ではないので横に置こう。信じたいことを信じているトンデモさんの相手をするのは、たいてい徒労だからである。

 さて、このように考えたとき、「Windows Azure」という存在の本質が見えてくる。Windows Azureは既存のWindows Server OSと、仮想化技術の上に構築されている。しかし、濃厚な独自の思想性があり、いくらWindows Server OSと仮想化技術を熟知していても利用することはできない。筆者はこの思想性を取ったのである。

 一方で、Linuxは筆者にとってすでに存在そのものを忘れかけた過去のものである。なぜかといえば、UNIXのクローンOSでしかないLinuxには思想がないからだ。Linuxに存在する思想とは、実際にはUNIXの思想でしかないが、1969年生まれのUNIXの思想とは肥大化しすぎたMulticsへのアンチテーゼであり、そもそもMulticsが使用されていないいまとなってはあまり意味を持つものではない。つまり、思想としては古すぎ面白くないわけである。

    まとめ  

 Windows Azureには思想があるが故に、実体がWindows Serverであることにほとんど意味はない。実装の都合で選択されているにすぎないと見なせる。

 厳密な計算機科学の定義に反してあえていおう。

 OSとは思想である。

 なぜ言い切るのか?
 その方が面白いからである。

 なぜ面白いのか?
 違う用途を切り開ける可能性があるからだ。

 クローンOSの開発は、OSを作ったのではなくOSを実装しただけである。
 Azureの開発は、OSを実装はしていないかもしれないが、OSを作ったといえるかもしれない。
  だから、クローンOSは面白さでAzureに負けてしまうのである。



インデックス
  川俣晶のオピニオン・ブログ
 ☆ Windows Azureレボリューション トップ ページ
第1回 なぜAzureは新OSなのか
第2回 Azureと疎結合分散処理
第3回 Azureとパラダイムシフト
 

 

提供:日本マイクロソフト株式会社
企画:アイティメディア営業企画/ 制作:デジタル・アドバンテージ
掲載内容有効期限:2011年7月15日


川俣 晶
川俣 晶
1964年東京生まれのオリンピック・ベイビー。初期のWindowsの日本語化に従事した後に独立。現在、C#の専門家。Visual C# MVP、Windows Azure大好き。プライベートでは、ドボク系趣味。暗渠とTEPCOマンホール探索家。代表著書『C#ショートコードプログラミング』(日経BP)



マイクロソフトによるWindows Azure 情報
Windows Azure Platform 情報
マイクロソフトのクラウド・プラットフォーム、Windows Azure に関するページです。
Windows Azure Platform デベロッパーセンター
Windows Azure Platform 開発者向けの技術情報を発信しているページです。
Windows Azure Platform無料パス
東北地方太平洋沖地震 対策用にWindows Azure Platformを無料で活用できます。
Windows Azure Platformポータル・サイト
Windows Azure Platformを利用するためのポータル・サイトです。
クラウド ガール -窓と雲と碧い空-
「クラウディア」という金髪美女キャラクターによるWindows Azure Platform解説のマンガです。

@IT内のWindows Azure 関連情報
特集:Windows Azure SDK 1.3の新機能
2010年11月29日にアップデートされたWindows AzureのSDK 1.3の内容を解説する記事です。
書籍転載:Windows Azureクラウド・プログラミング
書籍『Windows Azure 実践クラウド・プログラミング』から、Azure AppFabricによるオンプレミス−クラウド連携やPHPによるWindows Azureアプリケーション開発の章を転載しています。
.NET中心会議議事録:現場視点の「Windows Azure業務アプリ開発の実際」
イベント「.NET中心会議議」のパネルディスカッションから、業務アプリでのWindows Azure活用に関する現場開発者の意見をまとめた記事です。
業務システムでAzureを使うための42の覚え書き
実際に業務システムを開発した筆者が書きためた、Windows Azure開発の覚え書きをまとめた記事です。
.NET未来展望台
クラウドとWindows Azure Platformに関する情報をお伝えしていた特設コーナーです(2008年10月〜2010年1月。現在は更新なし)。

外部サイトのWindows Azure 関連情報
Japan Windows Azure User Group(JAZ)
Windows Azure Platformに関する情報交換を行っているユーザー・コミュニティです。

@ITトップ|@IT Special インデックス|会議室|利用規約|プライバシーポリシー|サイトマップ


Copyright © ITmedia, Inc. All Rights Reserved.