カテゴリー「仮想化技術」の15件の記事

2008年12月20日 (土)

VirtualBox 2.1.0

 

VirtualBox 2.1.0が出た。VirtualBoxの新しいヴァージョンは定期的に出ているから、それ自体は問題ない。今回はいつもよりも気になる機能が追加された。一つ目はOpenGLサポート。二つ目はIPアドレスを決めうちしたいときに前ヴァージョンまでで必須だったブリッジ接続の設定が不要になったことだ。

 OpenGLサポートはExperimentalな実装ということらしい。このままDirect3Dサポートまで行ってくれれば言うことなしなのだが・・・。今の段階でGoogle Earthが動くようになったといいたいらしい。

 ネットワークブリッジ作成の手間が省ける変更はすごくありがたい。ブリッジ作ると、何かWindowsは不安定になったり、納得のいかない曖昧な動きをしたりする。M$に吸収されたVirtualPCでは最初から面倒なしに仮想PCでいろいろな形態のネットワークを作ることができたが、VirtualBoxも簡単になったわけだ。これでVirtualPCを使う理由が無くなったなぁ・・・。実際に今まで動いていたDebianを新しいVirtualBoxに載せて、新しい設定で動かしてみたら機嫌良く動いた。他の仮想PCからHDDイメージをそのまま持ってこられるようにもなったらしい。

 ただ、不具合らしいものもある。LinuxのGUIが立ち上がったとき、見切れたログイン画面が出て、何度もXをAlt+Ctrl+Backspaceで再起動しないと元に戻らない。一度元に戻るとXが動いている限り画面が見きれることはないのだが、ちょっと残念なバグ(?)だ。

| | コメント (0) | トラックバック (0)

2008年3月11日 (火)

Wineで・・・

 

Wine HQというソフトがある。これはLinuxをはじめとするUnix系列のOS上でWindowsアプリケーションを動作させるエミュレータの一種である。アプリケーションから見た場合、OSの機能を呼び、正常な返事が帰ってきさえすればOSの差異など関係ないというように、wineはアプリケーションからのAPI呼び出しを変換することによって動作する。

 ここから本題。ずいぶん長い歴史を持っているのだが、最近wineは大企業からの投資を受け急成長した。最新版ではPhotoshopが動くらしいのだ。写真屋のCDが店なのでWindowsからインストール済みのファイルとレジストリの内容をパクってきて、wineで動かしたところブートロゴまでは表示してくれた。ちゃんとインストールしたら動きそうだ。マビノギもパッチクライアントが起動した。ROもパッチクライアントは動作。ちゃんとインストーラで入れれば動きそうだった。

 いや、金の力はすごいなというか、久々にソフトの機能面で感動した。

| | コメント (0) | トラックバック (0)

2007年2月22日 (木)

VirtualPC 2007 No.003

 VirtualPC 2007を試してみたところ、Linuxのブート後、ゲストのマウスの反応しない。何が問題なのか不明だが、Windows系列とOS/2のゲストではマウスも何もかも正常に動作した。ただし、DOS用の拡張機能のインストールができない。ファイルはCDイメージの中にあるのだが、インストーラやインストール用のFDDイメージが付属していないのだ。対策としてはVirtualPC 2004をインストール、その後、拡張機能用のディスクイメージをパクっておいて、アンインストール。それを使って拡張機能をインストールするのだ。で、新しいファイルを上書きコピーする。ドライバのオプションなどは同じらしく、問題なく動作している。

| | コメント (0) | トラックバック (0)

2007年2月21日 (水)

VirtualPC 2007 No.002

 あれれ?早いような気がする・・・。VirtualPC 2004 SP1にインストールしたOS/2 Warp4とかWindows 2000とかを動かしたのだが、ストレスを感じない。休憩時間に試しているので、手元にLinuxがないからVirtualBOXとの速度比較ができていないけど、VirtualPC 2007がこれではVMWare Server 1.0が最下位という感じ。VirtualBoxはオープンソースなので、速い動作の速いところを参考にして、VMWareがそれを取り込むことは容易だろう。登場して間もない頃のPC仮想化ソフトはどれだけPCを再現できるかというところがポイントだった。が、その次では使い勝手の改善が求められた。いろいろと動くようになって、使い勝手も向上したから、ようやくパフォーマンス改善が実施され始めたって感じか。何はともあれ、ようやく実用に耐えるレベルになりつつある。今後も要チェックだ。

