2009年12月15日火曜日

(FreeBSD) KQEMUは終了ってことらしい

今日、/usr/ports/UPDATINGを見て気がついたんですが、こんなことが書かれていました。



(Webでは、UPDATINGはどうやってリンクすればいいんだ?cvswebでいいか)



http://www.freebsd.org/cgi/cvsweb.cgi/ports/UPDATING.diff?r1=1.872;r2=1.873;f=h

20091206:
  AFFECTS: users of emulators/qemu
  AUTHOR: nox@FreeBSD.org



  The port has been updated to 0.11.1, which no longer enables kqemu
  by default (if built with the kqemu knob on), now you have to also
  pass -enable-kqemu (or -kernel-kqemu as with the previous versions)
  if you want to use it.  Also note the 0.11 stable branch is the last
  qemu branch that still supports kqemu, so if you depend on reasonable
  fast emulation on FreeBSD you should start looking for alternatives
  some time soon.  (virtualbox?)


kqemuというのは、qemuで、x86のエミュレーションをするときに、飛躍的に実行速度が向上するカーネルモジュールです。
とても重要な機能だと、私は思ってたんですが、そのkqemuをサポートするのは、qemuのバージョン0.11系列で終了する、と言ってます。



えー!?どういうこと???
これ以降のバージョンのQEMUでは、kqemuが使えなくなっちゃうのですか!!!



・・・とビックリして、QEMUのWebサイトを眺めてみても、とくにそれらしい情報が見つからなかったので、メーリングリストの過去ログを斜め読みしてみました。



たくさんのメールがあるのですが、だいたい、このあたりが参考になるかな~?



http://lists.gnu.org/archive/html/qemu-devel/2009-06/msg00019.html
[Qemu-devel] Killing KQEMU





http://lists.gnu.org/archive/html/qemu-devel/2009-06/msg00151.html
[Qemu-devel] POLL: Why do you use kqemu?





http://lists.gnu.org/archive/html/qemu-devel/2009-12/msg01394.html
[Qemu-devel] Re: [PATCH 1/2] Unbreak large mem support by removing kqemu





http://lists.gnu.org/archive/html/qemu-devel/2009-11/msg01006.html
Re: [Qemu-devel] bug report with kqemu on AMD 64


私が、超斜め読みして解釈してみた結果、なんとなくこんなことかな、と思ったのは、こんなこと。

LinuxのKVMを使えば、KQEMUを使った場合よりも、安定していて、かつ、高速に、QEMUでエミュレーションできる。


KQEMUのせいで、x86エミュレーション機能に、いろいろと制約がついてしまって、今後のQEMUの開発のあしかせになる。



へー、今はそういうことになってるんだ、と、私、はじめて知りました。



KVMについては、ここを参考にしました。



http://itpro.nikkeibp.co.jp/article/COLUMN/20071115/287236/
Linuxカーネル標準の仮想化機能KVM
プロセッサの支援機構とSPTで仮想化を実現



KVMは、仮想化を支援するプロセッサの機能(IntelならVT-x、AMDならAMD-V)が必須なんだそうですが、まあ、ここ最近発売された、安物ではない[E:coldsweats01]プロセッサならサポートしています。



Windows7でXPモードを使うときは、VT-x、AMD-Vが必須らしいので、少なくとも、今後発売されるパソコンのほとんどでは、サポートされることでしょうね。



問題は、KVMは、FreeBSDでは使えない、ということ。
・・・と思ったんですが、なにやら、ここで、移植したよ、という話も出てる。



http://retis.sssup.it/~fabio/freebsd/lkvm/
Linux KVM on FreeBSD



一方、こんなのもあるんですが



http://www.linux-kvm.org/page/BSD
KVM on BSD



これは、どうみても、kqemuのことが書かれているんですが、FreeBSDのkqemuってKVM相当のものなんですかね・・・?


まあFreeBSDでのKVMについてはよくわかんなかったんですが、FreeBSDの場合、このままでは、

今後はQEMUではなく、VirtualBoxを使えば、VT-xも使えるので、VirtualBoxを使えばいいんじゃない?

ってことになりそうな感じです。


えーとですね、というわけで、VirtualBoxを使ってみました。
ためしにWindows XPをインストールしてみました。



すごく快適に動きました。



今使ってるパソコンとは別のパソコンでの話ですが、2年くらい前、qemu+kqemuで、Windows XPを動かしたときよりも、格段にキビキビと動きました。すごいよ、VT-xの効果は。


というわけで、エミュレーション、仮想化、そういったことをしたかったら、古いパソコンは捨てて、いまどきのパソコンにしたほうがいい、ってことなのかもしれないです。



0 件のコメント:

コメントを投稿