編集部からのお知らせ
夏季休暇にともない8月9日から8月16日まで本欄休載させていただきます。8月17日から25日までは不定期更新といたしますので、ご了解ください。
[ゲスト] 石黒邦宏 Kunihiro Ishiguro
8月4日(水)〜8月6日(金)までの間、梅田望夫さんの代わりに石黒邦宏さんがゲストブロガーとして登板します。梅田さんの更新は8月17日からになります。石黒さんの前回のゲストブログはこちら。
石黒さんのプロフィール:1993年銀行向け大規模開発プロジェクトのシステム管理者としてキャリアをスタート。1995年にISPへ転職、国内外のインターネットバックボーン構築に携わる。1996年ウェブシステム作成会社へ転職。同年フリーな経路制御ソフトウェアGNU Zebraの開発を開始。1997年、日本ネットワークオペレーターズグループJANOGの設立に関わり初代会長に就任。1999年シリコンバレーにIP Infusionを吉川欣也氏と共同設立、CTOとして技術面のマネージメントにあたっている。 |
7/8月号のACM Queueの特集はヴァーチャルマシーンだ。
私は昔からいろいろなOSを試して見るのが好きなので、こうした話題はたまらない。
いくつか記事があるが、その中からMendel Rosenblumのものを見てみよう。彼は以前からスタンフォードでOSシミュレーターの研究をやっていて、その研究結果を元に自分の教え子と一緒にVMwareを設立した人間である。
ヴァーチャルマシーンとは
「The term virtual machine initially described a 1960s operating system concept: a software abstraction with the looks of a computer system's hardware (real machine). Forty years later, the term encompasses a large range of abstractions―for example, Java virtual machines that don't match an existing real machine.」
まずヴァーチャルマシーンという言葉は、当初 1960年代のOSの概念、つまりリアルなハードウェアを仮想化するソフトウェア層を指していたけど、それから40年たった今では、さまざまなレベルの仮想化を指す言葉として使われるようになった。Javaのヴァーチャルマシーンなんて、それに対応するリアルなハードがあるわけじゃない。
「One way to view the different virtual machine abstractions is as "slices" of the hardware/software stack. A modern computer system is composed of layers, beginning with the hardware and including layers of an operating system and application programs running on top of the operating system (see figure 1). Virtualization software abstracts virtual machines by interposing a layer at various places in the system. Three examples of these virtualization layers include hardware-level virtualization, operating system?level virtualization, and high-level language virtual machines.」
今のコンピューターシステムはOSがあるのはあたりまえで、その上でアプリケーションが動くという構成になっているから、三種類の仮想化レベルが考えられる。ハードウェアレベル、OSレベル、そしてアプリケーションレベルの仮想化である。
「Hardware-level virtualization. Here the virtualization layer sits right on top of the hardware exporting the virtual machine abstraction. Because the virtual machine looks like the hardware, all the software written for it will run in the virtual machine. This is actually the original virtual machine definition from the 1960s, including older technology such as VM/370 on IBM mainframes―as well as VMware virtualization technology on x86-based machines, as illustrated in Figure 2.」
ハードウェアレベルの仮想化は、ソフトウェアに対してハードウェアをそのまま仮想的に見せる技術で、仮想化の対象になっているハードウェアで動くソフトはなんでも動くというものだ。これが実際のところ1960年代からのオリジナルなヴァーチャルマシーンの定義だろう。たとえばIBMのVM/370メインフレームや、VMwareのx86ベースの仮想化技術などがこれに当てはまる。
これ以外にもOperating system level virtualizationとして、FreeBSDのJailの例や、High-level language virtual machinesとして、JavaやSmalltalkを紹介しているが、この記事ではメインのトピックではないので、簡単に触れられているだけだ。
ハードウェアレベル仮想化の復活
「Although hardware-level virtual machines were popular in both the research and commercial marketplace during the 1960s and 1970s, they virtually disappeared during the 1980s and 1990s.」
しかし、60年代や70年代に学術的にも商業的にもポピュラーだった、ハードウェアレベルのヴァーチャルマシーンも80年代と90年代にはほとんど消滅してしまう。
これはコンピュータという言葉が何を指すのかにも関係があるだろう。60年代のコンピューターシステムはホストコンピュータを対象としていたが、80年代以降は、PC を指すようになっていく。
しかし、その当時のPCはヴァーチャルマシーンを可能にするだけのハードウェア性能がなかった。
Mendel Rosenblumは1998年にVMwareを設立したわけだが、PCの性能向上に対する確信と、それがハードウェアレベルのヴァーチャルマシーンの復活を可能にするのだというビジョンがあったことだろう。
「One consequence of Moore's law of semiconductor growth has been the exponential increase in the performance of computing systems. The overhead of a well-tuned hardware virtualization system is extremely small compared with the performance increase.」
ムーアの法則によりPCの性能は指数的に伸びた。その結果として、ハードウェアの仮想化にかかるオーバーヘッドは非常に小さなものとなった。その結果、実用的な速度でWindows XPベースのホストでLinuxを動かしたり、逆にMac OS XのホストでWindows XPを動かしたりできるようになったわけだ。ハードウェアレベル仮想化の復活である。
このページではバージョンも個別にカウントするとなんと60種類以上のOSをMac OS X上のVirtual PC で動かしたスクリーンショットが紹介されている。実用的な意味では疑問が残るがOSマニアのハートを直撃すること請け合いだ。
ハードウェアの性能向上が変えるランドスケープ
こうして歴史を振返ってみると、ハードウェアの性能向上というのは単に性能が上がると言うだけじゃなく、これまで見えなかったランドスケープを見せてくれることが良くわかる。まさか携帯で、Javaベースのドラゴンクエストが動くなんてとても想像はできなかったし、ハードディスクのクラッシュにおびえながら、20M(ギガではない)のディスクを使っていた頃にはiPodのように携帯の音楽端末にハードディスクを入れて持ち運ぶようになるとは思いもよらなかった。今や私は、PowerBook G4にYellow Dog Linuxを入れて仕事をしているが、Mac-On-LinuxでMac OS XをLinux上に立ち上げてiTunesで音楽を聞いている。まぁそれに何の意味があるのかと聞かれると困ってしまうけれど。
※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
コンテンツ市場14兆円の中身と行方
原宿で野宿を含む15時間 - iPhone行列完全ドキュメント
まず10年間は泥のように働け3
「VirtualBox 2.0.0」、Mac OS X版におけるインターフェイスの改善 etc...
「あなたとは違うんです」首相の存在感
我が家のD4もようやく機能強化に旅立ちます
iPhoneの「手書き入力」を試してみた
火災報知機と情報伝達(意見募集、 2008 年秋)
Joomla CMSに投票しよう!
Google Chrome Parallelsでも爽快です。みんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
サーバ仮想化・グリーン化の利点を最大化!CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
今週の新製品総チェック:ノート、デスクトップ、UMPCまでPC秋モデルが続々
今週の新製品総チェック:薄さ13.9mmのサイバーショット登場!NEC「LaVie」はデザインモデルが
VMwareでZebraやZebOSを動かしてVR(Virtual Router)ってができたらなと思いました。ひょっとして既にできるのかな。ライセンス代はVMの数依存かなぁ?