| | コメント (0) | トラックバック (0)

2007年2月20日 (火)

VirtualPC 2007

 VirtualPC 2007の無償ダウンロードが開始された。とりあえずダウンロード。まだ試していないが、VirtualBoxを超えることは・・・できないんだろうなぁ・・・。VMWareやVirtualPC、VirtualServerなんて目じゃない快適さだったから・・・。

| | コメント (0) | トラックバック (0)

2007年1月24日 (水)

InnoTek VirtualBox 1.3.2

 さて、先日新しいPC仮想化ソフトがオープンソース化された。InnoTek VirtualBox 1.3.2である。ダウンロードだけして放置していたのだが、現在CentOS 4.4をインストール中。で、このVirtualBox、並み居るPC仮想化ソフトの中で最高性能かもしれない。Virtual PC、Virtual Server、VMWare Serverといった代表的なPC仮想化ソフトに比べて、Linuxカーネルが起動する速度がまったく違う。体感速度で倍どころではない。VirtualBoxの方が明らかに高速だ。マウスカーソルも他のPC仮想化ソフトみたいにガクガクすることなどなく、ストレスを感じない。マウスの動きだけでなく、他のすべての方面において、インストール中の速度ではあるが、ストレスを感じない速度である。まだインストールが終わっていないので、これ以上の検討はインストールが終わってから。今度こそPC仮想化ソフトの決定版となれるソフトが登場してくれたんだろうか。期待してしまう。

| | コメント (0) | トラックバック (0)

2006年9月27日 (水)

4コア?の世界

 いよいよIntelが4コアプロセッサ試作の発表を行ったらしい。そして、80コアプロセッサのTFLOPSプロセッサ開発計画も発表された。いよいよだねぇ・・・。じきに有り余る計算能力を湯水のように消費する並列処理時代が到来だ。一プロセス一プロセッサとか。今、4物理CPUマシンで8論理CPUぐらいまでが個人でもてるパソコンの限界だ。ということは8コア以上ぐらいで要約今までのパソコンと違う世界が体験できる計算になる。コンピュータで行われるすべての処理は、ある解を求めるために有限時間内に完了する一連の処理である。ということは、計算上解を求めることが可能であることがわかっていても、許せる時間内に解が求められなければ、それを処理として採用することはできない。逆に言うならば、新しい計算機において今まで有限時間内に完了できなかった処理が完了できるようになれば、それは新しい解を求める手段となり得るのだ。その処理に特に分散処理が有効な場合は、積極的にその処理を採用できる。80コアプロセッサみたいなのがデスクトップに降りてくるのがいつかは知らないが、確実に新しい時代になるのではないだろうか。まあ、そのプロセッサを遊ばせないだけのデータ供給や個人での利用でそんなパワーが必要とされているのか問題もあるけれど・・・。前もいったけれど、やっぱり、OSごとソフトを配布して依存関係とか相性を排除するようなシステムを商品にするまでに持って行くべきだ。古いソフトが動かないとか、なんかしらんがうちじゃ動かないみたいなアホな依存をなくし、ハングしても仮想マシンを即刻切り離しデータを保護するシステム。ソフトウェア同士の相性とか無視して、確実に動くシステム。魅力的だと思わないか。このシステムなら、持っているOSやハードウェアに制限されることなくアプリケーションが利用できる。携帯電話のアプリもWindowsのアプリも、Linuxも、前世紀のゲーム機すらも古今東西何でもかんでも仮想マシンに閉じこめてしまえばいいだけなのだから。CPUパワーが有り余っているなら実用的なシステムにできるに違いない。

| | コメント (0) | トラックバック (0)

2006年9月24日 (日)

