GPLのオープンソースVM(?)「Xen」 36
ストーリー by wakatono
VMマニアは要チェック 部門より
VMマニアは要チェック 部門より
yosshy 曰く、 "少し前の話になりますが、LKML でオープンソースのバーチャルマシン Xen が話題になっていたので紹介します。このソフトウェア、性能は VMware より優れているらしく、Linux 2.4 をゲストOSとして動かした際の性能比較を見ると性能的にはほとんど劣化してない事が分かります。
ただ、「ゲスト OS の移植が必要」と書かれている事から、どーやらそのままの OS では動作しない(=完全なPC/ATエミュレータではない)ようですが…諸兄の感想は如何に?"
追記 18:51 UTC by O: VMWareやBochsのようなホストOSの上でゲストOSを動かすエミュレータではなく、ハードウェアを仮想的に分割して複数のゲストOSに提供する、メインフレームで使われているタイプのVMだ。
デモ CD ゲトー (スコア:5, 興味深い)
Domain 0(第一 VM のこと、全体のコントローラになるらしい)しか
使ってませんが。
えー、めちゃめちゃ普通の Linux です (^-^;
見た目上はディスクはそのまま、本体についている
SCSI のデバイスが見えてます。ネットワークは抽象化されていて、
仮想のデバイスが、eth0 として動いています。lspci もそのまんまです。
/proc 以下の情報も普通ですが、ただ、/proc/interrupts と
/proc/ioports の様相が異なります。
# cat /proc/interrupts
CPU0
0: 1067 Hypervisor-event blkdev
1: 17603 Hypervisor-event timer
2: 0 Hypervisor-event die
3: 0 Hypervisor-event debug
4: 1053 Hypervisor-event network
5: 509 Hypervisor-event ps/2
NMI: 0
ERR: 0
# cat /proc/ioports
03c0-03df : vga+
IO ポートの仮想化は最小限、データは割り込みを使って、
独自の IO で渡されるぽい(linux カーネルの diff 見る限り)。
子カーネルのブロックデバイスへのアクセスやネットワークの
アクセスは、子カーネルのデバイスドライバへは行かずに、
ぜんぶ親カーネル(Xen VM)に丸無げなんですね。
Xen VM カーネル自体には、Linux カーネルから
ドライバ(SCSI やらネットやら)が流用されています。
grub のファイルシステムのときもそうでしたが、
最近はこういうカーネル作る時、Linux から流用するので、
開発速いんですね。
Re:デモ CD ゲトー (スコア:1)
> アクセスは、子カーネルのデバイスドライバへは行かずに、
> ぜんぶ親カーネル(Xen VM)に丸無げなんですね。
むむむ、ここを聞いただけだと、jail としては微妙に心配なような。
でも面白そうだから自分も試してみようっと。
ぱ
ナノカーネル? (スコア:2, 興味深い)
なんじゃないかって気がする。
これ [linuxjapan.com]かこれ [gihyo.co.jp]だろうな。
記事の内容はたしかDARMA [hitachi.co.jp]だったようなうろおぼえ。
やなぎ
字面じゃなく論旨を読もう。モデレートはそれからだ
Re:ナノカーネル? (スコア:2, 参考になる)
DARMA は、資源の占有の制御をするだけで、OS からすれば
ハードは直叩きなのに対して、XEN では、資源を抽象化してい
ます。
もちっとソース読んだらまた来ます。
VMwareやUMLで充分 (スコア:2, 興味深い)
最近のPCは十二分に速いわけですし。
個人的に足りないと思うのはビデオカードの
エミュレーションを高速に行う手法ですかね。
GUIを使っていてもたつくように思えるのは
その辺りが原因かと思ったりします。
# ナノカーネル方式ならビデオカードを二枚以上
# 使うとか荒業がありそうだけど、CRT/LCDが
# 二台以上使う必要があってあまり嬉しくない
# かも
Re:VMwareやUMLで充分 (スコア:2, 参考になる)
純粋に技術的興味な点から考えるとおもしろいと思います。
# しかし、この Xen の実装するには x86 のアーキテクチャ
# (特にメモリ管理)はあまり向かないと思うんだけどなぁ。
# TLB の制御できないし。
結局優れてるの? (スコア:1)
この分が何を言いたいのかよくわかりません。
自分なりに解釈したところでは
となるのですが、これでよろしいでしょうか?
でも、それってVMWareより優れてるとは言えないじゃん。
Re:結局優れてるの? (スコア:1)
と言うことですので、「VMWareを超える性能を持つオープンソースのVMが登場、かも」くらいかと。
けどVMつーとなんか別なものを思い浮かべますな。
PC/ATエミュレータとかが良いかな?
Re:結局優れてるの? (スコア:1)
しかし釣られすぎた。
Re:結局優れてるの? (スコア:0)
でも、文章が難しいっていうか紛らわしいっていうか
「性能は VMware より優れているらしく」
この部分の冒頭に「"VMとしての"」を付け加えておくべきでしょうな。
Re:結局優れてるの? (スコア:0)
ネタにネタレスなのでAC
Re:結局優れてるの? (スコア:1)
"VMWareに対して劣化していない"と読み違えていました。
どうもお騒がせしました
別の VM (Re:結局優れてるの?) (スコア:0)
Re:別の VM (Re:結局優れてるの?) (スコア:0)
Re:別の VM (Re:結局優れてるの?) (スコア:0)
Re:別の VM (Re:結局優れてるの?) (スコア:0)
さすがに、PC-9801VM21・VM11 [pc-9800.net]は忘却の彼方か。
Re:結局優れてるの? (スコア:0)
#文章が悪いのか読解力に問題があるのか
Re:結局優れてるの? (スコア:0)
VM (スコア:1)
正直なところ Linux 上で Windows が動作しても嬉しくないなぁ。
実際問題、ほとんどが Linux 単体で事足りてしまうので敢えて VM 使ってまで FreeBSD やら Windows やら他の色々な OS をつかう理由はあるんだろうか。。しかも x86 だけかな?
VM の便利なところってスケーラビリティの向上が主だと思うので、そういう意味で User Mode Linux のほうがいいかな、と思います。
Linux しか動かないけど Linux の動くマシンだったら動作するし(今のところは PPC とかくらいみたいだけど)、仮想マシンに NIC 5枚とかバカなこともできるし。とにかくいろんな環境でいろいろできる。
たしかに UML は I/O まわりは遅いので(VMWareもだけどね)その点 Xen は凄いなー、と思います。同じ GPL なので、お互いに良いところを取入れればもっと面白いものになるのではと期待してます。
# お昼休みぎりぎりなのでID。
ぱ
Re:VM (スコア:1)
パフォーマンス比較 [cam.ac.uk]を見るとその差歴然なので、
まじめにジェイル環境なホスティングとかをしようとするならば
だんぜんいいと思う。
Re:VM (スコア:1)
(FreeBSD の jail 環境 ≒ アプリケーションに対する隔離環境
という意味で書いています)
VM だと OS に対しても隔離環境を提供できるので、そういう要求を満たすためには jail では無理ですが。
x86のVM機能 (スコア:1)
Xenとはターゲットが少し違うような気もしますが、どういうものになるのか楽しみです。ファームウェアレベルで完全に独立した環境を提供するみたいに書かれていますが、ホストOSがゲストOSを制御できるような仕組みになっていればもっと用途が広がるだろうにと思いました。
Re:x86のVM機能 (スコア:0)
タイトル (スコア:0)
# くだらないのでAC
Re:タイトル (スコア:1)
訂正報告 (スコア:1)
ところで、Xenの発音は「ゼン」になるのでしょうか?
Re:訂正報告 (スコア:1)
多分。異種・異物を示す接頭辞としてxenが使われるときは、
(たいていxenoの形になるようですが)「ゼノ」と呼ばれる
ようです。gooでxenoをひくとこんな感じ [goo.ne.jp]です。
このソフトの性質からいって、これを意識しているだろうと
思います。
xenと聞くと思い浮かぶのは、オースンスコットカードの
ゼノサイド [amazon.co.jp]だったり、Wizardryのゼノ [biglobe.ne.jp]
だったりするので、こう思うわけですが。
Re:訂正報告 (スコア:0)
Re:タイトル (スコア:0)
Re:タイトル (スコア:0)
#そういえば時事ネタだなぁ。
で、 (スコア:0)
Cygwinが不要になる日もありえる?
Re:で、 (スコア:1)
「Windows上で使える便利なシェル」
として利用しているので、
仮に優れた(無償の?)VMが出現しても
けしてそれだけでは不要にはなりません。
仮想マシン (スコア:0)
VMWare って、仮想マシンだよ。
エミュじゃなくて。
大きな誤りです。
Re:仮想マシン (スコア:0)
> エミュじゃなくて。
エミュレーションによって仮想マシンを実現しているのが
VMware でしょ?
VMware って、普通の命令はそのまま実行、特権命令はフォルトで
捕獲してソフトウェアで実行、ですよね?
「エ
高速なフリーのPC/ATエミュレータ (スコア:0)
Plan9とか (スコア:0)