元麻布春男の週刊PCホットライン

Vista時代の仮想化技術の有用性




●仮想化技術のメリット、デメリット

 以前、チラリと触れたように、将来のOSで仮想化の技術が大きな比重を占めるようになることはまず間違いない。現在、仮想化の利用が進んでいるのはサーバーで、1台のハードウェアに複数の論理サーバーを構築し、コストダウンを図ったり、フェイルセーフを実現したりといった用途に用いられている。が、いずれはクライアント分野でも広く使われることになるだろう。

 現時点において、クライアント分野で仮想化技術が最も使われているのはIntel Macであろう。それは、Mac OS Xという、市場シェア的にはマイノリティに属するOSで、WindowsというマジョリティOSのみに対応したアプリケーションが利用可能になる、というメリットが大きいからだ。しかし、その逆、Windows上でMac OS Xを利用することは、ライセンスの上で認められていないし、仮に可能だったとしても多くのユーザーは、そのためのコストに見合うだけの魅力を感じないかもしれない。アプリケーションの種類やバリエーションという点で、Windowsがはるかに優位であることは間違いないからだ。

Mac用仮想ソフトのVMWare Fusion(左)とParallels Desktop for Mac(右)

 Windows上の仮想環境でWindowsを動かすということにも、全くメリットがないわけではない。仮想環境を用いて強化したセキュリティは、大企業や官公庁にとって魅力かもしれない。ブレードPCのように、センター集中型のハードウェアで、クライアントPCを集中管理する運用も、利用形態によっては有効だろう。

 しかし、量販店でPCを購入するような一般ユーザーにとって、今のところ仮想化は、わざわざPCを遅くする行為に等しい。仮想環境で動作するWindowsの性能が、ハードウェアの上で直接動作するWindowsの性能を上回ることはあり得ない。にもかかわらず、将来はクライアントPCにおいても仮想化技術が広く使われるようになると考えるのは、将来的にこの技術が、すべての人に価値をもたらすと考えるからだ。ここで言う「すべての人」とは、ユーザー、業界、そしてMicrosoft自身のすべてを指す。

●下位互換性の実現度と仮想化

 Windows Vistaでしばしば批判されるポイントの1つは、既存のアプリケーションやドライバに対する互換性である。強化されたセキュリティ、ユーザーモードに移されたデバイスドライバ、新しいスクリーン描画モデルの採用など、Vistaで加えられた変更は、互換性の問題を生じさせた。しかし、改良のため変更を加えたのであれば、互換性の問題が生じることはある程度避けられない。どこかを変えた以上、今までと違う動作になるのは必然であるからだ。そういう意味でIntelのTick-Tock(チックタック)モデルにあてはめると、VistaはTockのOS(マイクロアーキテクチャを更新する番)ではないかという気がする。

 Vistaの問題は、失った互換性に見合うだけの利点があるのか、ということだ。Vistaがさまざまな変更を加えたのは、言うまでもなくより良いWindowsを築くためである。しかし、現時点でのVistaは、将来的に良くするための基盤が用意されつつあるものの、それが具体的なユーザーメリットとして顕在化していない。変更は加えたものの、それによる利点の提供は先送りされている状況だ(地デジの標準対応なども、その一例に過ぎない)。

 だが、大ベストセラーとなり、ある意味社会を変えたとまで考えられるWindows 95も、決して互換性の面で評価が高いOSではなかった。Windows 3.x時代のドライバやアプリケーションは使えなかったり、使えても大きな制約が課せられた。それでもWindows 95が支持されたのは、失うものより引き替えにもたらされるものの方が大きかったからだ。ネットワーク機能やプラグ&プレイなど、Windows 95で本格的な利用が始まった技術は少なくない。

 それから10年以上が経過した今、互換性を失う痛みを忘れさせてくれるほどの新技術を見つけるのはたやすいことではない。極論かもしれないが、ブラウザさえ動けばOSなんかなんでもいい、とさえ言われる時代なのだ。Microsoftは数年に1度、新しいWindowsをリリースすることを求められているわけだが、100%の互換性と新機能を両立させることは極めて難しい。改善のために内部を変更すれば、必ず互換性は低下する。低下した互換性を補償できる新機能はなかなか見つからない。

 このジレンマを解消する技術として期待されているのが仮想化である。古いOS環境を必要とするアプリケーションは、仮想マシンの中でそれをサポートした環境ごと実行してしまえばいい。そして新しい機能は、別の仮想環境で実現する。これなら新しい機能、変更されたアーキテクチャと、既存ソフトウェア資産との互換性が両立できる。

 ただし、単純に新しいOSに仮想マシンを用意して古いOSをそこで実行する、という方法にはならないだろう。1つのOSの元、2つの環境は統合された形で提供するようにしないと、分離することを要求されたり、他社へのライセンスを求められることになりかねないからだ。