Virtual Server 2005 R2とVMWare Server 1.0

 Microsoft側のサーバ・クライアント型のPC仮想化製品Virtual Server 2005 R2が無料利用可能となった。VirtualPC 2004は時代遅れだったので、これでようやくM$とVMWareが同じ土俵に上がれたことになる。Virtual Server 2005 R2とVMWare Server 1.0だけが、今のところライトユーザーでも手軽に利用できるPC仮想化製品である。まず、サーバ側について。VMWareは専用のサーバを持っている。一方、Virtual Serverは専用のサーバに加えて、IISを必要とする。IIS無しでも動くのだが、各種細かな設定を行う場合はIISが必須となっている。結論から言うと、IISがないとまともに動かせないと思っておいた方が良さそうだ。私の環境ではVMWareはダウンロード時のアーカイブの破損さえなければあっさり動いてくれた。しかし、Virtual ServerはIISのインストールトラブルに遭遇したり、インストール後に管理用のWebアプリに接続できない問題が出たりと、どうも荒削りな感じがする。あっさり動いてくれる環境ではあっさり動いてくれるんだろうけど・・・。クライアントはVMWareは専用クライアントで、あっさりサーバに接続できた。Virtual Serverはブラウザを利用してサーバにアクセスできる。ただし、Firefoxでは正常にWebアプリが利用できなかったため動作しなかった。InternetExplorer限定だ。専用のクライアントもついているのだが、こちらはまともに動かすことができなかった。ちゃんと接続先を指定しているのだが、「接続なし」という何の追加情報もないメッセージがクライアントのど真ん中に表示されるだけだ。Virtual ServerはVirtualPCの仮想マシンデータがそのまま利用できる。ただし、サウンドの仮想化が行われていない。よって、ゲームやマルチメディア系列のソフトをターゲットとした利用は想定されていない。VMWareは音も出る。どちらの製品もグラフィックスカードの3Dアクセラレーションが利用できない。VMWareは限定的に利用可能だが、設定ファイルを直接いじらなければならない。VMWareはLinux用が用意されているが、Virtual ServerはWindows版だけ。今のところ、両者は一長一短だが、個人的な環境の問題を考慮すると・・・VMWareの勝ちか。

| | コメント (0) | トラックバック (0)

2006年8月29日 (火)

マルチコアCPUの普及とソフト開発

 インテル、マルチコア対応ソフト開発を支援するツール群を発表へという記事が。私は以前からCPUの並列実行性能が向上しても、それを有効に使うことのできるアプリケーションがなければダメであるということを書き続けてきた。OSがマルチコアに対応したとか、ハイパースレッディングに対応したとかということは特筆すべきことではないと思う。近代的なOSが並列実行のための機能に対応するのは当然のことだ。むしろアプリケーションがその計算能力をどこまで有効に利用できるのかという点が最も重要なのではないだろうか。Javaや.Net Frameworkといった環境には並列・分散処理用のライブラリが用意されている。しかし、それら機能を積極的に利用するアプリケーションがどれだけあるだろうか。自分はかなりJavaやってるぞ、みたいな人でもスレッド周りや新しく追加されたjava.util.concurrentパッケージまで使える人は少ないのではないだろうか。.Netでは登場当初からライブラリが提供されていてサンプルも多いが、それでも実用的な実践記事みたいなものにはあまりお目にかかれない。Javaの解説サイトでも古くからあるスレッド周りのクラスの解説だけで満足してしまっていることが多い。コンソールに0と1を出すサンプルをマスターした程度で実際に使えると思ってるのか、と。私が仕事で分散処理の設計と開発をやったときも、結構大きな現場だったのだが、他に同等のことをできるという人は全然いなかった。少々やっかいな同期バグの発見のため協力を求めたときも、いろいろなコードをみてきて経験年数がダントツだというプログラマ上がりのSEといのが出てきたのだが、差し障りのない常識的なことを言うだけで何の役にも立たなかった。挙げ句の果てに、要所要所にSystem.outを入れてデバッグするのがいいとかいう。アホか。コンソールに文字出したらそこに同期処理入れたのと同じだろうが。それではどこが問題になっているのか発見のしようがない。並列・分散処理でSMPマシンと1CPUマシンでの実行結果に差が出るというのを理解できない気配も・・・。結局、デバッグにSMPマシンを使わせてもらえなかったり、時間もなかったりと、ソースを一心不乱に眺めて自力で解決。ミーティングとかで時間を無駄にした。私以外メンテできるか、激しく微妙である。メンテできないコードはあまりよろしいものではない。私が抜けた後どうなっただろう・・・。今回、ニュースになっているようなライブラリをうまく使いこなせれば、このような状況で、メンテの心配もすることない優れたコードを手に入れることができるだろう。今後、CPUのコア数増加などで並列・分散処理がメジャーになり、必要とされる場面もますます多くなるに違いない。そのせっかくのCPUパワーを待機状態で腐らせるのは惜しい。よりシビアになるソフトウェアに対する要求の中には実行速度も含まれる。そのとき、分散・並列処理が有効そうな場合に、迷わず選択できるか。どうだろう。

| | コメント (0) | トラックバック (0)

2006年7月17日 (月)

VirtualPC 2004 対 VMWare Server 1.0

 VMWare Server 1.0インストール成功。error 1335でインストールが失敗する現象は・・・知らないうちに直った。VirtualPCの動作不良と違って、Sygate Personal Firewallが原因ではない。気持ち悪いがインストールできたので、まあ、よしとしよう。
というわけで、二大PC仮想化製品が動くようになったわけである。先日、比較した項目以外にどのような差があるだろうか。ちなみに、M$からもVirtual Serverというサーバ・クライアント型のVMWare Server的な仮想化製品が出ている。しかし、今回の比較の前提条件は無料利用が可能である製品とさせてもらう。よって、無視。まあ、はじめよう。
まず、Windows Vistaを入れようとして気がついた点。VMWareはVistaのDVDイメージから起動してインストール可能だった。ところが、VPCではエラーになって、VistaのISOイメージを扱うことができなかった。ISOイメージのファイルサイズに関する制限に引っかかっているようだ。VPCでもファイルサイズが条件を満たしているISOイメージを食わせてやれば受け付けてくれるかもしれない。結局、DAEMON ToolsでVistaのISOイメージをマウントして、そのドライブをVPCから参照してあげることによって起動できた。
両者のハードウェア構成にも差がある。双方ともに、ゲストOSからみたときに各種ハードウェアが仮想PCにつながっているように見える。VMWareの場合は何かと互換があるのだが、オリジナルっぽいハードウェアに見える。使った感じではそれらに対応したドライバがなければうまく動かないようだ。特にサウンドデバイスがうまく動作してくれなかった。SoundBlaster互換とかいてあるのだが・・・。まあ、ドライバさえ用意できれば普通に動いてくれる。一方のVPCでは枯れた古いデバイスを仮想化している。S3 Trio 32/64 PCIとかSoundBlaster 16とかDEC 21140A 10/100とか。これらは古いけれど有名なので、たいていのOSでドライバが用意されている。しかし、最新のOSを試験的に動かしていろいろと実験したい場合やゲームを動作させたい場合など、特にビデオ周りで古いハードウェアであるが故の制限を受けてしまうことも多い。VMWareとVPC双方ともにビデオデバイスでハードウェアアクセラレーションを期待したアプリケーションは動作しない。VMWareでは試験的ながらサポートしているのだが、実用レベルとはいがたかった。VMWareはUSBをサポートしているがVPCはサポートしていない。VMWareはディスクのインタフェースにIDEとSCSIを利用可能。VPCはIDEのみ。VMWareはデュアルCPUを仮想化できるが、VPCはできない。ただし、VMWareのデュアルCPUの仮想化機能が、タイミングなどまで考慮したり、どの程度真に迫ったものなのか不明。ネットワークデバイスの数は両者ともに四枚まで制御可能。VMWareのハードウェア構成変更機能の方が実際のPCに近い。なんというか、パソコン開いてカードの抜き差しを実際にやってる気になれる。VPCはチェックボックスでON/OFFするだけなのでイマイチそれっぽくない。好みの問題か。様々なデバイスをいろいろな構成で試してみたいならVMWare。必要最低限のデバイスを手軽に確実に動作させて使いたいならVPCか。
VMWareには実行中仮想マシンのスクリーンショットをとる機能がある。ファイル名をつけてそのまま保存できる。しかし、VPCにはないので、Windowsの標準動作であるAlt+PrtScキーでウィンドウのスクリーンショットをとって、それを画像処理ソフトにペーストし、名前をつけて保存しなければならない。
ホストと仮想マシンの両方がWindows使用時の親和性に関してはVPCがダントツだ。ドラッグアンドドロップでファイル転送ができたり、ホストのディレクトリをドライブとして共有できたり、ホストでコピッたクリップボードの内容を仮想PCに持ち込んだりできる。これら機能は激しく便利。仮想マシンで動いているOSに関して、Windows(Windows3.1含む)だけではなくDOSやOS/2でもこれら便利機能は利用可能。
VMWareはヘルプなどが英語で提供される。VPCは日本語。日本人的にはこの点に関してVPCの圧勝。まあ、言語を気にしないならば特に問題とはいえないが。オンライン上の情報としてはVPCの方が充実しているような気がする。Windows+Linuxユーザ数とWindows+Macユーザ数の差かもしれない。後者の方が人数は多かろう。
VMWareにはプログラマ用のI/Oとライブラリが用意されている。ちょっとハードに遊ぶにはVMWareの方がいろいろできそうだ。
どちらも私が使った範囲ではいきなり死んだりすることもなかった。まあ、VMWareもVPCも一長一短で甲乙つけがたいが、ライトで手軽に使いたいならVirtualPC 2004で、柔軟にいろいろな使い方をしたいならVMWareといった感じか。