●パフォーマンスアップが普及の鍵

 残る問題は、仮想環境でのパフォーマンス、特にディスプレイデバイスの性能低下をどうやって食い止めるか、ということだ。Vistaで導入されたデスクトップコンポジションや、シェーダーの汎用化を進めるDirectX 10の方向性は、複数のアプリケーション、さらには複数の仮想環境でのディスプレイデバイス共有を容易にするものだと思う。この点からも、Vistaあるいはその後継となるOSが、将来登場するであろう仮想化技術を用いたOSにおいて、既存のソフトウェア資産を継承する基盤になるのではないかという気がする。MicrosoftはVistaを今後10年間の基盤、と称しているが、このシナリオならそれもあながちウソにはならない。

 問題は、Windowsのアプリケーションでも性能に対する要求が極めて高いものをどうするか、ということだ。SLIやマルチGPUなど、3Dゲームの性能に対する要求の高さを思えば、共有を可能にするだけではユーザーの期待に応えるのは難しい。たとえば、仮想環境がフルスクリーンで実行されているかどうかを検知して、フルスクリーン状態では1つの仮想環境ディスプレイデバイスを完全に占有可能にする、といった工夫も必要になるだろう。

 サーバーOSは、このディスプレイデバイスをどう共有するか、という問題がないだけ仮想化技術を応用しやすく、その適用という点でクライアントOSに先行している。そのサーバーOSにおいても、Windows Server 2008でHyper-Vを標準搭載できなかったことを考えれば、Windows 7が仮想化技術をベースにしたものになるとは思いにくい。Windows 7はTickなOS、Vistaを改善したものになるだろう。過去を振り返っても、TickなOSとTockなOSが存在した。Windows 95がTockだとすれば、Windows 95 OSR2、Windows 98、Windows 98 SE、Windows MeはTickと考えられる。Windows 2000がTockであるなら、Windows XPはTickだと思う。製造プロセスという要素の絡む半導体と違って、TickとTockが交互に繰り返されるわけではないが、OSにもTickとTockのサイクルはある。

 ちょっと話が脱線したが、仮想化技術を使うことでMicrosoftは新機能と互換性の両立を図ることが可能になる。これがMicrosoftにとってのメリットだ。PC業界にとってのメリットは、仮想化技術の利用がPCの買い換えを促す可能性があること、仮想化技術がハードウェアリソースをたくさん必要とすることだろう。今も市販のPCのうち、ローエンドの製品は仮想化支援機能を持たないCPUが使われている。仮想化の支援が重要な機能と見なされるようになれば、PCの世代が大きく更新されるかもしれない。また仮想マシンは立ち上げた時点で(アプリケーションやデータ量と関係なく)、割り当てた分だけメモリを消費する。仮想マシン間はプロセスの依存性がほとんどないから、マルチコア向きでもある。

 ユーザーにとってのメリットは既存のソフトウェア資産を維持したままで、新しいソフトウェアを利用することが可能になること、そして利用法によっては高いセキュリティを確保できることだろう。もちろん、新しい機能があっても、それを活かしたアプリケーションがなければどうにもならないのだが、こればかりはOSの責任ばかりを問うことはできない。いずれにしても仮想化技術は、閉塞感のあるOSに新たなブレークスルーをもたらす可能性を持つ技術の1つだと考えられているわけだ。

□関連記事
【1月7日】【元麻布】Vista登場の翌年に見る次期Windowsの夢
http://pc.watch.impress.co.jp/docs/2008/0107/hot523.htm
【2007年7月30日】急浮上した次期OS「Windows 7」−いま語られることの意味(Enterprise)
http://enterprise.watch.impress.co.jp/cda/infostand/2007/07/30/10850.html
【2007年4月13日】【元麻布】BootCampパーティションをそのまま使える「VMware Fusion ベータ3」を試す
http://pc.watch.impress.co.jp/docs/2007/0413/hot477.htm

バックナンバー

(2008年1月15日)

[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.