| | コメント (0) | トラックバック (0)

2006年7月14日 (金)

VirtualPCとSygate Personal Firewall

 いい機会なので本気で調べてみた。VirtualPC 2004のゲストOSがネットワークデバイスをアクティブにした途端、ホストOSのネットワーク機能が変調をきたし、ホストOSでネットワークデバイスの状態を調べるとハードウェアエラー(Hardware error)となり、再起動しなければ復帰しない問題である。以下の情報で解決だ。The host computer and virtual machines intermittently lose network connectivity after you install Virtual PC 2004。なるほど、Sygate Personal Firewallが悪いのか。Sygate Personal Firewallを停止してから実行してみたところ問題は発生しなかった。なお、新しく無料公開されたVirtualPC 2004 SP1とCD-ROMで提供されているパッケージ製品版のVirtualPC 2004にSP1を別途あてた場合とで、インストール時の挙動が異なっている。CD-ROM版から入れるとコレが発生する。もう、意味不明である。まあ、基本的には同じものなので無償公開版を使うとするか。教訓。Googleだと各社の保有する知識情報のデータベースの情報は引っかかってこない。そして、日本語よりも本場米国の情報が役に立つ。この二点は今後真っ先に注意していきたいものだ。

| | コメント (0) | トラックバック (0)

VMWareとVirtual PCとバグなどの話

 二大PC仮想化製品が無料利用可能になった。一つはVMWare Server、もう一つはVirtual PCである。Virtual PCはM$に買収されてそのまま朽ち果て、次世代サーバOSにその技術が吸収されておしまいかと思っていたのだが、どうやらVirtual PC 2007がリリースされるらしい。現行の2004が無料化され、2007も同様の形態で提供されることになるらしい。対するVMWareもすでに無料化されている。昨日正式版が公開されたばっかりのVMWare(そして、VPCも同じ日に無料化された。)が、現状では機能的にVPCの上をいっている。もっとも異なる点は、VMWareはサーバで仮想マシンが実行され、クライアントがその結果を出力するというスタイルを取っている点だ。VPCは一つのプログラムで閉じて動作する。VPCは製品の買収後、バグ修正を一回したきりで放置されていたため出遅れている。VPCは総じて今更感がある。VMWareはサーバ仮想化用途に持っていた製品をVMWare Serverとしてデスクトップ利用にも持ってきたようだ。まあ、主な部分がほとんど同様の製品を多数維持管理するのは大変だろうから、当然の成り行きなのかもしれない。VMWareはLinuxとWindowsで動作するが、VPCはWindowsとMacで動作する。両方ともWindows以外に別途一つのプラットフォームをサポートしているわけだ。サーバの仮想化という観点から見るとVMWareのLinuxサポートは、VPCのMacサポートよりも有利といえる。MacはIntelのCPUに移行したので、VMWareも何かしら動くかもしれないが・・・。他にはMVWareはUSBをサポートするが、VPCはサポートしない(Mac版のみサポートしている。)。そんなVPCだが、一部ユーザーにとってかなりうれしい特徴があるのだ。それはOS/2が動作すること。かつてOS/2はIBMとM$の製品だったわけで、VPCで過去資源の救済を(ちょっとだけ)行うつもりなのかもしれないM$としては、OS/2が動くのは当然とはいわないまでも顧客へのいいわけになるのだろう。VMWareだと、なぜかOS/2がブートしてくれない。NTはブートするのに・・・。そんなわけで、私はVPCの製品版を持っている(VMWare Serverも持っている。VMWareも買おうかと思っていたのだが、買わなくてよかった。)ので、いろいろと仮想マシンのディスクイメージをため込んでいる。DOSからWindowsMeまでのWindows、OS/2 Warp V3/V4、Slackware Linux、FlashMob、FreeBSD、Solaris、QNX、Plan 9・・・。古いソフトを使いたくなったり、何か実験をしたいときに重宝する。激烈に重いところが仮想マシンの欠点だ。あと、DirectXなどのグラフィックスカードのハードウェアアクセラレーションが使えない点。自作ゲームの動作確認とかが行えたら最高なんだけどなぁ・・・。VMWareは一部サポートしているらしいのだが、私が試した感じではとても実用的とは言い難かった。VMwareにはVPCのデータを移行するためのツールがあるのだが、バグなのかわからないが使えなかった。個人の作った移行ツールが公開されているのだが、そちらは動作した。
バグといえば、私の所有するパソコンでは何故かVPCのネットワーク機能が正常に動作せず、VPCを動かしているマシンのネットワークにまで影響を与えてネットワークカードがハードウェアエラーをだして停止するという問題がある。Microsoft Loopback Adapterを入れるといでさくのblogに書いてある。いろいろ調べたのだが解決できなかった問題で、確かにMicrosoft Loopback Adapterを入れてから、VPCをインストールしてみるとインストーラがネットワークデバイスのインストールに失敗したというメッセージを出すこともない。Microsoft Loopback Adapterに関する話は知っていたが、ヘルプには「オペレーティング システムで物理ネットワーク接続が使用できない場合」に設定しろと書いてあるだけで無関係かと思っていた。物理ネットワーク接続はあるじゃないか。おまけに、インストール失敗後に表示されるメッセージは、再起動してから仮想ネットワークドライバを手動で入れろというもので、Microsoft Loopback Adapterについて言及はない。手動で入れるとエラーもなしに完了する。でも、動かない。謎だ。ちなみにMicrosoft Loopback Adapterを入れても結局動作しない模様。未解決だ。>解決編
そして、ベータテストを終えたばっかりの正式版VMWare Server 1.0にも問題が発生している。私の環境だと正常にインストールできない。Data1.cabが見つからない云々(Error 1335)というインストーラでたまに見かける誤動作でインストールを完了できない。このバグ(?)はJavaのSDKやランタイムで遭遇して地獄を見た経験がある。結局、バグ報告だかなんだかに上がったらしく、次のヴァージョンで修正されたようだった。今回もすぐに修正が出るといいのだが・・・。最悪、新しいヴァージョンのインストーラが停止した段階で全部コピーして、インストールを終了。その後、古いのをインストールして、インストールを完了させてから新しいので上書きとか・・・。この方法だとレジストリやファイル構成に新旧の食い違いが出た段階でどうしようもなくなるという問題もあるのだが。問題が発生した以降のファイルが古いままだという致命的な欠点もある。まあ、おとなしく放置か。
まあ、私にとって仮想マシンでいろいろ動かすのは単なる遊びなので、動くのが出るまで待ってもいいのだが。欲を言えば、Win98とMeの修正をあてたかったなぁ・・・。VPCが動く頃には、修正が提供すらされていないという悲しいことになっているかもしれない。
他の仮想化ソフトで有名どころはBochsとかXenとかHerculesとか・・・。XenはLinux専用で、RedHatやSuseをはじめとして大規模なディストリビューションが標準で組み込んでくるなど大勢力になっている。現行でVMWareやVPCと唯一対抗できる仮想化製品だ。Bochsは・・・なんというか中途半端。Herculesは確か一般ユーザ無視の汎用機特化。

| | コメント (0) | トラックバック (0)

2006年2月10日 (金)

VMware 其の二

 というわけで、VMwareの使用感。気になるホストのリソースをどれだけゲストで使用するかのバランス設定はできない模様。メモリの量は決定できるのだが、CPUパワーの割り当てはできないようだ。何でだろう。仮想マシンを複数動かしたときにそれぞれのスペックを個別に設定できてもいいと思うのだ。ホストCPUのパワーのうち仮想マシンAには20%、Bには50%、残りは常時ホストのためにキープとか。仮想マシンA?Eに基本10%づつで、残り50%は特に重くなった仮想マシンのために予約とか。こういうことができるとずいぶん便利に使えると思う。まあ、まだまだ改善の余地がある技術なのは間違いない。ここのところ、妄想も含めてそっち方面の話題を多く書いてしまった。もしかして、仮想化好きなのか私は・・・。謎。

| | コメント (0) | トラックバック (0)

2006年2月 9日 (木)

VMware

 VMwareの次期製品ベータ版がフリーで公開された。私はVirtualPCのWindows版を所有しているのだが、WindowsNTやそれ以降、Linux、OS/2といった32bitのOSを動かすと異様に重い。DOSやMe以前のWindowsなら何とか動く。しかし、OS/2が確実に動く点は重要なのでVitrualPCを購入した。ところが、VirtualPCはM$に買収されそれ以降最新版が出なくなって久しい。いつもの邪魔者を買収して潰すという攻撃の対象になったようにしか見えない。機能的に何が不足しているというわけではないのだが、せめてMac版と同じヴァージョンにしてから開発を放棄してほしいものだ。Windows版だけヴァージョンが古いというのはムカつく。まあ、それは兎も角、VMwareだ。以前、試用版にOS/2をつっこんでみたところ動作しなかったのでそれっきりになっていたのだが、ベータ版だけでなく次期製品も無償となれば話は別だ。早速ダウンロードしてベータテストってみた。Slackwareを放り込んでみたがVMwareはVirtualPCより全体的に高速に動作しているように見える。ただし、Xを立ち上げるとVirtualPCよりガクガクする。調子がいいようならば、khnum.no-ip.orgも仮想化すればもっとすっきり管理できるかもしれない。まだ、Slackwareを動作させただけなので何ともいえないが、仮想マシンごとに負荷のバランス設定とかできるなら採用決定かもしれない。まあ、khnum.no-ip.orgはメインメモリが640MBで少々不安だが、買い足して1Gに持って行けば何とかなる・・・かな。本体はルーティングだけに使って、ファイルサーバ、Webサーバ、アプリケーションサーバ、データベースサーバを仮想化・・・多いな。256MBのメモリを割り当てるとして、単純計算で1G。本体の確保分を考えるとあふれてしまう。本体をもう一台買い足して分担させるという選択肢もあるが、個人で1Uサーバ二台をラックに並べるのはかなりピヨピヨちゃんだ(中古のブレードサーバを一瞬買おうとおもってしまった。)。次買うだろうデスクトップマシンはマルチコアのCPUを積んでメモリも大量だろうからデスクトップとサーバを同居させるとか・・・。それでもゲーム動かしたら即死しそうだ。残念だが、おとなしく今のままが一番かもしれない。

| | コメント (0) | トラックバック (0)

2006年2月 3日 (金)

仮想化と環境依存地獄

 WindowsでもLinuxでも他のどんなOSでも、ある環境では動作して他の環境では動作しないソフトウェア(アプリケーションとOSの両方、デバイスドライバ等)というものがある。まったく同じパソコン本体に同じOSを入れて同じように設定しているはずなのに、一方でだけ動作するという現象もある。こうなるとソフトウェアを普段開発している人間でさえ手も足も出なくなる。どれだけ調べても原因不明だ。マニュアルを見ても、原因不明の理由にて動作しない場合、OSを入れ直して再度インストールを試みよと書いてあることも・・・。環境差を吸収し、ソフトウェアとハードウェアの互換性を保ちすべてを確実に動作させるのがOSの仕事なのだが、上手に動作してくれないことは珍しいことではない。私が今遊んでいる唯一のゲームであるラグナロクも例外ではない。私は単にゲームがしたいのであって環境設定を調整してゲームを起動させたいのではない。こういう状態において仮想化技術が役に立つのではなかろうか。例えば、ハードウェア制御部分と仮想化部分のみをOSは提供する。アプリケーションは自分が確実に動作するOSと仮想的なハードウェアを含めて提供する。アプリケーションに含まれるOSはソフトウェア開発キットのライブラリとして提供することになるだろう。イメージ的にはファミコンか。ユーザはソフトウェアをハードウェアであるたくさんのカセット的なものとして、差し替えて利用する。複数のアプリケーションを実行するところは、今までのようにOSが勝手にやってくれればいい。あくまでこの場合のカセットはソフトウェアなのだから。個々のアプリケーションはそれぞれに持っている仮想的なハードウェアとそれにインストールされたOSで実行される。いや、ファミコンカセットというより、テレビとゲーム機の関係か。テレビにいろんなゲーム機をつなぎ変えて遊ぶ。この場合、コントローラは共通化できていないが。ボタンのやたらに多いコントローラと変換器があればいいわけだ。キーボードはボタン数だけは多い。キーの組み合わせも使うとすれば、使いやすさを度外視すればどんな場合にも対応可能だろう。ゲーム機の電源を入れたままでビデオ端子をつなぎ変えれば他のゲームの続きもできる。他のゲームを遊びたくなったら勝手につなぎ変えてくれる機能がついている。ビデオ端子とコントローラ変換器、テレビ本体、ゲーム機つなぎ換え機能がOSに相当することになるか。機能追加が必要だとすれば、ゲーム機間のデータ移動か。これはいくらでも何とでもなる。ゲーム機つなぎ換えは、かなりイメージに近い。古いソフトウェアが動作しないという悲しい現実にも対処できる。きっちり仮想化されたハードウェアさえ提供できれば、ソフトウェアからみれば仮想なのか実機なのかは区別できない。実行性能とアプリケーションを提供するためのデータ量に少々問題が出るかもしれないが、高性能化でいくらでも改善可能だ。乱暴な話、アプリケーションを倍の速度で実行したければ、倍の速度を出せるハードウェアを用意すればいいだけの話なのだ。誰かが今からスパコンでもなんでも使ってこのOSを作ってくれないものだろうか。時間がたてばパソコンも追いついてくる。それに仮想ハードウェア上のOSに要求される機能もそれほどいらないかもしれない。手持ちのアプリケーションが巨大なOS機能の全部を使っているだろうか。GUIの見た目さえよければ、DOSや携帯情報端末に搭載された程度のOSでアプリケーションにとっては必要十分である可能性もある。アプリケーションによってはマルチタスクOSで動かす必要すら不要に思える。現に携帯電話や携帯情報端末上で立派なアプリケーションが動いている。ハードウェアのパフォーマンス、UIやデータ量の制限等の苦労から解放されれば、あのレベルでより実用的なレベルに到達可能だろう。正直、ソフトウェアのインストールとか設定とか対応機種とか、もううんざりである。しかし、パソコンを使っている以上逃れられない。Java仮想マシンには期待したが、クライアントアプリケーション方面で活躍の場を失って久しい。Java仮想マシンでは現状をどうにもできなかった。VirtualPCやVMWareはおしいところまでいっているが、少々違う。おまけにVirtualPCはM$に買収され、このまま闇に葬られそうだ。オープンソース陣営の仮想化ソフトは遊ぶ以上には使えない。Xenもちょっと違うし。おまけに全体的に低いハードウェアスペックを仮想化している。実行速度は我慢するとしても、一番過酷なハードウェアスペックを要求するだろうゲームが動作する程度でなければ実用とは言えまい。似て非なる種類がいっぱいあるWindowsとPC/AT互換機、CPUを変えながらやってきたMac、仕事で使えるレベルになってもやっぱりマニアのおもちゃで移植されまくりなLinuxやFreeBSD、日本のパソコン業界を築き上げた名機PC-9800シリーズとDOS、ちょっとマニアイメージX68000、黒と緑が目に痛いMZ-80、よってたかってファミコンに負けたゲーム機パソコンMSX、Apple ][、ファミコン、PS2、PSP、バーチャルボーイでもなんでもいいじゃないか。私は特にハードウェアにこだわりがあるわけではない。使いたいソフトが簡単に使えればいいのだ。誰かどうにかしてくれ。

| | コメント (0) | トラックバック (0)